7.4.1 Последовательность использования ресурса
Ресурс дескремблирования семпла обеспечивает управление дескремблированием CICAM последовательности медиасемплов, упакованных в TS системы MPEG-2 [9].
При необходимости дескремблирования семплов Хост посылает APDU sd_info_req, запрашивая список систем DRM, внедренных в CICAM и поддерживающих дескремблирование семплов. CICAM должен ответить APDU sd_info_reply со списком поддерживаемых drm_system_id и UUID систем защиты контента.
Хост должен декларировать треки семплов, передаваемые через интерфейс TS, для дескремблирования в CICAM с помощью APDU sd_start. Когда CICAM будет готов получить семплы, он должен ответить первым APDU sd_start_reply, а когда он будет готов дескремблировать семплы, он должен ответить вторым APDU sd_start_reply. Если CICAM обладает высоким быстродействием, то он может возвратить только один APDU sd_start_reply, содержащий обе области, соответствующие обновленным полям состояния.
Хост может обновлять список треков семплов, участвующих в процессе дескремблирования семплов, использованием APDU sd_update. Хост может добавить в список новые треки семплов или может удалить из списка несколько треков семплов, которые больше не используются. CICAM должны подтверждать обновления с помощью APDU sd_update_reply.
Хост может обновлять метаданные DRM, связанные с действующими треками семплов, применяя APDU sd_update. Трек семпла определяется по track_PID, выделенным Хостом в APDU sd_start.
Параметры ресурса дескремблирования семплa должны быть в соответствии с таблицей 29.
Таблица 29 - Параметры ресурса дескремблирования семпла
Ресурс дескремблирования семпла | Объект приложения | Направление передачи | |||||
Идентификатор ресурса | Класс | Тип | Версия | Тег APDU | Значение тега | Хост | CICAM |
00920041 | 146 | 1 | 1 | sd_info_req | 9F 98 00 | ||
sd_info_reply | 9F 98 01 | ||||||
sd_start | 9F 98 02 | ||||||
sd_start_reply | 9F 98 03 | ||||||
sd_update | 9F 98 04 | ||||||
sd_update_reply | 9F 98 05 |
7.4.2 APDU sd_info_req
Запрос списка систем DRM, встроенных в CICAM и поддерживающих дескремблирование семплов, Хост выполняет отправлением в CICAM APDU sd_info_req. Длина поля length_field в составе APDU sd_info_req должна быть в соответствии с форматом BER ASN.1 [2] (8.3.1).
CICAM должен ответить APDU sd_info_reply.
7.4.3 APDU sd_info_reply
CICAM направляет APDU sd_info_reply к Хосту в ответ на APDU sd_info_req. В нем перечислены drm_system_id и UUID для каждой системы защиты контента или системы DRM, которые CICAM поддерживает для дескремблирования семплов. Если система DRM может быть идентифицирована либо drm_system_id, либо его UUID, то должны быть сообщены оба идентификатора.
Синтаксис APDU sd_info_reply представлен в таблице 30.
Таблица 30 - Синтаксис APDU sd_info_reply
Синтаксис | Количество битов | Мнемоника | ||
sd_info_reply() { | ||||
sd_info_reply_tag | 24 | uimsbf | ||
length_field() | 16 | |||
number_of_drm_system_id | 8 | uimsbf | ||
for (i=0; i<n; i++) { | ||||
drm_system_id | 16 | uimsbf | ||
} | ||||
number_of_drm_uuid | 8 | uimsbf | ||
for (i=0; i<n; i++) { | ||||
drm_uuid | 128 | uimsbf | ||
} | ||||
} |
Ниже представлена семантика полей в составе APDU sd_info_reply:
- sd_info_reply_tag: поле 24 бита является тегом этого APDU co значением 0x9F9801;
- length_field: поле определяет длину полезной нагрузки этого APDU в формате BER ASN.1 в соответствии с [2] (8.3.1);
- number_of_drm_system_id: поле определяет количество записей, содержащихся в следующем списке идентификаторов системы DRM. Этот список не должен содержать идентификаторы систем СА вещания, которые могут поддерживаться CICAM, но система CA/DRM не поддерживает дескремблирование и СА вещания и дескремблирование семпла.
Примечание - Список поддерживаемых систем СА вещания предоставляет APDU CA_info_reply в ответ на APDU CA_info в соответствии с [2] и [1] (Е.17.3);
- drm_system_id: поле содержит значения, аналогичные значениям са_system_id, в соответствии с распределением идентификаторов и кодов для систем DVB [10];
- number_of_drm_uuid: поле содержит количество записей в следующем списке UUID DRM;