устройство и способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам
Классы МПК: | H04N5/913 для скремблирования H04N7/32 включающие кодовое прогнозирование H04N7/167 системы, воспроизводящие зашифрованный телевизионный сигнал с последующей его расшифровкой |
Автор(ы): | МАНДЕРС Роланд (AT), МОРС Эрик (AT), РЕЙКАРТ Альберт (AT) |
Патентообладатель(и): | КОНИНКЛЕЙКЕ ФИЛИПС ЭЛЕКТРОНИКС Н.В. (NL) |
Приоритеты: |
подача заявки:
2006-04-25 публикация патента:
20.12.2010 |
Изобретение относится к системам телевидения, и в частности, к устройству для обработки потока зашифрованных данных. Техническим результатом является повышение эффективности, скорости обработки потока данных посредством выборочной замены только тех данных в потоке данных, которые требуются для дальнейшего использования потока данных. Указанный технический результат достигается тем, что устройство (3400) для обработки потока (3401) зашифрованных данных содержит: модуль (3402) расшифровки для формирования потока (3403) расшифрованных данных из потока (3401) зашифрованных данных, модуль (3404) обнаружения для обнаружения информации о позиции, по меньшей мере, одного интра-кодированного кадра в потоке (3403) расшифрованных данных и модуль (3405) замены для замены на основе обнаруженной информации о позиции частей потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных. 6 н. и 22 з.п. ф-лы, 38 ил.
Формула изобретения
1. Устройство (3400) для обработки потока (3401) зашифрованных данных, содержащее:
модуль (3402) расшифровки для формирования потока (3403) расшифрованных данных из потока (3401) зашифрованных данных;
модуль (3404) обнаружения для обнаружения информации о позиции по меньшей мере одного интракодированного кадра в потоке (3403) расшифрованных данных, причем модуль (3404) обнаружения выполнен с возможностью обнаруживать в качестве информации о позиции начальную позицию (3500) и конечную позицию (3501) упомянутого по меньшей мере одного интракодированного кадра в потоке (3403) расшифрованных данных;
модуль (3405) замены для замены на основе обнаруженной информации о позиции частей потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных; причем модуль (3405) замены выполнен с возможностью заменять части потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных в обнаруженной начальной позиции (3500) и конечной позиции (3501) упомянутого по меньшей мере одного интракодированного кадра.
2. Устройство (3400) по п.1, в котором модуль (3404) обнаружения выполнен с возможностью обнаруживать информацию о позиции по меньшей мере одного кадра с прямым предсказанием и/или по меньшей мере одного кадра с двунаправленным предсказанием в потоке (3403) расшифрованных данных.
3. Устройство (3400) по п.1, выполненное с возможностью записывать гибридный поток.
4. Устройство (3400) по п.1, содержащее модуль (3406) добавления, выполненный с возможностью добавлять информацию синхронизации к потоку данных, который уже был ранее обработан посредством модуля (3405) замены, причем информация синхронизации включает в себя ссылку на позицию по меньшей мере одного интракодированного кадра.
5. Устройство (3400) по п.4, в котором модуль (3406) добавления выполнен с возможностью добавлять информацию синхронизации в незашифрованном виде.
6. Устройство (3400) по п.1, в котором модуль (3405) замены выполнен с возможностью заменять такое количество данных потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных, которое минимально необходимо для формирования потока (3409) данных для воспроизведения в специализированном режиме воспроизведения.
7. Устройство (3400) по п.1, в котором модуль (3405) замены выполнен таким образом, что данные между начальной позицией (3500) и конечной позицией (3501) упомянутого по меньшей мере одного интракодированного кадра являются свободными от их замены соответствующими частями потока (3403) расшифрованных данных.
8. Устройство (3400) по п.1, в котором модуль (3405) замены выполнен с возможностью заменять индикатор длины пакета элементарного потока пакетов, метку времени представления и/или метку времени декодирования в блоке заголовка потока (3401) зашифрованных данных.
9. Устройство (3400) по п.1, выполненное с возможностью обрабатывать поток (3401) зашифрованных данных, состоящий из видеоданных или аудиоданных.
10. Устройство (3400) по п.1, выполненное с возможностью обрабатывать поток (3401) зашифрованных данных, состоящий из цифровых данных.
11. Устройство (3400) по п.1, содержащее модуль (3408) формирования специализированного режима воспроизведения, выполненный с возможностью формировать поток (3409) данных для воспроизведения в специализированном режиме воспроизведения на основе выходных данных модуля (3405) замены.
12. Устройство (3400) по п.11, в котором специализированный режим воспроизведения представляет собой один режим из группы, состоящей из режима воспроизведения с быстрой перемоткой вперед, режима воспроизведения с быстрой перемоткой назад, режима замедленного воспроизведения, режима воспроизведения стоп-кадра, режима воспроизведения повтора и режима обратного воспроизведения.
13. Устройство (3400) по п.1, выполненное с возможностью обрабатывать зашифрованный поток данных стандарта MPEG2.
14. Способ обработки потока (3401) зашифрованных данных, содержащий этапы, на которых формируют поток (3403) расшифрованных данных из потока (3401) зашифрованных данных, определяют начальную позицию (3500) и конечную позицию (3501) по меньшей мере одного интракодированного кадра в потоке (3403) расшифрованных данных, заменяют части потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных в обнаруженной начальной позиции (3500) и конечной позиции (3501) упомянутого по меньшей мере одного интракодированного кадра.
15. Машиночитаемый носитель, в котором сохранена компьютерная программа обработки потока (3401) зашифрованных данных, причем данная компьютерная программа при ее исполнении посредством процессора выполнена с возможностью управлять с целью выполнения следующих этапов способа или выполнять следующие этапы способа, на которых:
формируют поток (3403) расшифрованных данных из потока (3401) зашифрованных данных;
обнаруживают начальную позицию (3300) и конечную позицию (3501) по меньшей мере одного интракодированного кадра в потоке (3403) расшифрованных данных;
заменяют части потока (3401) зашифрованных данных соответствующими частями потока (3403) расшифрованных данных в обнаруженной начальной позиции (3500) и конечной позиции (3501) упомянутого по меньшей мере одного интракодированного кадра.
16. Устройство (3600) для обработки потока (3601) данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к этим пакетам, содержащее:
модуль (3602) распределения для однородного распределения пакетов по потоку (3601) данных, причем модуль (3602) распределения выполнен с возможностью однородно распределять пакеты, относящиеся к части потока (3601) данных, между двумя последовательными интракодированными кадрами;
модуль (3603) замены для замены информации синхронизации потока (3601) данных измененной информацией синхронизации, скорректированной для однородного распределения пакетов, причем модуль (3603) замены выполнен с возможностью размещать измененную информацию синхронизации в начальной позиции обработанного потока данных.
17. Устройство (3600) по п.16, в котором модуль (3603) замены выполнен с возможностью формировать эталонный отсчет времени программы, метку времени декодирования и/или метку времени представления в качестве измененной информации синхронизации.
18. Устройство (3600) по п.16, выполненное с возможностью обрабатывать поток (3601) зашифрованных данных, причем устройство (3600) содержит модуль (3604) вставки информации для расшифровки, выполненный с возможностью вставлять информацию для расшифровки в обработанный поток данных.
19. Устройство (3600) по п.18, в котором модуль (3604) вставки информации для расшифровки выполнен с возможностью вставлять сообщения управления доступом в качестве информации для расшифровки.
20. Устройство (3600) по п.18, в котором модуль (3604) вставки информации для расшифровки выполнен с возможностью вставлять информацию для расшифровки в конце обработанного потока данных.
21. Устройство (3600) по п.16, выполненное с возможностью обрабатывать поток (3601) данных, состоящий из видеоданных или аудиоданных.
22. Устройство (3600) по п.16, выполненное с возможностью обрабатывать поток (3601) данных, состоящий из цифровых данных.
23. Устройство (3600) по п.16, содержащее модуль (3605) формирования специализированного режима воспроизведения, выполненный с возможностью формировать поток (3607) данных для воспроизведения в специализированном режиме воспроизведения.
24. Устройство (3600) по п.23, выполненное с возможностью формировать поток (3607) данных для воспроизведения в специализированном режиме воспроизведения таким образом, что разные группы изображений сформированного потока данных имеют, по существу, постоянную длину во времени.
25. Устройство (3600) по п.23, в котором специализированный режим воспроизведения представляет собой один режим из группы, состоящей из режима воспроизведения с быстрой перемоткой вперед, режима воспроизведения с быстрой перемоткой назад, режима замедленного воспроизведения, режима воспроизведения стоп-кадра, режима воспроизведения повтора и режима обратного воспроизведения.
26. Устройство (3600) по п.16, выполненное с возможностью обрабатывать зашифрованный поток данных стандарта MPEG2.
27. Способ обработки потока (3601) данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к этим пакетам, содержащий этапы, на которых:
однородно распределяют пакеты, относящиеся к части потока (3601) данных, между двумя последовательными интракодированными кадрами;
заменяют информацию синхронизации потока (3601) данных измененной информацией синхронизации, размещенной в начальной позиции обработанного потока данных.
28. Машиночитаемый носитель, в котором сохранена компьютерная программа обработки потока (3601) данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к этим пакетам, причем данная компьютерная программа при ее исполнении посредством процессора выполнена с возможностью управлять с целью выполнения следующих этапов способа или выполнять следующие этапы способа, на которых:
однородно распределяют пакеты, относящиеся к части потока (3601) данных, между двумя последовательными интракодированными кадрами;
заменяют информацию синхронизации потока (3601) данных измененной информацией синхронизации, размещенной в начальной позиции обработанного потока данных.
Описание изобретения к патенту
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение имеет отношение к устройству для обработки потока зашифрованных данных.
Кроме того, изобретение имеет отношение к способу обработки потока зашифрованных данных.
Кроме того, изобретение имеет отношение к устройству для обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам.
Изобретение также имеет отношение к способу обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам.
Кроме того, изобретение имеет отношение к программному элементу.
Кроме того, изобретение имеет отношение к машиночитаемому носителю.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Электронные устройства для развлечений приобретают все большую важность. В частности, увеличивающееся количество пользователей покупают аудио/видеопроигрыватели на основе жесткого диска и другое оборудование для развлечений.
Поскольку сокращение объема памяти является важным моментом в области аудио/видеопроигрывателей, аудио- и видеоданные часто сохраняются в сжатом виде и из соображений безопасности в зашифрованном виде.
MPEG2 является стандартом для универсального кодирования кинофильмов и относящегося к ним аудио и создает видеопоток из данных кадров, которые могут быть размещены в заданном порядке, называемых структурой группы изображений (GOP). Битовый видеопоток стандарта MPEG2 составлен из последовательности кадров с данными, кодирующими изображения. Тремя способами кодирования изображений являются внутреннее кодирование (I-изображение), кодирование с прямым предсказанием (P-изображение) и кодирование с двунаправленным предсказанием (B-изображение). Кодированный внутренним кодированием (интра-кодированый) кадр (I-кадр) относится к отдельному изображению и содержит соответствующие данные. Кадр с прямым предсказанием (P-кадр) требует информацию о предыдущем I-кадре или P-кадре. Кадр с двунаправленным предсказанием (B-кадр) зависит от информации о предшествующем или последующем I-кадре или P-кадре.
В устройстве воспроизведения мультимедиа в дополнение к режиму обычного воспроизведения, в котором содержимое мультимедиа воспроизводится на обычной скорости, интересной функцией является обеспечение специализированного режима воспроизведения, в котором содержимое мультимедиа воспроизводится измененным образом, например с увеличенной скоростью ("быстрая перемотка вперед").
Однако для формирования потока для специализированного режима воспроизведения может потребоваться сложная обработка данных.
WO 03/107664 A1 раскрывает способ и устройство для обработки потока, который содержит зашифрованную информацию, в которых обнаруживают начала и концы I-кадров. В ответ на обнаружение проверяют, зашифрован ли соответствующий пакет.
ЗАДАЧА И СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача изобретения состоит в обработке потока данных эффективным образом.
Чтобы выполнить определенную выше задачу, обеспечиваются устройство и способ обработки зашифрованного потока данных, устройство и способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, программный элемент и машиночитаемый носитель в соответствии с независимыми пунктами формулы изобретения.
В соответствии с иллюстративным вариантом воплощения изобретения обеспечивается устройство для обработки потока зашифрованных данных, содержащее модуль расшифровки для формирования потока расшифрованных данных из потока зашифрованных данных, модуль обнаружения для обнаружения информации о позиции, по меньшей мере, одного интра-кодированного кадра в потоке расшифрованных данных и модуль замены для замены на основе обнаруженной информации о позиции частей потока зашифрованных данных соответствующими частями потока расшифрованных данных.
В соответствии с другим иллюстративным вариантом воплощения изобретения обеспечивается способ обработки потока зашифрованных данных, содержащий этапы, на которых формируют поток расшифрованных данных из потока зашифрованных данных, обнаруживают информацию о позиции, по меньшей мере, одного интра-кодированного кадра в потоке расшифрованных данных и заменяют, основываясь на обнаруженной информации о позиции, части потока зашифрованных данных соответствующими частями потока расшифрованных данных.
В соответствии с еще одним иллюстративным вариантом воплощения изобретения обеспечивается устройство для обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, содержащее модуль распределения для однородного распределения пакетов по потоку данных и модуль замены для замены информации синхронизации потока данных измененной информацией синхронизации, скорректированной для однородного распределения пакетов.
В соответствии с другим иллюстративным вариантом воплощения изобретения обеспечивается способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, содержащий этапы, на которых однородно распределяют пакеты по потоку данных и заменяют информацию синхронизации потока данных измененной информацией синхронизации, скорректированной для однородного распределения пакетов.
Кроме того, в соответствии с другим иллюстративным вариантом воплощения изобретения обеспечивается машиночитаемый носитель, в котором сохранена компьютерная программа, которая при ее исполнении процессором выполнена с возможностью управлять с целью выполнения любого из вышеупомянутых способов или выполнять их.
Кроме того, в соответствии с еще одним иллюстративным вариантом воплощения изобретения обеспечивается элемент программы, который при его исполнении процессором выполнен с возможностью управлять с целью выполнения любого из вышеупомянутых способов или выполнять их.
Обработка данных в соответствии с изобретением может быть реализована посредством компьютерной программы, то есть программного обеспечения, или посредством одной или более специальных электронных схем оптимизации, то есть в аппаратных средствах, или в гибридной форме, то есть посредством компонентов программного обеспечения и компонентов аппаратных средств.
Отличительные признаки, в соответствии с изобретением, в частности, имеют то преимущество, что обработка потока данных может быть выполнена эффективно посредством выборочной замены только тех данных в потоке данных, которые требуются для дальнейшего использования потока данных. Другими словами, существующий поток данных изменяется только частично (и предпочтительно выполняется как можно меньше модификаций), с тем чтобы полученный в результате поток данных мог использоваться в качестве основы для конкретного целевого применения, например для формирования специализированного режима воспроизведения. Таким образом, общий аспект вариантов воплощения изобретения направлен на выборочную замену отдельных частей потока данных.
В соответствии с одним аспектом изобретения это, в частности, реализовано посредством полной расшифровки потока зашифрованных данных, обнаружения позиции I-кадров в полностью расшифрованном потоке данных и выборочной замены только тех частей в потоке зашифрованных данных, которые соответствуют позициям I-кадров. Принимая эти меры, можно обеспечить, чтобы остались расшифрованными только те части, для которых незашифрованная передача является абсолютно необходимой - в частности, для того, чтобы обработанный поток данных, являющийся смесью зашифрованных и расшифрованных частей, мог использоваться как основа для формирования специализированного режима воспроизведения. Таким образом, одновременно могут быть достигнуты эффективная обработка и высокий уровень безопасности.
Поэтому в случае зашифрованного первоначального потока для обычного воспроизведения (в частности, в стандарте MPEG) поток для специализированного режима воспроизведения, зашифрованный с помощью алгоритма DVB (цифрового видеовещания), может быть сформирован даже в сценарии, в котором не разрешено использование механизма шифрования DVB (например, в домашних условиях).
В соответствии с иллюстративным вариантом воплощения этого аспекта изобретения обеспечивается способ формирования гибридного потока из транспортного потока с зашифрованным видео, состоящего из пакетов данных, причем сначала формируется расшифрованный транспортный поток из транспортного потока с зашифрованным видео. Затем в расшифрованном транспортном потоке могут быть обнаружены I-кадры, причем могут быть идентифицированы указатели на начало и конец I-кадра (кадров). Кроме того, в позициях указателей на начало и на конец I-кадров соответствующие расшифрованные пакеты расшифрованного транспортного потока могут заменить зашифрованные пакеты в транспортном потоке.
Таким образом, может быть сформирован гибридный транспортный поток (то есть, в основном зашифрованный транспортный поток с некоторыми незашифрованными пакетами). В этом контексте могут быть сформированы или выбраны пакеты транспортного потока, которые минимально должны быть незашифрованными (чтобы иметь возможность сформировать пригодный транспортный поток в стандарте MPEG2 для специализированного режима воспроизведения из этого гибридного потока). Кроме того, может быть выполнено обнаружение нескольких важных полей, требуемых для создания транспортного потока для специализированного режима воспроизведения. Поэтому зашифрованный (с помощью алгоритма DVB) поток для специализированного режима воспроизведения может быть сформирован, даже если использование механизма шифрования (с помощью алгоритма DVB) в домашних условиях не разрешается.
Иллюстративные области применения системы, в соответствии с изобретением, представляют собой устройства цифровой видеозаписи (такие как системы жестких дисков (HDD), перезаписываемые цифровые универсальные диски (DVD+RW) и т.д.) и сетевые устройства, использующие специализированный режим воспроизведения.
В соответствии с описанным аспектом изобретения может быть оценено минимальное количество данных любого кадра (I-кадра, P-кадра или B-кадра), которые должны находиться в незашифрованном виде, чтобы дать возможность сформировать из них зашифрованный поток для специализированного режима воспроизведения. Помимо этого возможно решить, какие пакеты транспортного потока должны быть в незашифрованном виде и какие могут остаться зашифрованными. Предполагается, что это решение и соответствующее преобразование (в частности, расшифровка) должны быть сделаны либо на передающей стороне, либо в запоминающем устройстве, принимающем поток.
Кроме того, в соответствии с изобретением, возможно обнаружить границы кадра в этом частично (но часто почти полностью) зашифрованном потоке снова на стороне приемника, когда из этого потока должен быть сформирован поток для специализированного режима воспроизведения. Это позволяет создавать зашифрованный поток для специализированного режима воспроизведения. Поэтому может быть создан зашифрованный транспортный поток, и с этой целью могут быть обнаружены позиции кадров.
В соответствии с описанным аспектом изобретения возможно начать с зашифрованного потока, и могут быть расшифрованы только те пакеты, которые требуется изменить. Обычно они повторно не шифруются, в частности, в сценарии, в котором не может использоваться шифратор. Чтобы выполнить это действие, сначала поток может быть расшифрован для нахождения заголовков. Фактически описанный аспект может использовать в качестве входной информации незашифрованный и зашифрованный поток. На основе обнаружения заголовков может быть сделан выбор, какой входной поток передается на выход. Вся обработка может выполняться в безопасной среде, например, внутри интегральной схемы (IС), с тем чтобы незашифрованный поток не мог быть доступным. Это означает, что система может иметь зашифрованный входной поток и по большей части зашифрованный выходной поток с некоторыми незашифрованными пакетами. В некоторых случаях не все пакеты, содержащие информацию о заголовке, могут находиться в незашифрованном виде, поскольку в незашифрованном виде должны быть только те части, которые будут изменены, а не обязательно полный заголовок. Это особенно понятно в том случае, когда, например, начальный код изображения разделен на более чем два пакета. В этом случае часть начального кода изображения может быть по-прежнему зашифрованной. Возможно обеспечить алгоритм для выбора пакетов, которые должны находиться в незашифрованном виде. Этот алгоритм может привести к частично зашифрованным начальным кодам изображения, но может минимизировать требования к памяти. Размещение полного начального кода изображения в незашифрованном виде потребовало бы большей буферной памяти.
В соответствии с другим аспектом изобретения поток данных, имеющий последовательность пакетов и информацию синхронизации, относящуюся к этим пакетам, может быть обработан посредством сглаживания или однородного распределения пакетов потока данных и посредством замены и обновления информации синхронизации потока данных с помощью формирования и вставки информации синхронизации, относящейся к сглаженному потоку данных. Однако замена может быть выполнена до распределения. Посредством этой замены частей потока данных для согласования сглаженного потока данных с соответствующими требованиями информации синхронизации формируется измененный поток данных, который может служить в качестве этапа формирования специализированного режима воспроизведения.
В соответствии с этим аспектом изобретения обеспечивается способ формирования потока для специализированного режима воспроизведения из видеопотока, причем видеопоток может быть составлен из группы изображений (GOP), организованной в пакеты, пакеты передаются в пределах интервала времени группы изображений (GOP). В соответствии с описанным способом пакеты с эталонными отсчетами времени программы (отсчетами PCR) могут быть вычислены на основе промежутка времени между пакетами из общего количества пакетов группы изображений (GOP) и интервала времени группы изображений (GOP). Кроме того, добавление пакетов с PCR в начале каждой группы изображений (GOP) для специализированного режима воспроизведения может сформировать шкалу времени для потока для специализированного режима воспроизведения.
Метка времени декодирования (DTS) и/или метка времени представления (PTS), если они имеются, могут быть адаптированы в соответствии со шкалой времени.
В иллюстративном случае зашифрованного потока для специализированного режима воспроизведения в этом потоке для специализированного режима воспроизведения могут присутствовать сообщения управления доступом (ECM), чтобы дать возможность расшифровки посредством приемника (например, декодера кабельного телевидения, или телеприставки (STB). Например, сообщение ECM может быть добавлено к концу предыдущей группы изображений (GOP) для специализированного режима воспроизведения потока для специализированного режима воспроизведения.
В соответствии с описанным аспектом изобретения поток для специализированного режима воспроизведения (зашифрованный или незашифрованный или являющийся их смесью) на уровне транспортного потока может обрабатываться посредством той же самой выходной схемы, которая используется для обычного воспроизведения (в частности, безо всякого повторного мультиплексирования). Кроме того, для создания специализированного режима воспроизведения на уровне транспортного потока могут быть достаточны небольшие ресурсы обработки. Кроме того, способ специализированного режима воспроизведения, в соответствии с иллюстративным вариантом воплощения изобретения, может использоваться для транспортных потоков с метками времени прибытия пакетов или без них.
Таким образом, в соответствии с иллюстративным вариантом воплощения настоящего изобретения создание потока для специализированного режима воспроизведения на уровне транспортного потока делается возможным без повторного мультиплексирования. С этой целью поток для специализированного режима воспроизведения может быть сформирован из транспортного потока, причем пакеты сглажены по группе изображений (GOP) потока для специализированного режима воспроизведения, информация синхронизации может быть заменена новой информацией шкалы времени (например, метками PTS, DTS, PCR), и к зашифрованному потоку для специализированного режима воспроизведения могут быть добавлены сообщения ECM (например, в конце группы изображений (GOP) для специализированного режима воспроизведения).
Далее будут описаны некоторые дополнительные аспекты в соответствии с иллюстративным вариантом воплощения изобретения.
Пакеты транспортного потока могут быть сглажены по одной группе изображений (GOP) для специализированного режима воспроизведения ("TP GOP"). Кроме того, расстояние во времени передачи между группами изображений для специализированного режима воспроизведения (TP GOP) может быть постоянным и в точности равняться полному времени отображения кадров и группы изображений (GOP). Дополнительный PCR-пакет может быть обеспечен в начале каждой группы изображений (GOP). Размер PES-пакета может быть равным одной группе изображений для специализированного режима воспроизведения (TP GOP), что приводит к одной метке DTS/PTS на каждую группу изображений для специализированного режима воспроизведения (TP GOP). Помимо этого, метка DTS может быть равна или больше основы PCR следующей группы изображений для специализированного режима воспроизведения (TP GOP). Например, она может быть равна основе PCR следующей группы изображений для специализированного режима воспроизведения (TP GOP). Основа PCR следующей группы изображений для специализированного режима воспроизведения (TP GOP) может быть равна основе PCR текущей группы изображений для специализированного режима воспроизведения (TP GOP) плюс постоянное значение приращения. Помимо этого, можно точно определить, какое сообщение ECM и в какую точку в потоке должно быть вставлено для улучшения или оптимизации производительности. В зависимости от переключателя SCB (битов управления скремблированием) эта позиция может находиться в границах группы изображений для специализированного режима воспроизведения (TP GOP) и иногда в пределах данных I-кадра.
Выбор промежутка времени передачи между группами изображений для специализированного режима воспроизведения (TP GOP), являющегося постоянным и равным полному времени отображения кадров в группе изображений (GOP), и обеспечение дополнительного PCR-пакета в начале каждой группы изображений для специализированного режима воспроизведения (TP GOP) может привести к простому механизму для формирования PCR, поскольку расширение PCR может быть установлено равным нулю, что исключает потребность в более сложном вычислении по модулю 300. Кроме того, разность между последовательными PCR может являться фиксированным значением приращения, которое может дополнительно внести свой вклад в упрощение алгоритма.
Посредством обеспечения размера PES-пакета, равного одной группе изображений для специализированного режима воспроизведения (TP GOP), и посредством обеспечения метки DTS, равной или большей, чем основа PCR следующей группы изображений для специализированного режима воспроизведения (TP GOP), получен простой алгоритм для формирования значений меток DTS, поскольку одно и то же фиксированное приращение может использоваться для PCR. Фактически метка DTS может быть равной PCR, который должен быть вставлен в следующую группу изображений для специализированного режима воспроизведения (TP GOP). Или, другими словами, PCR может быть равным метке DTS предыдущей группы изображений для специализированного режима воспроизведения (TP GOP). Это означает, что вычисление фактически должно быть выполнено только один раз вместо двух.
Вставка сообщения ECM позволяет оптимизировать структуру измененного потока данных.
Кроме того, может быть выгодно создать зашифрованный поток для специализированного режима воспроизведения из зашифрованного потока для обычного воспроизведения. Это может быть особенно выгодно для быстрой перемотки вперед или назад, но даже больше для медленной перемотки вперед. Кроме того, может быть выгодно, чтобы способ шифрования для потока для специализированного режима воспроизведения был идентичен способу шифрования для обычного воспроизведения.
Далее будут описаны иллюстративные варианты воплощения изобретения со ссылкой на зависимые пункты формулы изобретения.
Затем будут описаны иллюстративные варианты воплощения устройства для обработки потока зашифрованных данных. Эти варианты воплощения также могут быть применены к способу обработки потока зашифрованных данных, для машиночитаемого носителя и для программного элемента.
Модуль обнаружения может быть выполнен с возможностью обнаружения информации о позиции, по меньшей мере, одного кадра с прямым предсказанием (P-кадра) и/или, по меньшей мере, одного кадра с двунаправленным предсказанием (B-кадра) в потоке расшифрованных данных. Другими словами, в качестве дополнения или альтернативы к обнаружению границ I-кадра и к замене соответствующих зашифрованных частей потока данных расшифрованными частями также могут быть обнаружены границы P-кадра и/или B-кадра и заменены соответствующими расшифрованными частями. Для некоторых применений специализированного режима воспроизведения может быть выгодно найти границы всех кадров.
Устройство также может быть выполнено с возможностью записывать гибридный поток. Гибридный поток, содержащий первоначальные зашифрованные части и измененные расшифрованные части, может быть сохранен в устройстве.
Модуль обнаружения устройства может быть выполнен с возможностью обнаруживать в качестве информации о позиции начальную позицию и конечную позицию, по меньшей мере, одного интра-кодированного кадра в потоке расшифрованных данных. Только начальная позиция и конечная позиция I-кадра должны быть вставлены в декодированном виде в поток зашифрованных данных. Предпринимая это, количество расшифрованных данных в потоке данных может быть минимизировано, с тем чтобы могла быть максимизирована безопасность.
Модуль замены может быть выполнен с возможностью заменять части потока зашифрованных данных соответствующими частями потока расшифрованных данных в обнаруженной начальной позиции и конечной позиции, по меньшей мере, одного интра-кодированного кадра в потоке расшифрованных данных. В частности, главная часть I-кадров может остаться зашифрованной, что дает высокую степень безопасности.
Кроме того, может быть обеспечен модуль добавления, выполненный с возможностью добавлять информацию синхронизации к потоку данных, который уже был ранее обработан посредством модуля замены. Так как старая информация синхронизации относится к первоначальному потоку данных, переход к специализированному режиму воспроизведения может иметь такое последствие, что информация синхронизации может больше не являться правильной для специализированного режима воспроизведения. С этой целью информация синхронизации может быть обновлена в соответствии с измененным потоком данных.
В частности, модуль добавления может быть выполнен с возможностью добавлять информацию синхронизации в незашифрованном виде. Тогда в незашифрованном виде могут быть только информация синхронизации и начала и концы I-кадров, причем остальная часть потока данных может остаться зашифрованной. Модуль замены может дополнительно быть выполнен с возможностью заменять такое количество данных потока зашифрованных данных соответствующими частями потока расшифрованных данных, которое минимально требуется для формирования потока данных для специализированного режима воспроизведения. Посредством минимизации количества расшифрованной информации в потоке зашифрованных данных минимизируется опасность несанкционированного доступа к данным.
Модуль замены может быть выполнен таким образом, чтобы данные между начальной позицией и конечной позицией, по меньшей мере, одного ключевого кадра могли быть свободны от их замены соответствующими частями потока расшифрованных данных. Расшифровка только в начале и в конце I-кадра дает возможность сохранять большую часть блока данных I-кадра зашифрованной, и только необходимые части расшифровываются и передаются в незашифрованном виде. Модуль добавления может быть расположен в модуле формирования специализированного режима воспроизведения, тогда как модуль замены может быть расположен на записывающей стороне. Модуль замены может быть дополнительно выполнен с возможностью заменять индикатор длины пакета PES, метку времени представления (PTS) и/или метку времени декодирования (DTS) в блоке заголовка потока частично зашифрованных данных.
Устройство, в соответствии с изобретением, может быть выполнено с возможностью обрабатывать поток зашифрованных данных, состоящий из видеоданных или аудиоданных. Однако такая информация мультимедиа является не единственным типом данных, которые могут быть обработаны с помощью схемы в соответствии с изобретением. Формирование специализированного режима воспроизведения и сходные применения являются предметом рассмотрения как для обработки видео, так и для обработки (чистого) аудио.
Устройство, в соответствии с изобретением, может быть выполнено с возможностью обрабатывать поток зашифрованных данных, состоящий из цифровых данных.
Кроме того, устройство может содержать модуль формирования специализированного режима воспроизведения, выполненный с возможностью формировать поток данных для воспроизведения в специализированном режиме воспроизведения на основе выходных данных модуля замены. Пользователь может регулировать такой специализированный режим воспроизведения, выбирая соответствующие варианты в пользовательском интерфейсе, например, кнопки устройства, клавиатуры или пульта дистанционного управления. Выбранный пользователем специализированный режим воспроизведения, который может требовать информации относительно позиции I-кадров, может представлять собой один режим из группы, состоящей из режима воспроизведения с быстрой перемоткой вперед, режима воспроизведения с быстрой перемоткой назад, режима замедленного воспроизведения, режима воспроизведения стоп-кадра, режима воспроизведения быстрого повтора и режима обратного воспроизведения. Однако возможны другие схемы специализированного режима воспроизведения. Для специализированного режима воспроизведения только часть последующих данных должна использоваться для вывода (например, для визуального отображения и/или для воспроизведения звука). Поскольку для формирования отображаемых сигналов не все данные (P-кадры, B-кадры) в потоке данных могут использоваться независимо от других данных (I-кадров), может являться желательным знание независимо используемых данных (I-кадров).
Устройство, в соответствии с изобретением, может быть выполнено с возможностью обрабатывать поток зашифрованных данных стандарта MPEG2. MPEG2 является обозначением для группы стандартов аудио- и видеокодирования, согласованных экспертной группой по кинофильмам (MPEG) и опубликованных как международный стандарт 13818 Международной организации по стандартизации (ISO) /Международной электротехнической комиссии (IEC). MPEG2 может использоваться для кодирования аудио и видео для сигналов вещания, в том числе цифрового спутникового и кабельного телевидения, но также используется для цифровых универсальных дисков (DVD).
Устройство, в соответствии с изобретением, может быть реализовано как, по меньшей мере, одно устройство из группы, состоящей из цифрового видеозаписывающего устройства, устройства с поддержкой работы в сети, системы условного доступа, портативного аудиопроигрывателя, портативного видеопроигрывателя, мобильного телефона, проигрывателя цифровых универсальных дисков (DVD), проигрывателя компакт-дисков (CD), проигрывателя мультимедиа на основе жесткого диска, устройства Интернет-радио, устройства для общественного развлечения и MP3-проигрывателя. Однако эти применения являются только иллюстративными.
Далее будут описаны иллюстративные варианты воплощения устройства для обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам. Эти варианты воплощения также могут быть применены для способа обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, для машиночитаемого носителя и для программных элементов.
В этом устройстве модуль распределения может быть выполнен с возможностью однородно распределять пакеты, относящиеся к части потока данных между двумя последовательными интра-кодированными кадрами. В модуле вещания разные пакеты, относящиеся к I-кадру, могут быть представлены с неравными промежутками между ними. Модуль распределения может перераспределять пакеты, чтобы промежутки между ними были равными, то есть сгладить распределение пакетов во временной области. Это сглаживание может быть выполнено независимо для каждой группы пакетов, относящихся к отдельному I-кадру. Посредством этого возможно поддерживать локальный расход битов (битрейт) как можно меньшим, причем средний расход остается тем же самым.
Модуль замены может быть выполнен с возможностью располагать измененную информацию синхронизации в начальной позиции обработанного потока данных. Тогда информация синхронизации предшествует пакетам - таким образом, получена выгодная позиция для обеспечения такой информации синхронизации.
Модуль замены дополнительно может быть выполнен с возможностью формировать эталонный отсчет времени программы, метку времени декодирования и/или метку времени представления в качестве измененной информации синхронизации. Метка времени декодирования/метка времени представления зависит от эталонного отсчета времени программы.
В частности, устройство может быть выполнено с возможностью обрабатывать поток зашифрованных данных и может содержать модуль вставки информации для расшифровки, выполненный с возможностью вставлять информацию для расшифровки в обработанный поток данных для расшифровки потока зашифрованных данных. Например, в качестве информации для расшифровки посредством модуля вставки информации для расшифровки могут быть вставлены сообщения ECM. В частности, может быть полезно вставить информацию для расшифровки в конце обработанного потока данных. Более конкретно, возможно, чтобы информация синхронизации была добавлена спереди фактических данных и чтобы сообщения ECM были обеспечены в конце данных таким образом, чтобы данные были помещены между информацией синхронизации и информацией для расшифровки.
Как уже упомянуто выше, устройство может быть выполнено с возможностью обрабатывать поток данных, состоящий из видеоданных или аудиоданных. В частности, чистые визуальные данные, чистые звуковые данные или их смесь или комбинация могут быть обработаны в соответствии с изобретением.
Устройство может быть выполнено с возможностью обрабатывать поток данных, состоящий из цифровых данных. Как упомянуто выше, возможно формирование специализированного режима воспроизведения. Различные иллюстративные специализированные режимы воспроизведения упомянуты выше.
Как дополнительно упомянуто выше, возможно обрабатывать зашифрованный поток данных стандарта MPEG2. Кроме того, выше были описаны устройства, с которыми устройство изобретения может быть успешно совмещено.
Определенные выше аспекты и дополнительные аспекты изобретения наглядно видны из примеров варианта воплощения, которые будут описаны далее, и объясняются со ссылкой на эти примеры варианта воплощения.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Далее изобретение будет описано более подробно со ссылкой на примеры варианта воплощения, но изобретение не ограничено ими.
Фиг.1 иллюстрирует транспортный поток пакетов с метками времени.
Фиг.2 показывает структуру группы изображений стандарта MPEG2 с интра-кодированными кадрами и кадрами с прямым предсказанием.
Фиг.3 иллюстрирует структуру группы изображений стандарта MPEG2 с интра-кодированными кадрами, кадрами с прямым предсказанием и кадрами с двунаправленным предсказанием.
Фиг.4 иллюстрирует структуру файла информации о характеристических точках и сохраненном информационном содержимом потока.
Фиг.5 иллюстрирует систему для специализированного режима воспроизведения на незашифрованном потоке.
Фиг.6 иллюстрирует сжатие времени при специализированном режиме воспроизведения.
Фиг.7 иллюстрирует специализированный режим воспроизведения с дробным промежутком.
Фиг.8 иллюстрирует специализированный режим воспроизведения на низкой скорости.
Фиг.9 иллюстрирует общую структуру системы с условным доступом.
Фиг.10 иллюстрирует зашифрованный пакет транспортного потока вещания цифрового видео.
Фиг.11 иллюстрирует заголовок пакета транспортного потока для зашифрованного пакета транспортного потока вещания цифрового видео, показанного на фиг.10.
Фиг.12 иллюстрирует систему, дающую возможность выполнения специализированного режима воспроизведения на полностью зашифрованном потоке.
Фиг.13 иллюстрирует полный транспортный поток и частичный транспортный поток.
Фиг.14 иллюстрирует систему передачи данных между вещательной станцией и запоминающим устройством для преобразования потока.
Фиг.15 иллюстрирует специализированный режим воспроизведения на незашифрованной записи.
Фиг.16 иллюстрирует специализированный режим воспроизведения на полностью зашифрованной записи.
Фиг.17 иллюстрирует специализированный режим воспроизведения на частично зашифрованной записи.
Фиг.18 иллюстрирует требование буферизации для полностью незашифрованного начального кода изображения.
Фиг.19 иллюстрирует практическую незашифрованную область в начале I-кадра.
Фиг.20A и фиг.20B иллюстрируют практические незашифрованные области.
Фиг.21 иллюстрирует начальные коды изображений, распределенные по двум пакетам.
Фиг.22 иллюстрирует пустой P-кадр, присоединенный к частично зашифрованному начальному коду изображения.
Фиг.23 иллюстрирует области незашифрованных данных.
Фиг.24 иллюстрирует структуру заголовка в стандарте MPEG2.
Фиг.25 иллюстрирует расширение последовательности и код заголовка последовательности.
Фиг.26 иллюстрирует расширение кодирования изображения и начальный код изображения.
Фиг.27 иллюстрирует код заголовка последовательности, распределенный по двум пакетам.
Фиг.28 иллюстрирует сглаживание пакета при специализированном режиме воспроизведения.
Фиг.29 иллюстрирует метку DTS и метку PTS относительно шкалы времени PCR.
Фиг.30 иллюстрирует вставку сообщений ECM между группами изображений (GOP) для специализированного режима воспроизведения.
Фиг.31 иллюстрирует вставку сообщений ECM в пределах I-кадра.
Фиг.32 иллюстрирует путь сигнала между вещательной станцией и запоминающим устройством и местоположение для преобразования в гибридный поток.
Фиг.33 иллюстрирует формирование защищенного специализированного режима воспроизведения из полностью зашифрованной записи.
Фиг.34A иллюстрирует блок-схему формирования гибридного потока устройства для обработки потока зашифрованных данных в соответствии с иллюстративным вариантом воплощения изобретения.
Фиг.34B иллюстрирует блок-схему формирования потока для специализированного режима воспроизведения, которая может быть использована вместе с блок-схемой формирования гибридного потока, показанной на фиг.34A, устройства для обработки потока зашифрованных данных в соответствии с иллюстративным вариантом воплощения изобретения.
Фиг.35 иллюстрирует пакеты данных на различных стадиях способа обработки потока зашифрованных данных в соответствии с иллюстративным вариантом воплощения изобретения.
Фиг.36 иллюстрирует устройство для обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, в соответствии с иллюстративным вариантом воплощения изобретения.
ОПИСАНИЕ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Иллюстрация на чертеже является схематической. На разных чертежах сходные или идентичные элементы снабжены одними и теми же знаками для ссылок.
Далее со ссылками на фиг. с 1 по 13 будут описаны различные аспекты реализации специализированного режима воспроизведения для транспортных потоков в соответствии с иллюстративными вариантами воплощения изобретения.
В частности, будет описано несколько возможностей выполнять специализированный режим воспроизведения на потоке, закодированном в стандарте MPEG2, который может быть частично или полностью зашифрован или не зашифрован. Последующее описание будет предназначаться для способов, специфичных для формата транспортного потока в стандарте MPEG2. Однако изобретение не ограничено этим форматом.
Фактически эксперименты были сделаны с расширением, так называемым транспортным потоком с метками времени. Сюда входят пакеты транспортных потоков, ко всем из которых спереди добавлен 4-байтовый заголовок, в который помещено время прибытия пакета транспортного потока. Это время может быть получено из значения шкалы времени PCR в момент, когда первый байт пакета принят в записывающем устройстве. Сохранение информации синхронизации с потоком является подходящим способом, с тем чтобы специализированный режим воспроизведения стал относительно легким процессом.
Одна проблема в течение воспроизведения состоит в том, чтобы гарантировать, что в буфере декодера MPEG2 не возникнет ни переполнения, ни антипереполнения. Если входной поток был совместим с моделью буфера декодера, восстановление относительной синхронизации гарантирует, что выходной поток также является совместимым. Некоторые из описанных здесь способов специализированного режима воспроизведения не зависят от метки времени и выполняются одинаково хорошо на транспортных потоках с метками времени и без них.
Фиг.1 иллюстрирует пакет 100 транспортного потока с метками времени, имеющий полную длину 104, равную 188 байтам, и содержащий метку 101 времени, имеющую длину 105, равную 4 байтам, заголовок 102 пакета и полезную информацию 103, имеющую длину 184 байта.
Данное последующее описание даст краткий обзор возможностей создания потока для специализированного режима воспроизведения, совместимого со стандартом MPEG/DVB (цифровое видеовещание), из записанного транспортного потока и предполагает охватить полный спектр записанных потоков от полностью незашифрованных потоков, в которых можно манипулировать каждым битом, до полностью зашифрованных потоков (например, в соответствии со схемой цифрового видеовещания (DVB)), в которых для манипуляции доступны только заголовки и некоторые таблицы. Изобретение также направлено на решение, находящееся между этими крайними случаями, когда в незашифрованном виде находятся только те данные, которыми нужно манипулировать для формирования потока для специализированного режима воспроизведения.
При создании специализированного режима воспроизведения для транспортного потока стандарта MPEG/DVB могут возникнуть проблемы, когда информационное содержимое, по меньшей мере, частично зашифровано. Может оказаться невозможным перейти на уровень элементарного потока, что является обычным подходом, или даже совершить доступ к любому из заголовков элементарного потока пакетов (PES) перед расшифровкой. Это также означает, что невозможно обнаружение кадров изображений. Известные механизмы специализированного режима воспроизведения должны быть в состоянии получить доступ к этой информации и обрабатывать ее.
В кадре в данном описании термин "ECM" обозначает сообщение управления доступом. Это сообщение может, в частности, содержать секретную частную информацию поставщика и, среди прочего, может содержать зашифрованные контрольные слова (CW), необходимые для расшифровки потока стандарта MPEG. Как правило, контрольные слова теряют силу через 10-20 секунд. Сообщения ECM встроены в пакеты в транспортном потоке.
В кадре в данном описании термин "ключи", в частности, обозначает данные, которые могут быть сохранены в смарт-карте (карточке со встроенной микросхемой) и могут быть переданы в смарт-карту с использованием сообщений EMM, так называемых "сообщений санкционирования доступа", которые могут быть встроены в транспортный поток. Эти ключи могут использоваться смарт-картой для расшифровки контрольных слов, находящихся в сообщении ECM. Иллюстративный срок действия такого ключа составляет один месяц.
В кадре в данном описании термин "контрольные слова" (CW), в частности, обозначает информацию для расшифровки, необходимую, чтобы расшифровать фактическое информационное содержимое. Контрольные слова могут быть расшифрованы посредством смарт-карты и затем сохранены в памяти ядра расшифровки.
Далее будут описаны некоторые аспекты, относящиеся к специализированному режиму воспроизведения на незашифрованных потоках.
Даже если поток стандарта MPEG2 не зашифрован, специализированный режим воспроизведения не является тривиальным. Простым решением является просто более быстрый вывод данных на декодер, чтобы получить режим быстрой перемотки вперед, но поскольку поток стандарта MPEG имеет информацию синхронизации, закодированную в его заголовках, это нельзя просто сделать с ожиданием получить надлежащую быструю перемотку вперед. Помимо этого, может быть трудно решить, какие кадры нужно отбросить, поскольку этот способ выполнения быстрой перемотки вперед может дать частоту кадров выше, чем частота отображения.
Кроме того, такой поток не является транспортным потоком, совместимым со стандартом MPEG2. Это может являться приемлемым, если декодер находится в запоминающем устройстве, но может быть проблематичным, если сигнал передан посредством стандартного цифрового интерфейса. Кроме того, битрейт может резко увеличиться в целой цепи. Если поток для обычного воспроизведения является транспортным потоком с метками времени одной программы, исходящей от спутникового вещания, битрейт на декодер при обычном воспроизведении может составлять около 40 Мбит/с, и пакеты могут находиться в нерегулярных позициях с промежутками между ними (частичный транспортный поток). Если поток сжат с коэффициентом специализированного режима воспроизведения, битрейт может составить около 120 Мбит/с для воспроизведения с трехкратной скоростью. Необходимая поддерживаемая пропускная способность носителя на жестких дисках также может увеличиться с коэффициентом специализированного режима воспроизведения.
Таким образом, следовало бы продолжать посылать правильное количество кадров, но здесь может произойти проблема при использовании такой методики кодирования видео, как стандарт MPEG, который использует временную избыточность видео для достижения высоких степеней сжатия. Кадры больше не могут быть декодированы независимо.
На фиг.2 показана структура множества групп изображений (GOP).
В частности, фиг.2 показывает поток 200, содержащий нескольких структур групп изображений (GOP) стандарта MPEG2 с последовательностью I-кадров 201 и P-кадров 202. Размер группы изображений (GOP) обозначен номером 203. Размер 203 группы изображений (GOP) установлен равным 12 кадрам, и здесь показаны только I-кадры 201 и P-кадры 202.
В стандарте MPEG может использоваться структура группы изображений (GOP), в которой только первый кадр закодирован независимо от других кадров. Это так называемый интра-кодированный кадр или I-кадр 201. Кадры с предсказанием или P-кадры 202 закодированы с однонаправленным предсказанием - это значит, что они зависят только от предыдущего I-кадра 201 или P-кадра 202, как обозначено стрелками 204 на фиг.2.
Такая структура группы изображений (GOP) обычно имеет размер 12 или 16 кадров 201, 202. Предполагается, что желательна скорость воспроизведения вперед с коэффициентом 2х. Таким образом, например, каждый второй кадр должен быть пропущен. Это невозможно в сжатой области вследствие зависимости от предыдущего воссозданного кадра в течение декодирования. Поэтому только отбрасывание некоторых сжатых кадров и поправка информации синхронизации не является вариантом.
Альтернативой является сначала декодирование всего потока, затем пропуск каждого второго кадра и, наконец, кодирование оставшихся кадров снова. Это может привести к недопустимой сложности схемы специализированного режима воспроизведения или программного обеспечения. Так, в лучшем случае, некоторые кадры от группы изображений (GOP) могут быть пропущены, от которых не зависят никакие другие кадры. Для примера воспроизведения со скоростью 2х при размере группы изображений (GOP) в 12 кадров могут быть пропущены только последние 6 P-кадров. В этом случае отображаемые изображения приобретают "дергающийся" характер, при котором получается короткий период с обычной скоростью, за которым следует внезапный скачок во времени. Особенно на более высоких скоростях специализированного режима воспроизведения это может быть неприятным и не дает зрителю ощущения привычного специализированного режима воспроизведения.
На фиг.3 показана другая структура 300 множества групп изображений (GOP).
В частности, фиг.3 показывает структуру группы изображений (GOP) стандарта MPEG2 с последовательностью I-кадров 201, P-кадров 202 и B-кадров 301. Размер группы изображений (GOP) снова обозначен с номером 203.
Возможно использовать структуру группы изображений (GOP), содержащую также кадры с двунаправленным предсказанием или B-кадры 301, как показано на фиг.3. Размер 203 группы изображений (GOP) из 12 кадров выбран для примера. B-кадры 301 закодированы с двунаправленным предсказанием, это значит, что они зависят от предыдущего и следующего I- или P-кадра 201, 202, как обозначено для некоторых B-кадрах 301 кривыми стрелками 204. Порядок передачи сжатых кадров может отличаться от порядка, в котором они отображаются.
Чтобы декодировать B-кадр 301, необходимы оба опорных кадра перед и после B-кадра 301 (в порядке отображения). Чтобы минимизировать требования к буферу в декодере, сжатые кадры могут быть переупорядочены. Так при передаче опорные кадры могут приходить первыми. Переупорядоченный поток, как он передается, также показан на фиг.3 в нижней части. Переупорядочение обозначено прямыми стрелками 302. Поток, содержащий B-кадры 301, может дать хорошее изображение специализированного режима воспроизведения, если пропущены все B-кадры 301. Для настоящего примера это приводит к скорости воспроизведения с коэффициентом 3x в прямом направлении.
Какую бы структуру ни имел поток, описанные до сих пор решения могут дать приемлемую форму специализированного режима воспроизведения для режима быстрой перемотки вперед. Для обратного направления кадры следовало бы переупорядочить во времени, но вследствие того, что стандарт MPEG использует временную корреляцию между последовательными кадрами для достижения высокой степени сжатия, установлен порядок, в котором должны быть декодированы кадры. Поэтому группа изображений (GOP) сначала должна быть декодирована в прямом направлении. Порядок групп изображений (GOP), отправленных декодеру, может быть полностью изменен, и группы изображений (GOP) могут быть пропущены для более высоких скоростей воспроизведения в обратном направлении. Сокращение групп изображений (GOP) посредством пропуска P-кадров или B-кадров, как описано выше, также возможно в этом случае. Так или иначе, это может привести к отображаемой последовательности воспроизведения в прямом направлении и скачкам назад. Поэтому кадры специализированного режима воспроизведения должны быть выбраны из декодированной группы изображений (GOP) и их порядок заменен на обратный, после чего кадры повторно кодируются. Затем выбирается и обрабатывается предыдущая группа изображений (GOP) и так далее. Хотя, возможно, что сложность такой процедуры может быть высокой.
Заключение из предшествующих рассмотрений таково, что использование только I-кадров при формировании специализированного режима воспроизведения может быть надлежащим решением, поскольку эти кадры могут быть декодированы независимо. В результате, формирование специализированного режима воспроизведения может быть более простым, особенно для обратного направления. В дополнение к этому использование только I-кадров уже дает возможность скоростей воспроизведения с коэффициентом 3х или 4х. Для действительно низких скоростей воспроизведения могут быть реализованы более сложные упомянутые выше методики.
Далее будут описаны некоторые аспекты, относящиеся к CPI-файлу (файлу "информации о характеристических точках").
Обнаружение I-кадров в потоке обычно требует синтаксического анализа потока, чтобы найти заголовки кадра. Определение местонахождения позиций, в которых начинаются I-кадры, может быть сделано в то время, когда производится запись, или в автономном режиме после того, как запись закончена, или в полуинтерактивном режиме, фактически являющемся автономным режимом, но с маленькой задержкой относительно момента записи. Конец I-кадра может быть найден посредством обнаружения начала следующего P-кадра или B-кадра. Метаданные, полученные таким образом, могут быть сохранены в отдельном, но привязанном файле, который может быть обозначен как файл информации о характеристических точках или CPI-файл. Этот файл может содержать указатели на начало и конец каждого I-кадра в файле транспортного потока. Каждая индивидуальная запись может иметь свой собственный CPI-файл.
Структура файла 400 информации о характеристических точках визуализирована на фиг.4.
Кроме CPI-файла 400 показана сохраненная информация 401. CPI-файл 400 также может содержать некоторые другие данные, которые здесь не рассматриваются.
С помощью данных из CPI-файла 400 возможно перейти к началу любого I-кадра 201 в потоке. Если CPI-файл 400 также содержит конец I-кадров 201, то точно известно количество данных, которые следует считывать из файла транспортного потока для получения полного I-кадра 201. Если по некоторым причинам конец I-кадра неизвестен, то должна быть считана вся группа изображений (GOP) или, по меньшей мере, большая часть данных группы изображений (GOP), чтобы убедиться, что прочитан весь I-кадр 201. Конец группы изображений (GOP) задается началом следующего I-кадра 201. Из измерений известно, что размеры данных I-кадра могут составлять 40% или более от всех данных группы изображений (GOP).
С помощью извлеченных I-кадров 201 может быть создан новый поток для специализированного режима воспроизведения, который совместим с форматом транспортного потока стандарта MPEG-2. Все, что необходимо - это чтобы кадры для потока для специализированного режима воспроизведения были повторно мультиплексированы правильно, таким образом, чтобы не произошло никаких проблем с буфером для MPEG-декодера. Хотя это решение кажется простым, оно не является тривиальным решением, как станет ясно в дальнейшем.
Далее будут описаны некоторые аспекты, относящиеся к тому, как следует создавать поток для специализированного режима воспроизведения.
С помощью CPI-файла, описывающего, в какой позиции пакета начинается I-кадр 201, а также где I-кадр 201 заканчивается, обеспечивается доступ ко всем I-кадрам 201 из первоначального потока. Но одно лишь последовательное соединение соответствующим образом выбранных I-кадров 201 в один большой поток только из одних I-кадров 201 не приводит к правильному потоку стандарта MPEG, как станет ясно в дальнейшем.
Первым пунктом исследования является битрейт потока для специализированного режима воспроизведения. Например, первоначальный поток имеет средний битрейт видео, равный 4 Мбит/с, и размер 203 группы изображений (GOP), равный 12 кадрам. Битрейт может быть извлечен из измерения на реальном потоке вещания. Предполагается, что поток для специализированного режима воспроизведения состоит только из I-кадров 201, каждый из которых отображается в течение времени одного кадра, что приводит к частоте обновления потока для специализированного режима воспроизведения, равной обычному воспроизведению. Напомним, что размеры данных I-кадра 201 могут составлять 40% от данных группы изображений (GOP). Это число взято из измерения, в котором среднее значение составляло приблизительно 25%. Поэтому в среднем 25% данных должны быть сжаты во времени с коэффициентом 1/12, что приводит к увеличенному в 3 раза битрейту. Таким образом, средний битрейт специализированного режима воспроизведения составил бы 12 Мбит/с с пиковыми значениями приблизительно до 20 Мбит/с. Этот простой пример предназначен для того, чтобы дать представление об эффекте битовой скорости и его происхождении.
Фактически размеры I-кадров 201 известны или могут быть получены из измерения. Поэтому битрейт для потока для специализированного режима воспроизведения, состоящего только из I-кадров 201, как функция времени легко может быть вычислен точно. Битрейт специализированного режима воспроизведения может быть в 2-3 раза выше, чем битрейт обычного воспроизведения, и иногда он может быть выше, чем разрешено стандартом MPEG2. Приняв во внимание, что это пример потока с умеренным битрейтом и что обязательно встретятся потоки с более высокими битрейтами, становится понятно, что должен быть применен некоторый вид сокращения битрейта. Например, битрейт специализированного режима воспроизведения может являться сопоставимым с битрейтом обычного воспроизведения. Это особенно важно, если потоки отправляют декодеру через цифровой интерфейс. Следует избегать дополнительных требований по пропускной способности к интерфейсу вследствие специализированного режима воспроизведения. Первым вариантом является сокращение размера I-кадров 201. Однако это может добавить сложность и ограничения, относящиеся к специализированному режиму воспроизведения для зашифрованных потоков.
Приемлемым для отдельных применений вариантом является сокращение частоты обновления изображения специализированного режима воспроизведения посредством отображения каждого I-кадра 201 несколько раз. Битрейт будет сокращен соответствующим образом. Это может быть достигнуто посредством добавления так называемых пустых P-кадров 202 между I-кадрами 201. Такой пустой P-кадр 202 на самом деле не является пустым, а может содержать данные, дающие инструкцию декодеру повторить предыдущий кадр. Это происходит за счет ограниченного количества битов, которым во многих случаях можно пренебречь по сравнению с I-кадром 201. Из экспериментов известно, что такие структуры группы изображений (GOP) для специализированного режима воспроизведения, как IPP или IPPP, могут быть приемлемыми по качеству изображения специализированного режима воспроизведения и даже выгодными на высоких скоростях специализированного режима воспроизведения. Получающийся битрейт специализированного режима воспроизведения имеет тот же самый порядок, как и битрейт обычного воспроизведения. Также следует упомянуть, что эти структуры могут сократить поддерживаемую пропускную способность, требуемую от запоминающего устройства.
Далее будут описаны некоторые аспекты, относящиеся к вопросам синхронизации и созданию потока.
На фиг.5 схематично изображена система 500 специализированного режима воспроизведения.
Система 500 специализированного режима воспроизведения содержит модуль 501 записи, модуль 502 выбора I-кадров, модуль 503 формирования специализированного режима воспроизведения и MPEG2-декодер 504. Модуль 503 формирования специализированного режима воспроизведения содержит модуль 505 анализа, модуль 506 добавления, модуль 507 пакетирования, модуль 508 табличной памяти и мультиплексор 509.
Модуль 501 записи выдает модулю 502 выбора I-кадров незашифрованные данные 510 в стандарте MPEG2. Мультиплексор 509 выдает MPEG2-декодеру 504 транспортный поток 511, совместимый со стандартом MPEG2 DVB.
Модуль 502 выбора I-кадров считывает отдельные I-кадры 201 из запоминающего устройства 501. То, какие I-кадры 201 выбираются, зависит от скорости специализированного режима воспроизведения, как будет описано ниже. Извлеченные I-кадры 201 используются для создания потока, совместимого со стандартом MPEG-2/DVB, для специализированного режима воспроизведения, который затем отправляют MPEG-2 декодеру 504 для декодирования и визуализации.
Позиция пакетов I-кадра в потоке для специализированного режима воспроизведения не может быть присоединена к синхронизации первоначального транспортного потока. При специализированном режиме воспроизведения ось времени может быть сжата с коэффициентом скорости и в дополнение инвертирована для обратного специализированного режима воспроизведения. Поэтому метки времени первоначального транспортного потока с метками времени могут не являться подходящими для формирования специализированного режима воспроизведения.
Кроме того, первоначальная шкала времени PCR может мешать специализированному режиму воспроизведения. Прежде всего, не гарантируется, что эталонный отсчет времени будет доступен в пределах выбранного I-кадра 201. Но еще более важно то, что шкала времени PCR будет изменена. В соответствии со спецификацией стандарта MPEG2 эта частота должна быть в пределах 30 пакетов в минуту из 27 МГц. Первоначальная шкала времени PCR выполняет это требование, но если она используется для специализированного режима воспроизведения, она будет умножена на коэффициент скорости специализированного режима воспроизведения. Для обратного воспроизведения это даже приводит к шкале времени, идущей в неправильном направлении. Поэтому старая шкала времени PCR должна быть удалена и добавлена новая к потоку для специализированного режима воспроизведения.
Наконец, I-кадры 201 обычно содержат две метки времени, которые говорят декодеру 504, когда следует начать декодировать кадр (метка времени декодирования, DTS) и когда начать его представление, например, отображение (метка времени представления, PTS). Декодирование и представление могут быть начаты, когда соответственно метка DTS или метка PTS равны PCR по шкале времени, которая воссоздается в декодере 504 посредством PCR в потоке. Например, промежуток между значениями меток PTS двух I-кадров 201 соответствует их номинальному промежутку во время отображения. При специализированном режиме воспроизведения этот промежуток времени сжат с коэффициентом скорости. Так как при специализированном режиме воспроизведения используется новая шкала времени PCR, и поскольку промежуток для меток DTS и PTS больше не является правильным, первоначальные метки DTS и PTS I-кадра 201 должны быть заменены.
Чтобы разрешить вышеупомянутые затруднения, I-кадр 201 сначала может быть преобразован в элементарный поток в модуле 505 синтаксического анализа. Затем на уровне элементарного потока добавляются пустые P-кадры 202. Полученная группа изображений (GOP) для специализированного режима воспроизведения отображается в один PES-пакет и преобразуется в пакеты транспортного потока. Затем добавляются исправленные таблицы, такие как таблицы РAТ, РМТ и т.д. На данном этапе вставляется новая шкала времени PCR вместе с метками DTS и PTS. К пакетам транспортного потока спереди добавляется 4-байтовая метка времени, которая привязывается к шкале времени PCR, с тем чтобы поток для специализированного режима воспроизведения мог обрабатываться той же самой схемой вывода, которая используется для обычного воспроизведения.
Далее будут описаны некоторые аспекты, относящиеся к скоростям специализированного режима воспроизведения.
В этом контексте, во-первых, будут рассмотрены фиксированные скорости специализированного режима воспроизведения.
Как упомянуто прежде, может использоваться такая структура группы изображений (GOP) для специализированного режима воспроизведения, как IPP, в которой два пустых P-кадра 202 следуют за I-кадром 201. Предполагается, что первоначальная группа изображений (GOP) имеет размер 203, равный 12 кадрам, и что все первоначальные I-кадры 201 используются для специализированного режима воспроизведения. Это означает, что I-кадры 201 в потоке для обычного воспроизведения имеют промежуток в 12 кадров, и те же самые I-кадры 201 в потоке для специализированного режима воспроизведения имеют промежуток в 3 кадра. Это приводит к скорости специализированного режима воспроизведения, равной 12/3=4x. Если первоначальный размер 203 группы изображений (GOP) в кадрах обозначен как G, размер группы изображений (GOP) для специализированного режима воспроизведения в кадрах обозначен как T, и коэффициент скорости специализированного режима воспроизведения обозначен как Nb, то скорость специализированного режима воспроизведения в общем виде задается как:
Nb=G/T (1),
N b будет также называться базовой скоростью. Более высокие скорости могут быть реализованы посредством пропуска I-кадров 201 из первоначального потока. Если взят каждый второй I-кадр 201, скорость специализированного режима воспроизведения удваивается, если взят каждый третий I-кадр 201, скорость специализированного режима воспроизведения утраивается, и так далее. Другими словами, расстояние между используемыми I-кадрами 201 из первоначального потока равно 2, 3 и так далее. Это расстояние всегда может быть целым числом. Обозначая расстояние между I-кадрами 201, используемыми для формирования специализированного режима воспроизведения, как D (D=1 означает, что используется каждый I-кадр 201), коэффициент N скорости специализированного режима воспроизведения в общем виде задается как:
N=D*G/T (2)
Это означает, что могут быть реализованы все целочисленные коэффициенты базовой скорости, что приводит к приемлемому набору скоростей. Следует отметить, что D является отрицательным для обратного специализированного режима воспроизведения, и что D=0 приводит к неподвижному изображению. Данные могут быть прочитаны только в прямом направлении. Поэтому при обратном воспроизведении данные считываются в прямом направлении и делается перескок назад на заданное значение D для извлечения предыдущего I-кадра 201. Следует также отметить, что больший размер T группы изображений (GOP) для специализированного режима воспроизведения приводит к более низкой базовой скорости. Например, структура IPPP приводит к набору скоростей с большей ступенчатостью, чем структура IPP.
Далее со ссылкой на фиг.6 будет объяснено сжатие времени при специализированном режиме воспроизведения.
Фиг.6 показывает ситуацию для Т=3 (IPP) и G=12. Для D=2 первоначальное время отображения 24 кадров сжато во время отображения специализированного режима воспроизведения 3 кадров, что дает N=8. В данном примере базовая скорость является целым числом, но это не обязательно так. Для G=16 и T=3 базовая скорость составляет 16/3=5 1/3, что не приводит к набору целочисленных скоростей специализированного режима воспроизведения. Поэтому структура IPPP (T=4) лучше подходит для размера группы изображений (GOP), равного 16, что приводит к базовой скорости 4x. Если желательна одна структура специализированного режима воспроизведения, которая соответствует наиболее общим размерам группы изображений (GOP) 12 и 16, может быть выбрана структура IPPP.
Во-вторых, будут рассмотрены произвольные скорости специализированного режима воспроизведения.
В некоторых случаях набор скоростей специализированного режима воспроизведения, получающийся из описанного выше способа, является удовлетворительным, в некоторых случаях - нет. В случае G=16 и T=3, вероятно, по-прежнему предпочтительным являлся бы целочисленный коэффициент скорости специализированного режима воспроизведения. Даже в случае G=12 и T=4 было бы предпочтительно иметь скорость, не доступную в наборе, например, 7x. Теперь формула скорости специализированного режима воспроизведения будет инвертирована, и будет вычислено расстояние D, которое задается как:
D=N*T/G (3)
Используя приведенный выше пример с G=12, T=4 и N=7 приводит к D=2 1/3. Вместо того, чтобы пропускать фиксированное количество I-кадров 201, мог бы использоваться адаптивный алгоритм для пропуска, который выбирает следующий I-кадр 201 на основе того, какой I-кадр 201 лучше подходит для требуемой скорости. Чтобы выбирать наиболее подходящий I-кадр 201, может быть вычислена следующая идеальная точка Ip на расстоянии D, и может быть выбран один из I-кадров 201, являющийся наиболее близким к этой идеальной точке, чтобы создать группу изображений (GOP) для специализированного режима воспроизведения. На следующем шаге снова может быть вычислена следующая идеальная точка посредством увеличения последней идеальной точки на величину D.
Как показано на фиг.7, иллюстрирующей специализированный режим воспроизведения с дробными расстояниями, имеется, в частности, три возможности выбора I-кадра 201:
A. I-кадр, самый близкий к идеальной точке; I=round(Ip)
B. Последний I-кадр перед идеальной точкой; I=int(Ip)
C. Первый I-кадр после идеальной точки; I=int(Ip)+1
Как хорошо видно, фактическое расстояние варьируется между int(D) и int(D)+1, и соотношение между возникновениями этих двух случаев зависит от дробной части D таким образом, что среднее расстояние является равным D. Это означает, что средняя скорость специализированного режима воспроизведения равна N, но фактически используемый кадр имеет малую флуктуацию относительно идеального кадра. Были выполнены несколько экспериментов, и хотя скорость специализированного режима воспроизведения может изменяться локально, это визуально не раздражает. Обычно это даже не заметно, особенно на достаточно высоких скоростях специализированного режима воспроизведения. Из фиг.7 также ясно, что нет существенного различия, выбрать ли способ А, В или С.
С помощью этого способа скорость N специализированного режима воспроизведения может не быть целым числом, но может быть любым числом, большим базовой скорости Nb. Скорости ниже этого минимума также могут быть выбраны, но тогда частота обновления изображения может локально снизиться, поскольку эффективный размер T группы изображений (GOP) для специализированного режима воспроизведения удваивается или на еще более низких скоростях даже утраивается или более. Это происходит из-за повторения групп изображений (GOP) для специализированного режима воспроизведения, поскольку алгоритм выберет один и тот же I-кадр 201 более одного раза.
Фиг.8 показывает пример для D=2/3, что эквивалентно N=2/3 Nb. Здесь для выбора I-кадров 201 используется функция округления, и как можно заметить, кадры 2 и 4 выбираются дважды.
Так или иначе, описанный способ предусматривает непрерывно переменную скорость специализированного режима воспроизведения. Для обратного воспроизведения выбирается отрицательное значение N. Для примера на фиг.7 это просто означает, что стрелки 700 указывают в другом направлении. Описанный способ будет также включать в себя наборы фиксированных скоростей специализированного режима воспроизведения, упомянутые ранее, и они будут иметь такое же качество, особенно если будет использоваться функция округления. Поэтому было бы уместно, чтобы всегда был реализован описанный в этом разделе гибкий способ, каким бы ни был выбор скоростей.
Далее будут рассмотрены некоторые аспекты, связанные с частотой обновления изображения специализированного режима воспроизведения.
Термин "частота обновления", в частности, обозначает частоту, с которой отображаются новые изображения. Хотя она не зависит от скорости, она будет кратко рассмотрена здесь, поскольку она может влиять на выбор T. Если обозначить частоту обновления первоначального изображения как R (25 или 30 Гц), частота обновления изображения специализированного режима воспроизведения (Rt) задается как:
Rt=R/T (4)
Для структуры группы изображений (GOP) для специализированного режима воспроизведения IPP (T=3) или IPPP (T=4) частота Rt обновления соответственно составляет 8 1/3 или 6 1/4 Гц для Европы и 10 или 7 1/2 Гц для США. Хотя мнение о качестве изображения специализированного режима воспроизведения является довольно субъективным вопросом, из экспериментов имеются ясные указания на то, что эти частоты обновления приемлемы для низких скоростей и даже выгодны на более высоких скоростях.
Далее будут описаны некоторые аспекты, относящиеся к ситуациям с зашифрованным потоком.
Далее представлена некоторая информации о зашифрованных транспортных потоках в качестве основы для описания специализированного режима воспроизведения на зашифрованных потоках. Она сосредоточена на системе условного доступа, используемой для вещания.
Фиг.9 иллюстрирует систему 900 условного доступа, которая будет описана далее.
В системе 900 условного доступа информационное содержимое 901 может быть выдано модулю 902 шифрования информационного содержимого. После шифрования информационного содержимого 901 модуль 902 шифрования информационного содержимого снабжает модуль 904 расшифровки информационного содержимого зашифрованным информационным содержимым 903.
Контрольное слово 906 может быть предоставлено модулю 902 шифрования информационного содержимого и модулю 907 формирования сообщений ECM. Модуль 907 формирования сообщений ECM формирует сообщение ECM и выдает его модулю 908 декодирования сообщений ECM смарт-карты 905. Модуль 908 декодирования сообщений ECM формирует из сообщения ECM контрольное слово, которое является информацией для расшифровки, необходимой и выдаваемой модулю 904 расшифровки информационного содержимого для расшифровки зашифрованного информационного содержимого 903.
Кроме того, ключ 910 авторизации выдается модулю 907 формирования сообщений ECM и модулю 911 формирования сообщений управления ключами (KMM), причем последний формирует сообщение KMM и выдает его модулю 912 декодирования сообщений KMM смарт-карты 905. Модуль 912 декодирования сообщений KMM выдает выходной сигнал модулю 908 декодирования сообщений ECM.
Кроме того, групповой ключ 914 может быть выдан модулю 911 формирования сообщений KMM и модулю 915 формирования сообщений групповых ключей (GKM), которому дополнительно может быть выдан пользовательский ключ 918. Модуль 915 формирования сообщений GKM формирует сигнал сообщения GKM и выдает его модулю 916 декодирования сообщений GKM смарт-карты 905, причем модуль 916 декодирования сообщений GKM получает в качестве дополнительной входной информации пользовательский ключ 917.
Кроме того, права 919 доступа могут быть выданы модулю 920 формирования сообщений EMM, который формирует сигнал сообщения EMM и выдает его модулю 921 декодирования сообщений EMM. Модуль 921 декодирования сообщений EMM, расположенный в смарт-карте 905, соединен с модулем 913 списка прав доступа, который выдает модулю 908 декодирования сообщений ECM соответствующую управляющую информацию.
ECM обозначает сообщения управления доступом, KMM обозначает сообщения управления ключами, GKM обозначает сообщения групповых ключей и EMM обозначает сообщения санкционирования доступа.
Во многих случаях поставщики информационного содержимого и поставщики услуг хотят управлять доступом к определенным элементам информационного содержимого через систему условного доступа (CA).
Чтобы достичь этого, передаваемое по вещанию информационное содержимое 901 зашифровывается под управлением системы 900 условного доступа (CA). В приемнике информационное содержимое расшифровывается перед декодированием и визуализацией, если система 900 условного доступа (CA) разрешает доступ.
Система 900 условного доступа (CA) использует многоуровневую иерархию (фиг.9). Система 900 условного доступа (CA) передает ключ для расшифровки информационного содержимого (контрольное слово (CW) 906, 909) от сервера клиенту в виде зашифрованного сообщения, называемого сообщением управления доступом (ECM). Сообщения ECM зашифрованы с использованием ключа 910 авторизации (АК). Из соображений безопасности сервер 900 условного доступа может обновлять ключ 910 авторизации посредством выдачи сообщения KMM (сообщения управления ключами). Сообщение KMM фактически является специальным типом сообщения EMM (сообщения санкционирования доступа), но для ясности может использоваться термин KMM. Сообщения KMM также зашифрованы с использованием ключа, который, например, может являться групповым ключом (GK) 914, который обновляется посредством отправки сообщения GKM (сообщения групповых ключей), которое опять-таки является специальным типом сообщения EMM. Сообщения GKM зашифрованы с помощью пользовательского ключа (UK) 917, 918, который является фиксированным уникальным ключом, встроенным в смарт-карту 905 и известным только системе 900 условного доступа (CA) провайдера. Ключи авторизации и групповые ключи сохраняются в смарт-карте 905 приемника.
Права 919 доступа (например, права просмотра) отправляют индивидуальным клиентам в виде сообщений EMM (сообщений санкционирования доступа) и сохраняют локально в защищенном устройстве (смарт-карте 905). Права 919 доступа привязаны к заданной программе. Список 913 прав доступа дает доступ к группе программ в зависимости от типа подписки. Сообщения ECM преобразуются в ключи (контрольные слова) посредством смарт-карты 905, только если для заданной программы имеется право 919 доступа. Сообщения EMM с правами доступа подчинены идентичной многоуровневой структуре, как сообщения KMM (не изображено на фиг.9).
В системе стандарта MPEG2 зашифрованное информационное содержимое, сообщения ECM и EMM (в том числе сообщения типов KMM и GKM) мультиплексированы в единый транспортный поток стандарта MPEG2.
Представленное выше описание является обобщенным представлением системы 900 условного доступа (CA). В вещании цифрового видео определены только алгоритм шифрования, нечетная/четная структура контрольных слов, глобальная структура сообщений ECM и EMM и их ссылки. Подробная структура системы 900 условного доступа (CA) и способы кодирования и использования полезной информации сообщений ECM и EMM являются зависимыми от поставщика. Смарт-карта также является зависимой от поставщика. Однако из опыта известно, что многие поставщики существенно придерживаются структуры с обобщенным представлением, показанным на фиг.9.
Далее будут рассмотрены темы шифрования/расшифровки стандарта DVB.
Применяемый алгоритм шифрования и расшифровки определен организацией по стандартизации DVB. В принципе, определены две возможности шифрования, а именно шифрование на уровне PES (элементарного потока пакетов) и шифрование на уровне TS (транспортного потока). Однако в действительности используется, главным образом, способ шифрования на уровне TS. Шифрование и расшифровка пакетов транспортного потока делается на основе пакетов. Это означает, что алгоритм шифрования и расшифровки перезапускается каждый раз, когда принят новый пакет транспортного потока. Поэтому пакеты могут быть зашифрованы или расшифрованы индивидуально. В транспортном потоке зашифрованные и незашифрованные пакеты перемешаны, поскольку некоторые части потока зашифрованы (например, аудио/видео), а другие нет (например, таблицы). Даже в пределах одной части потока (например, видео) зашифрованные и незашифрованные пакеты могут быть перемешаны.
Далее со ссылкой на фиг.10 будет описан зашифрованный с помощью алгоритма DVB пакет 1000 транспортного потока.
Пакет 1000 потока имеет длину 1001, равную 188 байтам, и содержит три части. Заголовок 1002 пакета имеет размер 1003, равный 4 байтам. После заголовка 1002 пакета в пакет 1000 потока может быть вставлено поле 1004 адаптации. После него может быть отправлена зашифрованная с помощью алгоритма DVB полезная информация 1005 пакета.
Фиг.11 иллюстрирует подробную структуру заголовка 1002 пакета транспортного потока, показанного на фиг.10.
Заголовок 1002 пакета транспортного потока содержит блок 1010 синхронизации (SYNC), индикатор 1011 транспортной ошибки (TEI), который может указывать транспортные ошибки в пакете, индикатор 1012 начала блока полезной информации (PLUSI), который может, в частности, указывать возможное начало PES-пакета в последующей полезной информации 1005, блок 1017 транспортного приоритета (ТРI), указывающий приоритет транспорта, идентификатор 1013 пакета (PID), используемый для определения назначения для пакета, поле 1014 управления скремблированием (SCB), используемое для выбора контрольного слова, которое необходимо для расшифровки пакета транспортного потока, поле 1015 адаптации (AFLD) и счетчик 1016 непрерывности (CC). Таким образом, фиг.10 и фиг.11 показывают пакет 1000 транспортного потока стандарта MPEG2, который был зашифрован и который содержит различные части:
- заголовок 1002 пакета находится в незашифрованном виде. Это служит для того, чтобы получить важную информацию, такую как идентификатор пакета (PID), наличие поля адаптации, биты управления скремблированием и т.д.;
- поле 1004 адаптации также находится в незашифрованном виде. Оно может содержать важную информацию синхронизации, такую как PCR;
- зашифрованная с помощью алгоритма DVB полезная информация 1005 пакета содержит фактическое информационное содержимое программы, которое может быть зашифровано с использованием алгоритма DVB.
Чтобы выбирать правильное контрольное слово, которое необходимо для расшифровки переданной программы, необходимо проанализировать заголовок пакета транспортного потока. Схематический обзор этого заголовка дан на фиг.11. Важным полем для расшифровки переданной программы является поле 1014 битов управления скремблированием (SCB). Это поле 1014 SCB указывает, какое контрольное слово дешифратор должен использовать для расшифровки переданной программы. Кроме того, оно указывает, зашифрована ли полезная информация пакета или она находится в незашифрованном виде. Для каждого нового пакета транспортного потока должно анализироваться это поле 1014 SCB, так как оно изменяется с течением времени и может измениться от пакета к пакету.
Далее будут описаны некоторые аспекты, связанные со специализированным режимом воспроизведения на полностью зашифрованных потоках.
Первая причина, почему эта тема является интересной, состоит в том, что специализированный режим воспроизведения на незашифрованных и полностью зашифрованных потоках являются двумя крайними случаями из диапазона возможностей. Другая причина состоит в том, что существуют применения, в которых может быть необходимо делать запись полностью зашифрованных потоков. Таким образом, было бы полезно иметь под рукой методику для выполнения специализированного режима воспроизведения на полностью зашифрованном потоке. Основной принцип заключается в том, чтобы прочитать достаточно большой блок данных из запоминающего устройства, расшифровать его, выбрать I-кадр в блоке и создать с его помощью поток для специализированного режима воспроизведения.
Такая система 1200 изображена на фиг.12.
Фиг.12 показывает основной принцип специализированного режима воспроизведения на полностью зашифрованном потоке. С этой целью данные, сохраненные на жестком диске 1201, выдаются в качестве транспортного потока 1202 дешифратору 1203. Кроме того, жесткий диск 1201 выдает смарт-карте 1204 сообщение ECM, причем смарт-карта 1204 формирует контрольные слова из этого сообщения ECM и отправляет их дешифратору 1203.
Используя контрольные слова, дешифратор 1203 расшифровывает зашифрованный транспортный поток 1202 и отправляет расшифрованные данные датчику I-кадров и фильтру 1205. Оттуда данные выдаются блоку 1206 вставки пустых P-кадров, который передает данные телеприставке 1207. Оттуда данные выдаются на телевизор 1208.
Далее будут упомянуты некоторые аспекты относительно вопроса, что содержит запись.
При записи одного канала запись должна содержать все данные, требуемые для воспроизведения записи канала на более поздней стадии. Можно прибегнуть просто к записи всего на некотором передатчике, но при этом будет записано намного больше, чем нужно для воспроизведения программы, предназначенной для записи. Это означает, что и пропускная способность, и память будут потрачены впустую. Таким образом, вместо этого должны быть записаны только действительно необходимые пакеты. Для каждой программы это означает, что нужно сделать запись всех обязательных пакетов стандарта MPEG2, таких как таблица PAT (таблица связей программы), таблица CAT (таблица условного доступа) и, очевидно, для каждой программы видео- и аудиопакеты, а также таблица PMT (таблица карты программы), которая описывает, какие пакеты принадлежат программе. Кроме того, таблицы CAT/PMT могут описывать пакеты условного доступа (сообщения ECM), необходимые для расшифровки потока. Если после расшифровки запись не сделана в расшифрованном виде, эти пакеты ECM также должны быть записаны.
Если сделанная запись состоит не из всех пакетов из полного мультиплексирования, запись становится так называемым частичным транспортным потоком 1300 (фиг.13). Кроме того, фиг.13 иллюстрирует полный транспортный поток 1301. Стандарт DVB требует, чтобы при воспроизведении частичного транспортного потока 1300 все обычные обязательные таблицы стандарта DVB, такие как таблица NIT (таблица информации сети), BAT (таблица привязки букета) и т.д., были удалены. Вместо этих таблиц частичный поток должен иметь вставленные таблицы SIT (таблица информации выбора) и DIT (таблица информации разрыва последовательности).
Далее со ссылкой на фиг. с 14 по 36 будут описаны системы, которые могут обрабатывать поток данных в соответствии с иллюстративными вариантами воплощения изобретения.
Следует подчеркнуть, что описываемые далее системы могут быть реализованы в рамках и в комбинации с любой из систем, описанных со ссылкой на фиг. с 1 по 13.
Далее будут описаны аспекты, относящиеся к специализированному режиму воспроизведения на гибридных потоках.
Затем будут рассмотрены незашифрованные I-кадры.
Запись, в которой I-кадры 201 находятся в незашифрованном виде, а остальная часть зашифрована, является альтернативой полностью незашифрованного потока с точки зрения специальных функциональных возможностей хранения, таких как быстрая перемотка вперед/назад.
Далее со ссылкой на фиг.14 будет описана система 1400 для передачи данных между вещательной станцией 1401 и запоминающими устройствами 1406, 1408 и 1409 в соответствии с иллюстративным вариантом воплощения изобретения.
Вещательная станция 1401 передает данные на спутниковую антенну 1402, от которой через спутник 1403 данные передаются спутниковой антенне 1404. От спутниковой антенны 1404 данные передаются на центральную станцию 1405 кабельного телевидения, на абонентский шлюз 1407 и на запоминающее устройство 1409. С центральной станции 1405 кабельного телевидения данные могут быть далее переданы на запоминающее устройство 1406. От абонентского шлюза 1407 данные могут быть далее переданы на запоминающее устройство 1408.
Как показано на фиг.14, возможны, в частности, четыре различных способа того, как может быть сформирован незашифрованный поток I-кадров. Как обозначено цифрой "1", вещательная станция 1401 может формировать незашифрованный поток I-кадров. Как обозначено цифрой "2", станция 1405 кабельного телевидения может формировать незашифрованный поток I-кадров. Как обозначено цифрой "3", абонентский шлюз 1407 может формировать незашифрованный поток I-кадров. Как обозначено цифрой "4", запоминающее устройство 1409 может формировать незашифрованный поток I-кадров.
Как изображено на фиг.14, имеется несколько мест в цепочке поставки, где такой поток может быть создан.
Варианты "1" и "2" могут быть благоприятными ситуациями, при которых в оборудовании потребителя не нужны никакие действия. В случае "3" действия могут быть ограничены только одним домашним устройством, являющимся абонентским шлюзом 1407. Вариант "4" может являться наиболее реалистичным.
Непосредственно на входе модуля хранения поток теперь может содержать, по меньшей мере, незашифрованные I-кадры, и остальная часть может быть зашифрована или также находиться в незашифрованном виде в зависимости от вида передачи, которая сохраняется. Это означает, что во всех случаях могут быть сформированы данные CPI, относящиеся к точкам начала и окончания I-кадров. Данные, извлеченные с использованием данных CPI, во время специализированного режима воспроизведения теперь содержат только незашифрованные I-кадры. Это означает, что для системы специализированного режима воспроизведения может не существовать никакого различия между специализированным режимом воспроизведения на полностью незашифрованном потоке и специализированным режимом воспроизведения на гибридном потоке.
Далее будут описаны аспекты, относящиеся к незашифрованным пакетам.
Одна возможность состоит в том, что сформированный поток для специализированного режима воспроизведения является полностью незашифрованным; является ли первоначальный поток незашифрованным или (частично) зашифрованным. Это не является проблемой, если механизм специализированного режима воспроизведения и декодер/визуализатор находятся в одном и том же устройстве. Но если поток для специализированного режима воспроизведения создан на сервере и затем распределяется по сети, может быть нежелательно или не разрешено поставщиком информационного содержимого иметь поток для специализированного режима воспроизведения в незашифрованном виде. То же самое может быть справедливо для обычного воспроизведения.
Далее со ссылкой на фиг.15 будет описана система 1500, относящаяся к специализированному режиму воспроизведения на незашифрованной записи.
Модуль 1501 записи соединен с модулем 1503 выбора кадров и выдает последнему незашифрованные данные 1502 стандарта MPEG2. Модуль 1503 выбора кадров соединен с модулем 1504 формирования специализированного режима воспроизведения, который выдает MPEG2-декодеру транспортный поток 1506, совместимый со стандартом MPEG2 DVB.
Если первоначальный записанный поток находится в незашифрованном виде, как изображено на фиг.15, не должно быть проблем в том, что поток для специализированного режима воспроизведения также находится в незашифрованном виде. Но даже на потоке, который был записан, будучи полностью зашифрованным, может быть сформирован поток для специализированного режима воспроизведения, который находится полностью в незашифрованном виде, как показано на фиг.16.
В дополнение к системе 1500 система 1600 дополнительно содержит модуль 1602 выбора блоков, которому выдаются зашифрованные данные 1601 стандарта MPEG2 от записывающего устройства 1501. Кроме того, между модулем 1602 выбора блоков и модулем 1503 выбора кадров обеспечивается модуль 1603 расшифровки.
В этой ситуации незашифрованный поток для специализированного режима воспроизведения может быть нежелателен. При определенных обстоятельствах может не являться возможным просто обойти дешифратор, поскольку никакой поток для специализированного режима воспроизведения не может быть создан из полностью зашифрованного потока. Решение может состоять в том, чтобы снова зашифровать сформированный незашифрованный поток для специализированного режима воспроизведения. Может быть необходимо скорректировать, какой список ключей (контрольные слова, сообщения ECM и т.д.) и алгоритм шифрования должны использоваться. Например, может быть не разрешено добавлять DVB-шифратор к потребительскому устройству, таким образом, в этом случае должен быть выбран другой формат шифрования. Это может быть другая система шифрования, такая как DES, 3DES, AES и т.д. Выполнение этого означало бы, что текущие телеприставки (STB) не смогут расшифровать потоки для специализированного режима воспроизведения. Помимо этого, обычное воспроизведение реализовано посредством передачи первоначального с помощью алгоритма DVB потока на телеприставку (STB) без каких-либо модификаций на уровне шифрования. Таким образом, приспособленная телеприставка не только должна была бы уметь расшифровывать другой формат, она также должна была бы уметь определять, какой из форматов использовать на какой части принятого потока. Это может являться не тривиальным, поскольку никакие указания на это не присутствуют непосредственно в самом потоке. По своей природе специализированный режим воспроизведения должен был бы обрабатываться по-другому в отличие от обычного воспроизведения.
Желательное решение состоит в том, что и обычное воспроизведение, и специализированный режим воспроизведения находятся в формате шифрования DVB, но нельзя использовать DVB-шифратор.
Далее будет описано основное решение проблемы шифрования.
Будет объяснено, как можно сформировать зашифрованный с помощью алгоритма DVB поток для специализированного режима воспроизведения даже в сценарии, при котором использование механизма шифрования DVB не позволяется в домашних условиях. Прежде всего, следует отметить, что зашифрованный поток для специализированного режима воспроизведения должен быть необходим только тогда, когда первоначальный поток для обычного воспроизведения также зашифрован. Помня об этом, поток для специализированного режима воспроизведения может быть создан непосредственно из зашифрованных пакетов транспортного потока для обычного воспроизведения. Это подразумевает, что формирование потока для специализированного режима воспроизведения на уровне элементарного потока может больше не являться возможным. Он, должно быть, сформирован непосредственно на уровне транспортного потока.
Для этого формирования специализированного режима воспроизведения может быть, по меньшей мере, необходимо знать, где в зашифрованном транспортном потоке для обычного воспроизведения расположены I-кадры. Это может быть достигнуто посредством расшифровки потока, обнаружения I-кадров и формирования указателей на начало и конец I-кадра в зашифрованном потоке. Но для формирования пригодного потока для специализированного режима воспроизведения может быть необходимо изменить некоторые данные в зашифрованной полезной информации некоторых пакетов. Это может быть сделано, только если эти пакеты сначала расшифрованы и затем адаптированы. Однако адаптированные пакеты не могут быть повторно зашифрованы. Поэтому некоторые пакеты в потоке для специализированного режима воспроизведения всегда будут находиться в незашифрованном виде. Предпочтительно эти пакеты уже записаны в незашифрованном виде. Тогда эти незашифрованные пакеты также дают возможность прямого обнаружения позиции I-кадров, которая затем сохраняется в CPI-файле.
На фиг.17 проиллюстрирован специализированный режим воспроизведения на частично зашифрованной записи.
В системе 1700, показанной на фиг.17, по сравнению с фиг.15, модулю 1503 выбора кадров блоком 1501 записи выдаются частично зашифрованные данные 1701 стандарта MPEG2. Кроме того, модуль 1504 формирования специализированного режима воспроизведения выдает модулю 1703 MPEG2-декодера и дешифратору совместимый со стандартом MPEG2 DVB транспортный поток 1702, являющийся частично зашифрованным.
Количество незашифрованных данных в потоке должно быть минимизировано таким образом, что он фактически по-прежнему является хорошо защищенным зашифрованным потоком. Далее термин "гибридный поток" может обозначать такой поток.
Далее будет описано, какие части потока данных минимально должны быть в незашифрованном виде.
Как упомянуто выше, расшифровывается не все, а только то, что действительно необходимо. Чтобы узнать, что необходимо, был проанализирован практический поток вещания.
- Кроме разрывов непрерывности в счетчике непрерывности, который расположен в незашифрованном заголовке пакета, первое, что нужно адаптировать - это поля меток PTS/DTS в заголовке PES. Таким образом, пакет транспортного потока, который содержит эти поля, нужен в незашифрованном виде. Это также означает, что пакет, в котором начинается I-кадр, обычно находится в незашифрованном виде.
- Следующее, что может быть неправильным - это последний пакет I-кадра, который может также содержать начало следующего P-кадра или B-кадра. Поэтому этот пакет может быть скорректирован посредством удаления всех данных, не относящихся к I-кадру, и заполнения пакета. Таким образом, этот пакет также должен быть в незашифрованном виде.
- Все пакеты между этими двумя пакетами содержат только видеоданные I-кадра, которые могут использоваться, как есть, и поэтому оставаться зашифрованными.
- Чтобы добавить правильные пустые кадры, может быть необходимо знать разрешающую способность изображения, и чтобы добавить новую шкалу времени, может быть необходимо знать частоту кадров. Все необходимые данные могут быть найдены в полях заголовка PES/ES.
Не гарантируется, что все заголовки PES/ES находятся в пакете с полем PLUSI. Если все данные заголовка не находятся в одном пакете, следующий пакет(ы) также нужен в незашифрованном виде, чтобы имелся доступ к описанным ниже полям.
В заголовке PES, который гарантированно начинается в пакете с полем PLUSI, может быть необходимо изменить три поля:
- PES_packet_length (длина PES-пакета)
- PTS (метка времени представления)
- DTS (метка времени декодирования)
Метки PTS и DTS не являются обязательными. Однако они должны быть изменены, когда присутствуют.
Чтобы создать пустые P-кадры правильного типа, добавить новую шкалу времени и исправить временную ссылку I-кадра, могут быть необходимы некоторые данные из заголовков ES.
Прежде всего, из заголовка последовательности могут быть необходимы поля:
- Horizontal_size_value (значение размера по горизонтали)
- Vertical_size_value (значение размера по вертикали)
- Frame_rate_code (значение скорости кадров)
В расширении последовательности имеется один флаг, который может быть важен:
- Progressive sequence flag (флаг прогрессивной последовательности)
В заголовке изображения один элемент возможно необходимо изменить:
- Temporal reference (временная ссылка)
Наконец, от расширения кодирования изображения возможно необходимо получить доступ к двум полям:
- Picture_structure (структура изображения)
- Top_field_first (верхнее поле)
После извлечения этих данных возможно выбрать тип пустого кадра, который должен быть добавлен. Возможно использовать предварительно созданную таблицу поиска, которая содержит пустые кадры, созданные для всех возможных, перечисленных выше комбинаций, принимая во внимание ограничения стандарта MPEG2. Хотя спецификации не требуют, чтобы все эти поля присутствовали для каждой группы изображений (GOP), полагается, что нет сигнала вещания, который опускает эти поля. Причина может состоять в том, что декодер также будет должен иметь доступ к этим заголовкам, чтобы правильно декодировать данные как можно скорее после переключения между станциями.
Таким образом, все, что может быть необходимо в незашифрованном виде для каждого I-кадра, представляет собой несколько пакетов, по меньшей мере, один в начале и один в конце. Также имеется преимущество, что возможно легко определить точную позицию каждого I-кадра. Потоки только с этими пакетами в незашифрованном виде фактически по-прежнему являются полностью зашифрованными, первый пакет каждого I-кадра обычно не содержит почти никаких видеоданных, но существует исключительно для данных заголовка (P) ES. Последний пакет I-кадра также может содержать некоторые данные следующего P-кадра или B-кадра, но они будут в любом случае удалены.
Далее будет рассмотрено, как выбрать пакеты, которые должны быть в незашифрованном виде.
Когда гибридный поток создается, следует решить, какие пакеты должны быть в незашифрованном виде. Чтобы позволять обнаружение и выбор необходимых незашифрованных данных, видеопоток может быть сначала полностью расшифрован. Затем может быть определено местоположение этих данных в незашифрованном потоке, и незашифрованные пакеты, в которых они расположены, могут заменить зашифрованные пакеты в первоначальном потоке, чтобы сформировать гибридный поток.
Чтобы выбирать незашифрованные данные, могут использоваться следующие три критерия:
1. Метки DTS/PTS в заголовке PES могут быть заменены, если они присутствуют. С этой целью все данные заголовка PES могут быть помещены в незашифрованном виде. Это означает, что пакеты в пределах от пакета с установленным битом поля PLUSI до пакета, содержащего последний байт заголовка PES, могут быть все переведены в незашифрованный вид.
2. Может быть необходима некоторая информация из заголовка последовательности и расширения последовательности. С этой целью все данные из заголовка последовательности до начального кода изображения могут быть переведены в незашифрованный вид. Заголовок последовательности и начальный код изображения могут быть обнаружены посредством проверки четырехбайтового кода. Эти четыре байта не обязательно расположены в одном и том же пакете. Заголовок последовательности и начальный код изображения обнаружены, когда найдены последние из четырех байтов. Чтобы избегать чрезмерной буферизации для построения гибридного потока, все пакеты от пакета, содержащего четвертый байт заголовка последовательности, до пакета, содержащего четвертый байт начального кода изображения, могут быть переведены в незашифрованный вид. Это может привести к некоторым особым ситуациям при поиске заголовка последовательности и начального кода изображения в результирующем гибридном потоке.
3. Начальный код изображения может быть необходим для обнаружения границ кадра. Поэтому пакет, содержащий начальный код изображения, должен быть переведен в незашифрованный вид. Два байта после начального кода изображения также должны быть в незашифрованном виде. Эти байты содержат временную ссылку, которую может быть необходимо изменить, и тип кодирования изображения, который идентифицирует I-кадр, P-кадр или B-кадр. Кроме того, может быть необходима некоторая информация из расширения кодирования изображения. С этой целью все данные от начального кода изображения до конца расширения кодирования изображения могут быть переведены в незашифрованный вид. Начальный код изображения может быть обнаружен, когда найден четвертый байт. Чтобы избегать чрезмерной буферизации, все пакеты от пакета, содержащего четвертый байт начального кода изображения, до пакета, содержащего последний байт расширения кодирования изображения, могут быть переведены в незашифрованный вид. Это приведет к незашифрованным пакетам на всех границах кадра, что является более чем необходимым для построения рассмотренных до сих пор потоков для специализированного режима воспроизведения. Но это может быть необходимо для построения потока для замедленного воспроизведения в прямом направлении.
Далее будет объяснено, что означает чрезмерная буферизация и что ее вызывает. Если построен гибридный поток, пакеты из первоначального зашифрованного потока и расшифрованного потока могут быть объединены в один поток. Если это делается в реальном времени, может быть необходима некоторая буферизация. Можно предположить, что начальный код изображения распределен по более чем двум пакетам видео. Этот четырехбайтовый начальный код изображения может быть обнаружен в расшифрованном потоке в момент, когда найден последний байт. Иметь полный начальный код изображения в незашифрованном виде означает, что в незашифрованном виде должен быть не только пакет видео с этим последним байтом, но также и предыдущий пакет видео.
Между этими двумя пакетами видео могут находиться и обычно будут находиться другие данные. В принципе, это может быть большое количество пакетов.
Далее со ссылкой на фиг.18 будет описана система 1800, показывающая требование буферизации для полностью незашифрованного начального кода изображения.
На фиг.18 показан буфер 1800, начинающийся с I-кадра 1801, имеющего в конце часть начального кода 1802 изображения. Затем показан блок 1803 аудио. Далее показан блок 1804 аудио. Кроме того, показаны блок 1805 PSI и блок 1806 данных. В момент 1807 обнаружения начального кода изображения начинаются блок, содержащий часть начального кода 1808 изображения, и последующий P-кадр 1809.
Фиг.18 показывает пример ситуации, в которой начальный код изображения в конце I-кадра распределен по более чем двум пакетам видео. В этом случае должны быть помещены в буфер не только эти два пакета видео, но также и все пакеты с другими данными, находящиеся между этими двумя пакетами видео. Хотя в примере показан начальный код изображения, будет ясно, что тот же самый параметр является действительным для кода заголовка последовательности. Заданные критерии уменьшают необходимую буферизацию до только одного пакета. Если один из трех определенных критериев будет выполнен, то соответствующие пакеты будут переведены в незашифрованный вид. Комбинация этих трех критериев будет часто приводить только к одному незашифрованному пакету на каждой границе кадра. Однако в некоторых практических случаях для некоторых потоков это также могут быть несколько пакетов. Теоретически это может быть даже большое количество пакетов.
Первым примером является поток, составленный только из I-кадров и P-кадров с размером группы изображений (GOP), равным 12 кадрам, и одного пакета PES на каждую группу изображений (GOP). В выполненных экспериментах количество незашифрованных пакетов в начале I-кадра всегда равнялось одному. Количество незашифрованных пакетов в конце I-кадра и фактически на всех других границах кадра обычно равно одному, но иногда может быть равно двум. В начале I-кадра все данные от заголовка PES до расширения кодирования изображения находятся в одном пакете. Незашифрованные пакеты на других границах кадра содержат все данные от начального кода изображения до конца расширения кодирования изображения. Эти данные могут быть распределены по более чем двум пакетам.
Вторым примером является поток, составленный из I-кадров, P-кадров и B-кадров со структурой IBP с переменным размером группы изображений (GOP) с четными значениями в пределах от 2 до 12 и одним пакетом PES на каждый кадр. Количество незашифрованных пакетов в начале I-кадра по большей части равно двум, а в конце I-кадра и на других границах кадров всегда равно одному. Эти два пакета в начале I-кадра происходят, главным образом, вследствие присутствия таблицы квантования в заголовке последовательности. В конце I-кадра и на других границах кадров все данные от заголовка PES до расширения кодирования изображения находятся в одном пакете.
Следует отметить, что вследствие структуры PES для второго примера в нерасшифрованном виде находится не последний пакет I-кадра, а фактически первый пакет следующего кадра. Для первого примера это также может иногда произойти. Это не является проблемой, поскольку последний пакет I-кадра в этом случае содержит только данные I-кадра и не должен быть очищен. Следует также отметить, что практически комбинация трех критериев выбора приводит к одной непрерывной незашифрованной области видео на каждой границе кадра. Теоретически это не должно происходить. Комбинация критериев 2 и 3 всегда приводит к непрерывной области, но теоретически незашифрованная область заголовка PES может быть отдельной.
Далее будет объясняться, как найти необходимую информацию в гибридном потоке.
Как упомянуто выше, на практике может иметься одна непрерывная незашифрованная область на каждой границе кадра. В начале I-кадра (группы изображений (GOP)) незашифрованные данные простираются от первого байта заголовка PES до, по меньшей мере, последнего байта расширения кодирования изображения. Пример дается на фиг.19. Все необходимые данные находятся в этой области и могут быть легко найдены посредством анализа той части потока, которая начинается в пакете, помеченном полем PLUSI.
Далее со ссылкой на фиг.19 будет объясняться практическая незашифрованная область в начале I-кадра
Поток данных, показанный на фиг.19, содержит первый пакет 1900 I-кадра и последующий второй пакет 1901 I-кадра. Первый пакет 1900 I-кадра содержит заголовок 1902 PES, заголовок 1903 последовательности, расширение 1904 последовательности, заголовок 1905 группы изображений (GOP), начальный код 1906 изображения и заголовок 1907 изображения. Кроме того, второй пакет 1901 I-кадра также содержит заголовок 1907 изображения, последующее расширение 1908 кодирования изображения и блок 1909 данных I-кадра.
Далее будут описаны потоки данных, показанные на фиг.20A и фиг.20B.
В потоке данных на фиг.20A указан конец 2000 I-кадра. Поле 2001 PLUSI предшествует заголовку 1902 PES, и затем обеспечивается начальный код 1906 изображения. После него отправляют заголовок 1907 изображения и затем расширение 1908 кодирования изображения. После этого следует блок 2003 данных P- или B-кадра.
В потоке данных на фиг.20B последние данные 2004 I-кадра завершаются в конце 2005 I-кадра и после этого следует начальный код 1906 изображения, заголовок 1907 изображения, расширение 1908 кодирования изображения и блок 2003 данных P- или B-кадра.
В конце I-кадра на практике существуют два возможных варианта.
1. В случае одного пакета PES на каждый кадр незашифрованная область в конце (после конца) I-кадра 2000 также начинается с первого байта заголовка 1902 PES и простирается, по меньшей мере, до последнего байта расширения 1908 кодирования изображения. Все необходимые данные могут быть легко найдены, и никакая очистка последнего пакета I-кадра не является необходимой (фиг.20A).
2. В случае одного пакета PES на группу изображений (GOP) после конца I-кадра нет заголовка PES. Практически в этой позиции нет также заголовка последовательности. В этом случае пакеты, содержащие четвертый байт начального кода 1906 изображения, до последнего байта расширения 1908 кодирования изображения находятся в незашифрованном виде (фиг.20B). Четырехбайтовый начальный код 1906 изображения может быть распределен по более чем двум пакетам, например первые три байта в одном пакете и последний байт в следующем пакете. В этом случае первые три байта могут по-прежнему быть зашифрованными. Кажется, это влечет за собой то, что этот начальный код 1906 изображения не может быть обнаружен в гибридном потоке. Каким образом эта проблема может быть решена, будет описано далее.
Фактически может существовать незашифрованная область на каждой границе кадра. Поэтому обнаружение конца I-кадра означает поиск первого начального кода изображения после такого кода для I-кадра. Должно быть ясно, что поиск этого кода следует вести только в незашифрованных пакетах видео, чтобы избежать ложного положительного совпадения в зашифрованных данных. Находится ли полезная информация пакета в незашифрованном виде или нет, обозначено битами управления скремблированием в заголовке пакета. Обнаружение дает положительное совпадение только тогда, когда найдена заданная последовательность четырех байтов (0х00 0х00 0х01 0х00). Эта последовательность соответствует начальному коду изображения независимо от типа кадра. К сожалению, начальный код изображения не должен быть выровнен по границам пакета транспортного потока. Это означает, что если начальный код изображения был распределен по более чем двум пакетам, то только второй из этих пакетов будет в незашифрованном виде. Эта ситуация изображена на фиг.21.
На фиг.21 заголовок пакета обозначен номером 2100, незашифрованная полезная информация пакета обозначена номером 2101 и зашифрованная полезная информация пакета обозначена номером 2102.
Верхняя линия 2103 показывает начальный код изображения, который расположен полностью во втором пакете. Для нижней строки 2104 он находится полностью в первом пакете. Оставшиеся линии 2105 показывают три возможных варианта для распределения начального кода изображения. Можно ожидать, что невозможно обнаружить частично зашифрованный начальный код изображения. Однако из этого затруднительного положения есть выход. Каждая незашифрованная область содержит начальный код изображения или, по меньшей мере, его последний байт. Поэтому, если начальный код изображения не найден в незашифрованной области, то известно, что эта область должна начинаться с некоторых из последних байтов начального кода изображения. Это количество байтов может быть равно одному, двум или трем, как показано на фиг.21. Возможно точно обнаружить, сколько там находится байтов. В этом отношении следует отметить, что три бита типа кодирования изображения никогда не могут быть все нулевыми, поскольку это запрещено реализованным стандартом. Поэтому второй байт после начального кода изображения, обозначенный 0хYY на фиг.21, никогда не может быть равным 0х00. Поэтому если незашифрованная область начинается с 0х00 0х01 0х00, это должны быть последние три байта начального кода изображения. Если она начинается с 0х01 0х00, это последние два байта. Если она начинается с 0х00, а не с 0х00 0х01 0х00, имеется только последний байт. Таким образом, точно известно, где расположен начальный код изображения, и данные после него могут быть проанализированы. Тип изображения может быть прочитан с байта 0хYY, если необходимо.
Можно также сказать, что невозможно очистить последний пакет I-кадра, удаляя все неданные, не относящиеся к I-кадру, если начальный код изображения распределен более чем на два пакета. Это фактически верно, поскольку зашифрованная часть начального кода изображения не удалена. Но при построении потока для специализированного режима воспроизведения к концу I-кадра будет присоединен пустой P-кадр. Этот пустой P-кадр начнется с начального кода изображения. Таким образом, зашифрованные байты начального кода изображения могут быть повторно использованы, поскольку известно, сколько из этих байтов имеется в конце последнего зашифрованного пакета. Это количество байтов удаляется из начального кода изображения первого пустого P-кадра, который будет добавлен после I-кадра.
Фиг.22 показывает пример такой ситуации и, в частности, показывает начальный код 2200 изображения, временную ссылку 2201, тип 2202 кодирования изображения и данные 2203 пустого кадра.
Вставленные данные пустого P-кадра должны находиться в незашифрованном виде в отсутствие DVB-шифратора в запоминающем устройстве. Ситуации, которые должны быть ожидаемы практически, описаны выше, но в теории могут произойти некоторые дополнительные ситуации. Это происходит потому, что незашифрованная область заголовка PES и незашифрованная область, получающаяся из критериев 2 и 3, теоретически не должны быть соединены, но могут быть разделены зашифрованными видеопакетами. Для ясности следует упомянуть, что непрерывная незашифрованная область означает, что последовательность видеопакетов находится в незашифрованном виде, но что между ними могут быть другие зашифрованные пакеты.
В соответствии с критериями имеется три важных области данных, к которым нужно получить доступ:
1. Информация заголовка PES.
2. Информация в заголовке последовательности и расширении последовательности.
3. Информация от начального кода изображения до расширения кодирования изображения.
Эти три области данных изображены на фиг.23.
Фиг.23 показывает незашифрованные области данных, соответствующие трем упомянутым выше пунктам. Относительно первого пункта показаны поле 2300 PLUSI (индикатор начала блока полезной информации) и заголовок 2301 PES.
В соответствии со вторым пунктом показаны расширение 2302 последовательности, код 2303 расширения последовательности, заголовок 2304 последовательности и код 2305 заголовка последовательности, а также начальный код 2306 изображения.
Что касается третьего пункта, показаны начальный код 2308 изображения и заголовок 2307 изображения, а также код 2309 расширения кодирования изображения и расширение 2310 кодирования изображения.
Три элемента должны быть найдены в потоке для определения местонахождения и правильного анализа этих данных:
1. Бит 2300 PLUSI в заголовке пакета.
2. Код 2305 заголовка последовательности (0х00 0х00 0х01 0хB3).
3. Начальный код 2308 изображения (0х00 0х00 0х01 0х00).
Обнаружение элемента 1 является простым, так как достаточно лишь отыскать бит 2300 PLUSI в заголовке пакета, и если он будет установлен равным "1", то пакет будет начинаться с заголовка 2301 PES, который может затем быть проанализирован.
Ситуация для элементов 2 и 3 может быть более сложной, поскольку код 2305 заголовка последовательности и начальный код 2308 изображения могут быть распределены по более чем двум пакетам, что приводит к частично зашифрованным кодам. Поэтому прямое обнаружение этих кодов привело бы к некоторой потере данных. Однако имеется решение для этой проблемы. В стандарте MPEG2 наличие расширения 2302 последовательности и расширения 2310 кодирования изображения является обязательным, как изображено на фиг.24.
Фиг.24 показывает заголовок 2304 последовательности, соединенный с расширением 2302 последовательности, которые обеспечиваются для расширения и пользовательских данных 2400. Кроме того, к расширению и пользовательским данным 2400 присоединен заголовок 2401 группы изображений, который присоединен к пользовательским данным 2402. Пользовательские данные 2402 присоединены к заголовку 2307 изображения, который присоединен к расширению 2310 кодирования изображения. К этому расширению 2310 кодирования изображения присоединены пользовательские данные 2403, и к пользовательским данным 2403 присоединены данные 2404 изображения. Затем достигается конец 2405 последовательности.
То, каким образом сформулированы критерии для незашифрованных пакетов, гарантирует, что эти расширения будут полностью в незашифрованном виде. Они могут быть найдены посредством поиска сначала начального кода расширения, являющегося равным 0х00 0х00 0х01 0хB5. Следующие четыре бита являются идентификатором начального кода расширения. Эти четыре бита равны 0001 для расширения последовательности и равны 1000 для расширения кодирования изображения. Если присутствует расширение последовательности, код заголовка последовательности также должен присутствовать, и точно так же, если присутствует расширение кодирования изображения, начальный код изображения также должен присутствовать. Это приводит к следующему:
- Если расширение 2302 последовательности найдено в незашифрованной области и код 2304 заголовка последовательности не обнаружен в этой же самой области, то код 2304 заголовка последовательности должен быть распределен по более чем двум пакетам, и последние байты кода 2304 заголовка последовательности являются первыми байтами этой незашифрованной области, не обращая внимания на возможный заголовок PES (фиг.25).
- Если расширение 2310 кодирования изображения найдено в незашифрованной области и начальный код 2308 изображения не обнаружен в этой же самой области, то начальный код 2308 изображения должен быть распределен по более чем двум пакетам, и последние байты начального кода 2308 изображения являются первыми байтами этой незашифрованной области, не обращая внимания на возможный заголовок PES (фиг.26).
Следует отметить, что эти две ситуации никогда не могут происходить одновременно в одной незашифрованной области. Если расширение 2302 последовательности и расширение 2310 кодирования изображения присутствуют оба, начальный код 2308 изображения, который расположен между ними двумя, неизбежно будет полностью в незашифрованном виде. В этом случае только код 2305 заголовка последовательности может быть частично зашифрован. Конечно, если код 2305 заголовка последовательности или начальный код 2308 изображения находятся полностью в незашифрованном виде и поэтому обнаружены прямым способом, синтаксический анализ соответствующих данных может начаться немедленно. Однако если встречается одна из упомянутых выше ситуаций, сначала нужно узнать, сколько байтов этих кодов находятся в начале незашифрованной области или после заголовка PES, прежде чем можно начать правильный синтаксический анализ. Способ обнаружения этого для начального кода 2308 изображения был описан ранее. Тот же самый способ также может быть применен для кода 2305 заголовка последовательности.
Ситуация для кода 2305 заголовка последовательности изображена на фиг.27.
Незашифрованный вид гарантируется только начиная с четвертого байта. Этот байт является последним байтом кода 2305 заголовка последовательности, который равен 0x00 0x00 0x01 0xB3. Поэтому если код 2305 заголовка последовательности присутствует, но не обнаружен в этой области, некоторые из его последних байтов должны присутствовать в начале этой области или после заголовка PES. Как и для начального кода 2308 изображения, возможно точно обнаружить, сколько из этих байтов имеется. Обнаружение начнется в первом незашифрованном байте в области, не обращая внимания на заголовок PES. Если первые байты равны 0х00 0х01 0хB3, то имеется три байта, если они равны 0х01 0хВ3, то имеется два байта, и если первый байт равен 0хВ3, то имеется только этот байт. Знание количества байтов и, таким образом, местоположения последнего байта кода 2305 заголовка последовательности или начального кода 2308 изображения дает возможность правильного синтаксического анализа данных после этого кода.
Далее будет объясняться построение потока на уровне транспортного потока.
В этом контексте сначала будет описано позиционирование пакета.
Позиция пакетов, скопированных в поток для специализированного режима воспроизведения, обычно не может быть привязана к относительной синхронизации первоначального транспортного потока вследствие сжатия и возможной инверсии (режим обратного воспроизведения) оси времени при специализированном режиме воспроизведения. Поэтому добавленные метки времени прибытия пакета первоначального транспортного потока с метками времени прибытия пакетов обычно не пригодны для использования для формирования специализированного режима воспроизведения. Это является причиной, почему описанный способ специализированного режима воспроизведения также может использоваться для транспортных потоков без добавленных меток времени прибытия пакета. Поскольку первоначальная относительная синхронизация не используется, должен быть выбран другой механизм синхронизации. Как станет понятно позже, надлежащим способом сделать это является сглаживание скорости пакетов по группе изображений (GOP) для специализированного режима воспроизведения, как изображено на фиг.28.
Фиг.28 схематично иллюстрирует сглаживание пакетов для специализированного режима воспроизведения.
Как можно заметить, поток 2800 вещания включает в себя данные 2801 I-кадров, данные 2802 P-/B-кадров и дополнительные данные 2803 I-кадров. Данные 2801 I-кадров обеспечиваются не равноудаленно, но содержат множество пакетов, распределенных неупорядоченным образом во временной области, как можно видеть в верхнем ряду 2800 на фиг.28.
Формат данных, как они сохранены на жестком диске, показан в ряду 2810 на фиг.28. Здесь различные отдельные пакеты данных 2801 I-кадров обеспечиваются один за другим без расстояния между ними, так же как и данные 2802 P-/B-кадров и дополнительные данные 2803 I-кадров.
На фиг.28 также проиллюстрированы выходные данные 2820 специализированного режима воспроизведения, показывающие пакет 2824 PCR (эталонного отсчета времени программы), за которым следуют пакеты 2825 PAT (таблицы привязки программы) и PMT (таблицы карты программы). Затем сглаженным образом обеспечивается последовательность пакетов данных 2801 I-кадров в качестве сглаженных данных 2822 I-кадров, за которыми следуют сглаженные данные 2823 пустых P-кадров. Однако сглаженные пустые B-кадры также возможны в качестве дополнения или альтернативы. Далее обеспечиваются дополнительный пакет 2824 PCR и два пакета 2825 PAT, PMT, за которыми следуют сглаженные дополнительные данные 2826 I-кадров. Сглаженные данные 2822 I-кадров и данные 2823 пустых P-кадров разделены номинальным временем 2821 группы изображений (GOP), равным отношению T/R.
Количество пакетов для I-кадров 2822 известно, так же как и для пустых P-кадров 2823 и некоторых дополнительных пакетов (например, PCR, ECM, SIT, DIT и т.д.). Общее количество пакетов передается за номинальное время 2821 группы изображений (GOP), которое является равным 1/Rt или T/R. Расстояние между пакетами вычисляется из количества пакетов и времени 2821 группы изображений (GOP). Фактически вычисленный момент передачи пакета может быть транслирован в новые метки времени прибытия пакетов, которые добавляются спереди к пакетам специализированного режима воспроизведения. Эти метки времени прибытия пакетов могут быть получены из вычисленного значения новой шкалы времени в PCR для специализированного режима воспроизведения в начале пакета. Таким образом, сформированный поток 2820 для специализированного режима воспроизведения может быть обработан той же самой выходной схемой, которая может использоваться для обычного воспроизведения. Новая шкала времени PCR для специализированного режима воспроизведения будет рассмотрена далее.
Далее будут описаны аспекты, относящиеся к эталонным отсчетам времени программы (PCR).
Первоначальная шкала времени PCR обычно не может использоваться для специализированного режима воспроизведения. Прежде всего, вероятно, но не гарантировало, что PCR будет присутствовать в пределах выбранного I-кадра. Еще более важно, что частота шкалы времени PCR больше не является правильной. Эта частота должна быть в пределах 30 пакетов в минуту из 27 МГц, но теперь она умножена на коэффициент скорости специализированного режима воспроизведения и даже приводит к шкале времени, идущей в неправильном направлении, для обратного воспроизведения.
Таким образом, старая шкала времени PCR должна быть удалена и должна быть добавлена новая. Старые PCR удаляются посредством очистки полей адаптации, в которых они расположены. Поля адаптации не зашифрованы. Новые PCR добавляются посредством размещения дополнительного пакета 2824 PCR в начале каждой группы 2821 изображений (GOP) для специализированного режима воспроизведения, как показано на фиг.28. Так как эти группы изображений (GOP) передаются точно за номинальное время 2821 группы изображений (GOP), расстояние между значениями в PCR является постоянным и может быть получено из этого номинального времени 2821 группы изображений (GOP). В результате добавление новой шкалы времени PCR с высокой точностью синхронизации является очень простым.
PCR 2824 состоит из двух частей, а именно основы PCR и расширения PCR. Последнее является частью, состоящей из младших (LSB) 9 битов, и может изменяться от 0 до 299. Основа PCR является частью, состоящей из старших (MSB) 33 битов, и может изменяться в полном диапазоне. Частота основы PCR составляет 27 МГц/300=90 кГц. Почти все частоты кадров соответствуют этому значению 90 кГц. Для этих частот расширение PCR является постоянным для точек, которые являются кратными времени отдельного кадра. Поскольку номинальное время 2821 группы изображений (GOP) является таким кратным числом, расширение PCR всех вставленных PCR новой шкалы времени может быть установлено равным нулю. Только необычные частоты 23,976 и 59,94 Гц не соответствуют значению 90 кГц. Однако для 59,94 Гц расширение PCR является постоянным для расстояния, равного четному кратному числу времени кадра, а для случая 23,976 Гц - для четырехкратного времени кадра. Для структуры IPPP (T=4) группы изображений (GOP) для специализированного режима воспроизведения для расширения PCR может использоваться фиксированное значение, равное нулю, для всех частот кадров, что дополнительно упрощает вставку новой шкалы времени PCR.
Расстояние между последовательными PCR 2824 в переданном потоке в соответствии со стандартом MPEG2 не должно превышать 100 мс. В стандарте DVB это значение еще ниже, а именно 40 мс. Отправляя только один PCR 2824, каждая группа 2821 изображений (GOP) для специализированного режима воспроизведения явно нарушает эти пределы. В наихудшем случае с T=4 и R=25 Гц расстояние между PCR 2824 составляет 160 мс. В экспериментах не испытывались проблемы с нарушением этого расстояния. Дополнительный PCR 2824 может быть вставлен в поток, но это является более сложным и не кажется необходимым в любых случаях.
Далее будут рассмотрены аспекты, относящиеся к метке времени декодирования (DTS) и метке времени представления (PTS).
Кадры могут содержать две метки времени, которые могут сказать декодеру, когда начать декодирование кадра (метка DTS) и когда начать его представление (например, отображение) (метка PTS). Они начинаются, когда соответственно метка DTS или метка PTS равна PCR шкалы времени, которая воссоздается в декодере с помощью PCR в потоке. Поскольку новая шкала времени PCR добавлена к потоку для специализированного режима воспроизведения, и поскольку промежутки времени для меток DTS и PTS больше не являются корректными, метки DTS и PTS I-кадра могут быть заменены, если они присутствуют. Метки DTS и PTS расположены в заголовке PES.
Имеется, по меньшей мере, два пути для построения группы изображений (GOP) для специализированного режима воспроизведения, а именно с одним пакетом PES на каждый кадр или с одним на группу изображений (GOP). В случае частично зашифрованного начального кода изображения один пакет PES на каждый кадр фактически не может использоваться. Таким образом, может быть выбран один пакет PES на каждую группу изображений (GOP), даже если у первоначального потока был один пакет PES на каждый кадр. Поэтому вставленные пустые P-кадры не имеют меток DTS или PTS. Длина пакета PES устанавливается равной нулю (неограниченной) безотносительно от ее первоначального значения.
Следует учесть, когда может начаться декодирование I-кадра. Пакеты группы изображений (GOP) для специализированного режима воспроизведения распределены по постоянному времени группы изображений (GOP). Почти вся группа изображений (GOP) для специализированного режима воспроизведения относится к данным I-кадра, таким образом, конец I-кадра находится близко к началу следующей группы изображений (GOP). Поэтому декодирование I-кадра может начаться в начале следующей группы изображений (GOP). Таким образом, метка DTS I-кадра устанавливается равной значению, соответствующему шкале времени PCR в начале следующей группы изображений (GOP). Метки DTS и PTS обычно содержат только ссылку на шкалу времени PCR. Метка DTS, таким образом, идентична основе PCR, который будет вставлен в начале следующей группы изображений (GOP).
Также следует учесть, когда должно начаться представление I-кадра. Время, равное одному кадру, между метками DTS и PTS не только является подходящим для потока только с I-кадрами и P-кадрами, но и является предписываемым стандартом MPEG2 для такого потока, если не установлен флаг low_delay_flag. Поэтому метка PTS I-кадра устанавливается равной значению метки DTS плюс значение, соответствующее времени одного кадра. Для частот кадров 23,976 и 59,94 Гц это будет значением, близким к времени одного кадра. Расстояние PCR между началом последовательных групп изображений (GOP) для специализированного режима воспроизведения уже вычислено. Это расстояние имеет точность, равную основе PCR, и поэтому равно метке DTS и PTS. Значение смещения между PTS и DTS может быть вычислено посредством деления расстояния PCR на размер T группы изображений (GOP) для специализированного режима воспроизведения. Фактически это очень просто в случае структуры IPPP (T=4), где необходимо делить на 4. Биты расстояния PCR просто сдвигаются на два разряда для вычисления смещения меток PTS/DTS. Это изображено на фиг.29.
Фиг.29 показывает диаграмму 2900, на которой время t откладывается по абсциссе 2901, а основа PCR откладывается по ординате 2902. Фиг.29 относится к размеру группы изображений (GOP) T=4 и частоте обновления R=25.
Далее будут рассмотрены некоторые аспекты, относящиеся к вставке сообщений (ECM) (сообщений управления доступом).
В случае зашифрованного потока для специализированного режима воспроизведения сообщения ECM должны присутствовать в этом потоке, чтобы дать возможность расшифровки приемником (например, телеприставкой (STB)). В этом контексте следует решить, когда и где должны быть вставлены сообщения ECM. В предпочтительном случае, когда записанный поток уже содержит необходимые незашифрованные пакеты, блок данных, считанный с запоминающего устройства, будет содержать только данные I-кадра. Однако способ вставки сообщения ECM также должен учитывать более общий случай с большими размерами блока.
Первый I-кадр блока данных используется для построения группы изображений (GOP) для специализированного режима воспроизведения. Большинство сообщений ECM должно быть отправлено где-нибудь между этими I-кадрами, фактически между двумя группами изображений (GOP) для специализированного режима воспроизведения. Как описано ранее, все группы изображений (GOP) для специализированного режима воспроизведения могут иметь равную длину во времени, и пакеты группы изображений (GOP) могут быть распределены по этому времени, чтобы сгладить битовую скорость. Вставка сообщений ECM между этими группами изображений (GOP) излишне увеличила бы локальную битовую скорость. Может быть лучше встраивать сообщение ECM в группу изображений (GOP) для специализированного режима воспроизведения. Тогда нужно решить, к какой группе изображений (GOP) добавлять сообщение ECM. В частности, имеются следующие два варианта:
1. Сообщение ECM может быть добавлено к концу предыдущей группы изображений (GOP) для специализированного режима воспроизведения.
2. Сообщение ECM может быть добавлено к началу следующей группы изображений (GOP) для специализированного режима воспроизведения.
Во втором варианте сообщение ECM на самом деле не является первым пакетом следующей группы изображений (GOP), поскольку ими являются вставленные PCR, которые должны остаться в этой позиции из соображений синхронизации. Таким образом, сообщение ECM в этом случае является вторым пакетом. Хотя на практике различие между этими двумя вариантами может быть незначительным во многих случаях, оптимальная позиция задается вариантом 1, поскольку он максимизирует доступное время для расшифровки сообщения ECM.
Эта ситуация изображена на фиг.30.
Фиг.30 показывает, в дополнение к уже введенным компонентам, переключатель 3000 SCB, пакет 3001 сообщения ECM и данные 3002 I-кадра. Кроме того, на фиг.30 проиллюстрированы пустые P-кадры 3003.
При прямом специализированном режиме воспроизведения также иногда может произойти то, что переключатель 3000 SCB расположен не между I-кадрами, а где-нибудь в пределах выбранного I-кадра. Сообщение 3001 ECM должно быть отправлено, когда переключатель 3000 SCB включен. Это означает, что в этом случае сообщение 3001 ECM должно быть вставлено в правильном местоположении в пределах I-кадра. Для этого снова имеется, в частности, два варианта:
1. Сообщение 3001 ECM может быть вставлено перед пакетом I-кадра с переключателем 3000 SCB.
2. Сообщение 3001 ECM может быть вставлено после пакета I-кадра с переключателем 3000 SCB.
Пакет с переключателем 3000 SCB является зашифрованным видеопакетом со значением SCB, отличающимся от предыдущего зашифрованного видеопакета. В некоторых случаях не имеет значения, используется ли вариант 1 или 2, но теоретически наилучшая позиция обычно находится перед пакетом с переключателем 3000 SCB. Это потому, что, с одной стороны, контрольное слово предыдущего периода больше не является нужным с этого момента и, с другой стороны, время для расшифровки сообщения 3001 ECM максимизируется.
Вариант 1 изображен на фиг.31. В частности, на фиг.31 показан пакет 3100 с переключателем SCB.
Во всех случаях идентификатор пакета (PID) и идентификатор таблицы вставленных сообщений ECM предпочтительно являются первоначальными, чтобы дать возможность гладкого переключения между обычным воспроизведением и специализированным режимом воспроизведения в обоих направлениях. Счетчик непрерывности в заголовке пакета сообщения ECM все же может быть исправлен.
Далее будут рассмотрены некоторые аспекты относительно того, где делать или формировать гибридный поток.
Описанный здесь гибридный поток может быть создан в нескольких местах. В этом контексте делается ссылка на фиг.32.
Возможные места являются фактически теми же самыми местоположениями, как и для потока с незашифрованными I-кадрами (фиг.14 и соответствующее описание):
1'. В станции 1401 вещания или восходящей линии связи в случае спутникового вещания.
2'. В центральной станции 1405 кабельного телевидения в случае кабельной сети.
3'. В бытовом шлюзе 1407 в случае безопасного авторизованного домена.
4'. На записывающей стороне запоминающего устройства 1409.
Однако для потока только с несколькими незашифрованными пакетами должно быть добавлено пятое местоположение:
5'. На воспроизводящей стороне запоминающего устройства 1406, 1408, 1409.
Возможные местоположения 1' к 5' визуализированы на фиг.32.
Местоположения 1' и 2' могут быть труднореализуемы, поскольку в них имеется только ограниченное влияние. Для запоминающего устройства фактически нет различия, реализовано ли преобразование к гибридному потоку в местоположениях 1', 2' или 3'. Таким образом, вариант 3' может быть очень хорошим выбором. Во всех трех случаях запоминающее устройство может принимать гибридный поток на своем входе записи. Это означает, что в запоминающем устройстве не нужны расшифровка и смарт-карта, по меньшей мере, не для обычного воспроизведения и формирования специализированного режима воспроизведения. Но расшифровка может все же быть необходимой, если в запоминающем устройстве присутствует функция извлечения метаданных, которая использует обнаружение интра-кодированных кадров и т.д. Подходящим местоположением для построения гибридного потока может быть случай 4', то есть на записывающей стороне запоминающего устройства. Хотя это требует частичной расшифровки на записывающей стороне, это все же имеет то преимущество, что расшифровка не является необходимой для формирования специализированного режима воспроизведения. Так или иначе предпочтительно, чтобы записанный поток являлся гибридным. В случае 5', в котором запись сделана со всеми зашифрованными пакетами, все еще возможно создать защищенный специализированный режим воспроизведения, как описано здесь. На фиг.16 был показан основной подход для работы с полностью зашифрованным потоком. Но вместо полной расшифровки можно расшифровать только необходимые пакеты, а остальные оставить по-прежнему зашифрованными (фиг.33).
Фиг.33 показывает систему 3310, которая отличается от системы 1600 тем, что дешифратор 1603 выдает частично зашифрованные данные 3300 стандарта MPEG2 и MPEG2-декодер 1506 заменен MPEG2-декодером и дешифратором 3302, который принимает частично расшифрованный совместимый со стандартом MPEG2 транспортный поток 3301. По-прежнему возможно создать преобладающим образом зашифрованный поток для специализированного режима воспроизведения.
Далее со ссылкой на фиг.34A и 34B будет описано устройство 3400 для обработки потока 3401 зашифрованных данных в соответствии с иллюстративным вариантом воплощения изобретения.
В частности, фиг.34A иллюстрирует блок-схему формирования гибридного потока устройства 3400. Фиг.34B иллюстрирует блок-схему формирования потока для специализированного режима воспроизведения, которая может использоваться вместе с блок-схемой формирования гибридного потока, показанной на фиг.34A, устройства 3400.
Устройство 3400 содержит модуль 3402 расшифровки, который формирует поток 3403 расшифрованных данных из потока 3401 зашифрованных данных.
Кроме того, устройство 3400 содержит модуль 3404 обнаружения, который обнаруживает информацию о позиции I-кадров в потоке 3403 расшифрованных данных. В частности, модуль 3404 обнаружения обнаруживает в качестве информации о позиции начальную позицию и конечную позицию каждого из I-кадров, включенных в поток 3403 расшифрованных данных.
Кроме того, устройство 3400 содержит модуль 3405 замены, который заменяет, основываясь на информации о позиции, обнаруженной модулем 3404 обнаружения, части потока 3401 зашифрованных данных, обеспеченного на первом входе модуля 3405 замены, соответствующими частями потока 3403 расшифрованных данных, обеспеченного на втором входе модуля 3405 замены. Другими словами, модуль 3405 замены заменяет части потока 3401 зашифрованных данных соответствующими частями потока 3403 расшифрованных данных в обнаруженной начальной позиции и конечной позиции I-кадров. В результате на выходе модуля 3405 замены блок-схемы формирования гибридного потока, показанной на фиг.34A, формируется гибридный поток 3407 данных.
Гибридный поток 3407 данных, выданный на выходе системы, показанной на фиг.34A, может быть присоединен ко входу системы на фиг.34B. Однако хранение гибридных данных может быть предусмотрено факультативно.
Модуль формирования специализированного режима воспроизведения на фиг.34B может в необязательном порядке включать в себя (дополнительный) модуль 3404 обнаружения.
Гибридный поток 3407 данных может поставляться на модуль 3408 формирования специализированного режима воспроизведения для формирования потока 3409 данных для воспроизведения в специализированном режиме воспроизведения и может поставляться на дополнительный модуль 3404 обнаружения. Кроме того, показан модуль 3406 добавления, которому выдается выходная информация дополнительного модуля 3404 обнаружения. Модуль 3406 добавления может добавлять информацию синхронизации к потоку данных. Данные, добавленные модулем 3406 добавления, находятся в незашифрованном виде. Выходная информация модуля добавления может быть выдана на модуль 3408 формирования специализированного режима воспроизведения.
Модуль 3408 формирования специализированного режима воспроизведения формирует на основе своей входной информации поток 3409 данных для воспроизведения в режиме специализированного режима воспроизведения.
Этот поток 3409 для специализированного режима воспроизведения выдается на модуль 3410 воспроизведения.
Модуль 3406 добавления также может добавлять таблицы, данные сообщений ECM и/или пустые кадры.
Модуль 3408 формирования может принимать меры по повторному мультиплексированию, вопросам синхронизации, сглаживанию повторно мультиплексированных пакетов и/или очистке пакетов кадров.
Модуль(и) 3404 обнаружения может обнаруживать границы кадров в пределах расшифрованного потока 3403 или гибридного потока 3407. Такие границы кадров могут быть границами I-кадров, B-кадров и/или P-кадров.
Ситуация, показанная на фиг.34A, фиг.34B, дополнительно описана со ссылкой на фиг.35, показывающую различные потоки данных.
На фиг.35 показан поток 3401 зашифрованных данных. После передачи модулю 3402 расшифровки формируется поток 3403 полностью расшифрованных данных. Фиг.35 далее иллюстрирует начальные позиции 3500 и конечные позиции 3501, обнаруженные в пределах потока 3403 расшифрованных данных посредством модуля 3404 обнаружения. После передачи модуля 3405 замены части, относящиеся к начальным позициям 3500 и к конечным позициям 3501 из потока 3401 зашифрованных данных, заменяются расшифрованными частями 3502. Модуль 3406 добавления добавляет информацию 3503 синхронизации в начало потока.
Кроме того, как показано на фиг.35, информация сообщений ECM (сообщений управления доступом), обозначенная номером 3504, может быть добавлена в конечную часть потока данных.
Следует отметить, что в качестве дополнения или альтернативы к обнаружению границ I-кадра также возможно обнаруживать границы (которые являются начальными и/или конечными позициями) B-кадров и/или P-кадров.
Далее со ссылкой на фиг.36 будет описано устройство 3600 для обработки потока 3601 данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам, в соответствии с другим иллюстративным вариантом воплощения изобретения.
Устройство 3600 содержит модуль 3602 распределения для однородного или гомогенного распределения пакетов по потоку 3601 данных. Этот модуль 3602 распределения, который также может быть назван модулем сглаживания, формирует равноудаленным образом размещенные части I-кадров, как показано в третьем ряду на фиг.28.
Модуль 3603 замены заменяет информацию синхронизации потока данных, которая не является более действительной, измененной информацией синхронизации, скорректированной для однородного распределения пакетов.
Кроме того, предусмотрен модуль 3604 вставки информации для расшифровки, который вставляет в поток данных сообщения управления доступом (ECM) в качестве информации для расшифровки.
Кроме того, предусмотрен модуль 3605 формирования специализированного режима воспроизведения, который формирует поток данных для воспроизведения в специализированном режиме воспроизведения. Данные 3607 специализированного режима воспроизведения выдаются модулю 3606 воспроизведения для воспроизведения.
Следует отметить, что расположение компонентов на фиг.36 может быть изменено. Например, позиции модуля 3603 замены и модуля 3602 распределения могут быть заменены.
Далее будет описан путь сигнала на фиг.36.
На модуль 3605 формирования специализированного режима воспроизведения подается поток 3601 данных. Выход модуля 3605 формирования специализированного режима воспроизведения присоединен ко входу модуля 3604 вставки информации для расшифровки. Выход модуля 3604 вставки информации для расшифровки присоединен ко входу модуля 3603 замены. Выход модуля 3603 замены присоединен ко входу модуля 3602 распределения. Выход модуля 3602 распределения (на котором выдаются данные 3607 специализированного режима воспроизведения) присоединен ко входу модуля 3606 воспроизведения.
Следует отметить, что термин "содержащий" не исключает другие элементы или этапы, и использование единственного числа не исключает множество. Также элементы, описанные в связи с разными вариантами воплощения, могут быть объединены.
Также следует отметить, что знаки для ссылок в пунктах формулы изобретения не должны быть рассмотрены в качестве ограничения объема формулы изобретения.
Класс H04N5/913 для скремблирования
Класс H04N7/32 включающие кодовое прогнозирование
Класс H04N7/167 системы, воспроизводящие зашифрованный телевизионный сигнал с последующей его расшифровкой