ИНТЕРФЕЙСЫ ДЛЯ ОБРАБОТКИ ЦИФРОВЫХ МУЛЬТИМЕДИЙНЫХ ДАННЫХ

1. Машиночитаемый носитель (704), запрограммированный исполняемыми компьютером инструкциями (706), которые при исполнении процессором (702) выполняют способ (500) для подготовки мультимедийного содержимого (122) к презентации, где мультимедийное содержимое можно получить от мультимедийного источника (304/324) в виде множества элементов (407) мультимедийного содержимого, и где способ содержит этапы, на которых:
определяют (502) участок (432) первого запоминающего устройства (430), распределенного для хранения элементов мультимедийных данных, принятых от мультимедийного источника;
определяют (504) первый элемент мультимедийных данных, принятых от мультимедийного источника;
определяют (506) первую ячейку запоминающего устройства для данного первого элемента мультимедийного содержимого в распределенной части данного первого запоминающего устройства;
создают (508) первую структуру данных, связанных с первым элементом мультимедийных данных, причем данная первая структура данных имеет поле для хранения информации о данной первой ячейке запоминающего устройства; и
размещают для раскрытия (510) первую структуру данных в аппаратном компоненте (404/490), имеющем второе запоминающее устройство (433), информацию о данной первой ячейке запоминающего устройства, полученную из данной первой структуры данных, пригодной для использования (512) данным аппаратным компонентом для прямого доступа к первому элементу мультимедийных данных из первого запоминающего устройства без использования центрального процессора.
2. Машиночитаемый носитель (704) по п.1, в котором участок первого запоминающего устройства, распределенный для хранения элементов мультимедийного содержимого, принятых от мультимедийного источника выбирается из группы, состоящей из: непрерывной физической памяти, замкнутой физической памяти с механизмом "компоновка-разбиение", незамкнутой физической памяти с механизмом "компоновка-разбиение", кэшированной виртуальной памяти, и не кэшированной виртуальной памяти, и где информация о первой ячейке запоминающего устройства, раскрываемой первой структурой данных выбирается из группы, состоящей из: вида данного первого запоминающего устройства; размера блока памяти данного первого запоминающего устройства; местонахождения указателя на данное первое запоминающее устройство; и местонахождения смещения первой ячейки запоминающего устройства относительно указателя на данное первое запоминающее устройство.
3. Машиночитаемый носитель (704) по п.1, в котором участок первого запоминающего устройства, распределенный для хранения элементов мультимедийного содержимого, принятых от мультимедийного источника организован как кольцевой буфер (420), где кольцевой буфер имеет начальный блок (439) памяти и конечный блок (441) памяти.
4. Машиночитаемый носитель (704) по п.3, в котором начальный блок памяти дублируют, используя виртуальную память (450), после конечного блока памяти.
5. Машиночитаемый носитель (704) по п.4, в котором способ дополнительно содержит следующие этапы:
когда первая ячейка запоминающего устройства включала бы в себя начальный блок памяти и конечный блок памяти первый участок данного первого элемента мультимедийного содержимого сохраняют в конечном блоке памяти, а второй участок данного первого элемента мультимедийного содержимого сохраняют в начальном блоке памяти, дуплицированном с использованием виртуальной памяти.
6. Машиночитаемый носитель (704) по п.3, в котором данный кольцевой буфер (420) реализован с применением начального указателя (453) для установки начала используемой памяти в кольцевом буфере, и конечного указателя (455) для установки конца используемой памяти в кольцевом буфере, и в котором этап определения первой ячейки запоминающего устройства для первого элемента мультимедийного содержимого в распределенном участке первого запоминающего устройства содержит определение смещения первого элемента мультимедийного содержимого в данном кольцевом буфере, и в котором данное смещение задают относительно данного начального указателя или данного конечного указателя или и того и другого.
7. Машиночитаемый носитель (704) по п.6, где способ дополнительно содержит этапы, на которых:
освобождают первый элемент мультимедийного содержимого из первой ячейки запоминающего устройства посредством перемещения начального указателя или конечного указателя, или и того и другого, после передачи первого элемента мультимедийного содержимого.
8. Машиночитаемый носитель (704) по п.6, дополнительно содержащий этапы, на которых:
определяют множество элементов мультимедийных данных, принятых от мультимедийного источника;
определяют ячейки запоминающего устройства и смещения в кольцевом буфере для каждого из множества элементов мультимедийных данных;
создают структуры данных, связанных с каждым из множества элементов мультимедийных данных, где каждая структура данных имеет поле для хранения информации о ячейке запоминающего устройства отдельного элемента мультимедийных данных;
размещают для раскрытия структур данных в аппаратном компоненте, имеющем второе запоминающее устройство, информацию о ячейках запоминающего устройства отдельных элементов мультимедийных данных полученную из структур данных, пригодных для использования аппаратными компонентами для прямого доступа к отдельным элементам мультимедийного содержимого из первого запоминающего устройства, без использования центрального процессора; и
освобождают отдельный элемент мультимедийных данных из ячейки памяти посредством перемещения начального указателя, или конечного указателя, или и того и другого после доступа к данному отдельному элементу мультимедийных данных.
9. Машиночитаемый носитель (704) по п.8, дополнительно содержащий:
поддержку списка положений смещения, включающего в себя ячейки памяти всех элементов мультимедийного содержимого, хранящегося в кольцевом буфере; и
использование данного списка положений смещения для обеспечения того, что начальный указатель и конечный указатель не обойдут друг друга при освобождении элементов мультимедийных данных из ячеек памяти.
10. Машиночитаемый носитель (704) по п.1, в котором данный способ выполняется в конвейере обработки мультимедийных данных, содержащем таблицу фильтров, имеющую множество фильтров, где каждый фильтр имеет один или несколько входных контактов (411, 491) и один или несколько выходных контактов (401,421).
11. Машиночитаемый носитель (704) по п.10, в котором аппаратный компонент содержит одно из множеств фильтров, и в котором аппаратный компонент выбирают из группы, состоящей из: демультиплексора (404), декодера(490), и рендерера (490).
12. Машиночитаемый носитель (704) по п.10, в котором данный способ, выполняемый программным компонентом (402) содержит одно из множеств фильтров, причем программный компонент имеет входящий контакт, выполненный с возможностью принимать элементы мультимедийного содержимого и выходной контакт, выполненный с возможностью обмениваться данными с данным аппаратным компонентом.
13. Машиночитаемый носитель (704) по п.12, в котором этап данного способа, на котором создают первую структуру данных, связанную с первым элементом мультимедийного содержимого, причем первая структура данных имеет поле для хранения информации о первой ячейке запоминающего устройства, содержит:
издание данным программным компонентом вызова прикладного программного интерфейса ("API") (410) выполненного с возможностью принимать информацию о первой ячейке запоминающего устройства и заполнять данное поле первой структуры данных информацией о первой ячейке запоминающего устройства; и
прием данным программным компонентом ответа от прикладного программного интерфейса, раскрывающего поле первой структуры данных с информацией о первой ячейке запоминающего устройства.
14. Машиночитаемый носитель (704) по п.13, в котором данный этап размещения для раскрытия первой структуры данных в аппаратном компоненте включает в себя передачу первой структуры данных с раскрываемым полем первой структуры данных на данный выходной контакт, выполненный с возможностью обмена данными с данным аппаратным компонентом.
15. Архитектура (306, 326) для конвейера обработки мультимедийных данных для использования в системе представления мультимедийных данных, где данная архитектура содержит:
программный компонент (402), выполненный с возможностью принимать элементы мультимедийного содержимого и организовывать хранение принятых элементов мультимедийного содержимого в первом запоминающем устройстве;
аппаратный компонент (404, 490), имеющий второе запоминающее устройство, где данный аппаратный компонент реагирует на данный программный компонент и выполнен с возможностью передавать образ элементов мультимедийного содержимого, хранящихся в первом запоминающем устройстве во второе запоминающее устройство; и
API 410, действующий на границе между данным программным компонентом и данным аппаратным компонентом, где данный API выполнен с возможностью раскрывать первому аппаратному компоненту по запросу первого программного компонента, по меньшей мере, одно поле структуры данных, имеющее информацию о ячейках запоминающего устройства отдельных элементов мультимедийного содержимого в первом запоминающем устройстве, где раскрываемое поле структуры данных позволяет первому аппаратному компоненту напрямую перемещать образ элементов мультимедийного содержимого, хранящихся в первом запоминающем устройстве во второе запоминающее устройство не используя центральный процессор.
16. Архитектура (306, 326) по п.15, в которой данный программный компонент и данный аппаратный компонент содержат фильтры в таблице фильтров, причем программный компонент имеет выходной контакт, соединяющийся с входным контактом данного аппаратного компонента, а данный API реагирует на вызовы от выходного контакта программного компонента для раскрытия данного поля структуры данных на входной контакт данного аппаратного компонента.
17. Машиночитаемый носитель (704), запрограммированный исполняемыми компьютером инструкциями (706), которые при исполнении процессором (702) выполняют способ проигрывания цифровой мультимедийной презентации, имеющей период времени проигрывания и компонент (122) мультимедийного содержимого, где данный компонент мультимедийного содержимого содержит:
первый клип (123), разложенный на первое множество мультимедийных проб, причем данный первый клип имеет первый интервал времени проигрывания и может проигрываться как первый поток мультимедийного содержимого, и
второй клип (123), разложенный на второе множество мультимедийных проб, причем данный второй клип имеет второй интервал времени проигрывания и может проигрываться как второй поток мультимедийного содержимого, где данный способ (600) содержит:
определение (606) первой мультимедийной пробы из первого клипа;
определение второй мультимедийной пробы из второго клипа, где данная вторая мультимедийная проба пригодна для синхронного проигрывания с данной первой мультимедийной пробой (608);
в первый момент времени, связанный с подготовкой первой мультимедийной пробы для презентации с использованием первого аппаратного компонента с частотой, основанной на первом сигнале синхронизации,
устанавливают (610) первый прошедший отрезок интервала времени проигрывания данной цифровой мультимедийной презентации, и
устанавливают (610) прошедший отрезок первого интервала проигрывания;
во второй момент времени, связанный с подготовкой второй мультимедийной пробы для представления с использованием второго аппаратного компонента с частотой, основанной на втором сигнале синхронизации,
устанавливают (612) второй прошедший отрезок интервала времени проигрывания данной цифровой мультимедийной презентации, и
устанавливают (612) прошедший отрезок второго интервала проигрывания;
устанавливают разницу между первым прошедшим отрезком интервала времени проигрывания данной цифровой мультимедийной презентации и вторым прошедшим отрезком интервала времени проигрывания данной цифровой мультимедийной презентации; и
на основании данной разницы корректируют (616) или первый момент времени, или второй момент времени, или и тот и другой.
18. Машиночитаемый носитель (704) по п.17, в котором первый и второй аппаратные компоненты выбирают из группы, состоящей из: демультиплексора (404), декодера (490), и рендерера (490).
19. Машиночитаемый носитель (704) по п.17, в котором этапы установления первого прошедшего отрезка интервала времени проигрывания данной цифровой мультимедийной презентации и первого прошедшего отрезка интервала времени проигрывания дополнительно содержат:
издание первого вызова к первому API (418), где данный первый вызов включает в себя информацию о первой мультимедийной пробе; и
на основании первого вызова принимают первый ответ от данного первого API, где данный первый ответ включает в себя информацию о первом прошедшем отрезке интервала времени проигрывания данной цифровой мультимедийной презентации и прошедшем отрезке первого интервала проигрывания, и
в котором этапы установления второго прошедшего отрезка интервала времени проигрывания данной цифровой мультимедийной презентации и второго прошедшего отрезка интервала времени проигрывания дополнительно содержат:
издание второго вызова к первому API, где данный второй вызов включает в себя информацию о второй мультимедийной пробе; и
на основании второго вызова принимают второй ответ от данного первого API, где данный второй ответ включает в себя информацию о втором прошедшем отрезке интервала времени проигрывания данной цифровой мультимедийной презентации и прошедшем отрезке второго интервала проигрывания
20. Машиночитаемый носитель (704) по п.19, в котором этап корректировки или первого момента времени или второго момента времени или и того и другого дополнительно содержит:
издание вызова ко второму API (420), где вызов включает в себя информацию, выбираемую из группы, состоящей из: первого ответа, второго ответа и разницы между первым прошедшим отрезком интервала времени проигрывания данной цифровой мультимедийной презентации и вторым прошедшим отрезком интервала времени проигрывания данной цифровой мультимедийной презентации;
на основании данного вызова второго API принимают ответ от данного второго API; и
на основании ответа от данного второго API корректируют одну или несколько групп, состоящих из: прошедшего отрезка первого интервала проигрывания; прошедшего отрезка второго интервала проигрывания; первого сигнала синхронизации; и второго сигнала синхронизации.