способ и устройство пересылки пользовательских данных, вставленных в кодированный видеосигнал
Классы МПК: | H04N7/52 системы для передачи импульсно-кодового модулированного видеосигнала с одним или несколькими другими импульсно-кодовыми модулированными сигналами, например звуковой сигнал, синхросигнал |
Автор(ы): | ЛЕ МАГЕ Янн (NL) |
Патентообладатель(и): | КОНИНКЛЕЙКЕ ФИЛИПС ЭЛЕКТРОНИКС Н.В. (NL) |
Приоритеты: |
подача заявки:
2002-08-21 публикация патента:
27.04.2007 |
Изобретение относится к способу и устройству пересылки пользовательских данных с видеокодера на видеодекодер, причем пользовательские данные вставляются в кодированный видеосигнал, генерируемый упомянутым видеокодером. Достигаемый технический результат - пересылка пользовательских данных с использованием малого количества бит на уровне плоскости видеообъекта кодированного видеосигнала. Способ содержит (на стороне кодера) этап (202) вставки набора заполняющих пакетов в заданную позицию в кодированном видеосигнале, (на стороне декодера) этап (204) анализа для обнаружения и подсчета количества заполняющих пакетов в заданной позиции в кодированном видеосигнале. При этом на стороне кодера из пользовательских данных посредством таблицы соответствия определяют количество заполняющих пакетов (201), а на стороне декодера упомянутое количество заполняющих пакетов используется для получения пользовательских данных (205) посредством таблицы соответствия. 9 н. и 7 з.п. ф-лы, 5 ил.
Формула изобретения
1. Способ посылки пользовательских данных с видеокодера на видеодекодер, причем пользовательские данные вставлены в кодированный видеосигнал, сгенерированный упомянутым видеокодером, отличающийся тем, что упомянутый способ содержит на стороне кодера этап вставки для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных, и на стороне декодера этап анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством упомянутой таблицы соответствия.
2. Способ по п.1, в котором упомянутый этап вставки выполняется на уровне плоскости видеообъекта.
3. Способ вставки пользовательских данных в кодированный видеосигнал, отличающийся тем, что упомянутый способ содержит этап вставки для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
4. Способ по п.3, в котором упомянутый этап вставки выполняется на уровне плоскости видеообъекта.
5. Способ извлечения пользовательских данных, вставленных в заданную позицию в кодированном видеосигнале, отличающийся тем, что упомянутый способ содержит этап анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
6. Способ по п.3, в котором упомянутый этап анализа выполняется на уровне плоскости видеообъекта.
7. Система пересылки пользовательских данных с видеокодера на видеодекодер, причем пользовательские данные вставлены в кодированный видеосигнал, сгенерированный упомянутым видеокодером, отличающаяся тем, что упомянутое устройство содержит на стороне кодера средство вставки для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных, и на стороне декодера средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством упомянутой таблицы соответствия.
8. Система по п.7, в которой упомянутое средство вставки активизируется на уровне плоскости видеообъекта.
9. Устройство вставки пользовательских данных в кодированный видеосигнал, отличающееся тем, что упомянутое устройство содержит средство вставки для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
10. Способ по п.9, в котором упомянутое средство вставки активизируется на уровне плоскости видеообъекта.
11. Устройство извлечения пользовательских данных, вставленных в заданную позицию в кодированном видеосигнале, отличающееся тем, что упомянутое устройство содержит средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
12. Способ по п.11, в котором упомянутое средство анализа активизируется на уровне плоскости видеообъекта.
13. Видеокодер для кодирования видеосигнала с учетом генерирования видеосигнала, кодированного в соответствии со стандартом MPEG-4, и для вставки пользовательских данных в упомянутый кодированный видеосигнал, отличающийся тем, что видеокодер содержит средство для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
14. Видеодекодер для декодирования видеосигнала, кодированного в соответствии со стандартом MPEG-4, причем упомянутый кодированный видеосигнал содержит пользовательские данные, вставленные в заданную позицию, отличающийся тем, что видеодекодер содержит средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
15. Видеосигнал, содержащий набор заполняющих пакетов, вставленных на уровне плоскости видеообъекта, причем количество заполняющих пакетов в упомянутом наборе отражает значение пользовательских данных, вставленных в упомянутый видеосигнал, при этом количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
16. Сигнал по п.15, кодированный в соответствии со стандартом MPEG-4 видео.
Описание изобретения к патенту
Настоящее изобретение относится к способу пересылки пользовательских данных с видеокодеры на видеодекодер, причем пользовательские данные вставляются в кодированный видеосигнал, генерируемый упомянутым видеокодером.
Настоящее изобретение может быть использовано, например, в области цифровой обработки видеосигналов.
Стандарт MPEG-4 видео (Экспертной группы по движущимся изображениям), упоминаемый как стандарт ISO/IEC 14496-2 (Международной организации по стандартизации (МОС) и Международной электротехнической комиссии (МЭК)), позволяет генерировать цифровые сигналы, связанные с протоколами для представления мультимедийного контента сцен, состоящего из естественных и искусственных визуальных данных и данных объекта. Это обеспечивает возможность кодирования и сжатия богатого набора функциональных возможностей, включая манипулирование видеоданными, а также двух- и/или трехмерной графикой, интерактивность в контенте сцены, анимацию лица и туловища, кодирование текстуры и геометрическое кодирование. Оно может быть использовано в сценарии широковещания или при индивидуальном взаимодействии как в передающем, так и принимающем режимах.
В частности, этот стандарт видео позволяет производить вставку в кодированные сигналы пользовательских данных, определяемых пользователями для их конкретных применений. Пользовательские данные затем вставляются в сигнал, генерируемый кодером MPEG-4, который затем пересылается на декодер MPEG-4, который использует упомянутые пользовательские данные. Пользовательские данные могут быть вставлены на трех различных уровнях в синтаксисе кодирования:
- на уровне заголовка последовательности визуальных объектов (ПВО), упоминаемом как «заголовок ПВО»,
- на уровне заголовка слоя видеообъекта (СВО), упоминаемом как «заголовок СВО»,
- на уровне заголовка группы плоскостей видеообъекта (ГПВО), упоминаемом как «заголовок ГПВО».
Общая структура видеосигнала MPEG-4 (т.е. последовательность) изображена на фиг.1, на которой показано, как структурированы упомянутые заголовки. Упомянутые заголовки предшествуют плоскости видеообъекта (ПлВО), упоминаемой как «ПлВО», которая соответствует изображению, когда кодируемым объектом является прямоугольное изображение. Окончание последовательности сигнализируется пакетом данных «окончания последовательности визуального объекта», упоминаемое как окончание ПВО.
Пересылка пользовательских данных, как описано в этом стандарте видео, имеет ограничения, если пользовательские данные должны пересылаться периодически, в частности на уровне ПлВО, т.е. если пользовательские данные должны быть связаны с данной ПлВО или со множеством последовательных или непоследовательных ПлВО. Действительно, нельзя использовать заголовок ПВО для вставки упомянутых пользовательских данных, так как заголовок ПВО присутствует только один раз в начале кодированного сигнала.
Нельзя использовать заголовок СВО для вставки упомянутых пользовательских данных, так как заголовок СВО большую часть времени присутствует только один раз в кодированном сигнале и, кроме того, не всегда присутствует в синтаксисе, так как этот заголовок является дополнительным.
Заголовки ГПВО могут быть использованы для вставки пользовательских данных на уровне ПлВО, но это требует выполнения условия, чтобы следующие ПлВО были с внутренним кодированием, т.е. чтобы они соответствовали ПлВО, для которых не выполняется временное предсказание. Так как ПлВО с внутренним кодированием требует много битов, то использование заголовков ГПВО на уровне ПлВО приводит к существенному увеличению частоты следования битов кодированного сигнала, к снижению качества видео. Кроме того, учитывая, что каждый заголовок ГПВО содержит много длинных кодовых слов, то это также способствует увеличению частоты следования битов упомянутого видеосигнала. Следовательно, использование заголовков ГПВО для вставки пользовательских данных на уровне ПлВО ограничено и нецелесообразно.
Задачей изобретения является предложение способа пересылки пользовательских данных с низким расходованием (малым количеством используемых) битов на уровне ПлВО в кодированном видеосигнале.
С этой целью и чтобы снять ограничения способа известного уровня техники, способ пересылки пользовательских данных, в соответствии с изобретением, отличается тем, что упомянутый способ содержит на стороне кодера:
- этап вставки для вставки серии заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутой серии определяется посредством таблицы соответствия из упомянутых пользовательских данных,
и на стороне декодера:
- этап анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством упомянутой таблицы соответствия.
Этот способ использует преимущество специального макроблока, упоминаемого как «макроблок заполняющего типа», определенный стандартом MPEG-4 видео. Этим специальным макроблоком является заполняющий пакет, который содержит короткие кодовые слова, которые могут быть вставлены в кодированный видеосигнал, причем упомянутые кодовые слова затем отбрасываются в процессе декодирования. Первоначальной целью макроблока заполняющего типа является увеличение скорости передачи битов видеосигнала, которая иначе была бы ниже требуемой скорости передачи битов.
Так как макроблок заполняющего типа представляет собой пакет данных, требующий только несколько битов по сравнению с вышеописанными известными способами для пересылки пользовательских данных, то способ в соответствии с изобретением для пересылки пользовательских данных расходует мало битов.
Этот способ позволяет пересылать либо однобитовые пользовательские данные при выполнении или невыполнении вставки одного заполняющего пакета, либо многобитовые пользовательские данные при вставке множества заполняющих данных. Этот способ, таким образом, может быть использован для пересылки пользовательских данных переменной длины экономически эффективным образом.
Этот способ требует небольших ресурсов обработки как на стороне кодера, так и на стороне декодера. Действительно, во-первых, на стороне кодера обработка состоит из выполнения экономически эффективной операции над таблицей соответствия для определения количества заполняющих пакетов, подлежащих вставке, в соответствии со значением пользовательских данных, подлежащих пересылке, и, во-вторых, состоит из вставки упомянутых заполняющих пакетов, которые почти ничего не стоят. Во-вторых, на стороне декодера также требуются небольшие ресурсы обработки, так как обработка состоит из обнаружения и подсчета количества заполняющих пакетов в известной позиции в кодированном видеосигнале без всего контента данных ПлВО и выполнения экономически эффективной операции над таблицей соответствия.
Этот способ устраняет ограничения известных способов, так как пользовательские данные не только могут быть вставлены в соответствии с изобретением на уровне ПлВО, но также вставляются в ПлВО при любом типе кодирования последующих ПлВО (т.е. с внутренним кодированием или с внешним кодированием).
Способ в соответствии с изобретением также является очень гибким при его использовании. Действительно, так как макроблок заполняющего типа рассматривается как кодированный макроблок (т.е. как макроблок с пространственным кодированием, упоминаемый как с внутренним кодированием, или с временным предсказанием, упоминаемый как с внешним кодированием), он может быть вставлен между любыми другими макроблоками в ПлВО либо в начале, либо в конце ПлВО.
В предпочтительном варианте изобретение отличается тем, что этап вставки выполняется на уровне плоскости видеообъекта.
Таким образом, пользовательские данные могут быть вставлены в заданную ПлВО или во множество последовательных или непоследовательных ПлВО в кодированном видеосигнале.
Однако этот способ также может быть использован для пересылки пользовательских данных на более низком уровне, чем уровень ПлВО, например, на уровне слайсов (слоев). С этой целью вставка пользовательских данных выполняется в заданную позицию во множестве слайсов (слоев) внутри данной ПлВО. Таким образом, способ в соответствии с изобретением позволяет производить вставку множества пользовательских данных в данную ПлВО.
Этот способ полностью соответствует стандарту MPEG-4 видео, так как декодер, который не знает значение такого макроблока заполняющего типа в упомянутой заданной позиции, просто отбросит упомянутый макроблок заполняющего типа без предубеждения, касающегося качества декодируемого видео.
Многопользовательские данные, пересылаемые способом в соответствии с изобретением, могут соответствовать или отражать информацию кодирования или характеристики кодирования, принимая во внимание, например, останов или запуск конкретного применения или обработки на стороне декодера от ПлВО к ПлВО.
Изобретение также относится к способу вставки пользовательских данных в кодированный видеосигнал, отличающемуся тем, что упомянутый способ содержит этап вставки для вставки серии (набора) заполняющих пакетов в данную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутой серии (наборе) определяется посредством таблицы соответствия из упомянутых пользовательских данных.
В предпочтительном варианте настоящий способ вставки пользовательских данных выполняется на уровне плоскости видеообъекта.
Изобретение также относится к способу извлечения пользовательских данных, вставленных в заданную позицию в кодированном видеосигнале, отличающемуся тем, что упомянутый способ содержит этап анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой данной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
В предпочтительном варианте настоящий способ извлечения пользовательских данных выполняется на уровне плоскости видеообъекта. Изобретение также относится к системе пересылки пользовательских данных с видеокодера на видеодекодер, причем пользовательские данные вставляются в кодированный видеосигнал, генерируемый упомянутым видеокодером, отличающейся тем, что упомянутое устройство содержит на стороне кодера:
- средство вставки для вставки серии (набора) заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутой серии (наборе) определяется посредством таблицы соответствия из упомянутых пользовательских данных, и на стороне декодера:
- средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством упомянутой таблицы соответствия.
Изобретение также относится к устройству вставки пользовательских данных в кодированный видеосигнал, отличающемуся тем, что упомянутое устройство содержит средство вставки для вставки серии (набора) заполняющих пакетов в данную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутой серии (наборе) определяется посредством таблицы соответствия из упомянутых пользовательских данных.
В конкретном аспекте изобретения этап вставки выполняется на уровне плоскости видеообъекта и средство вставки активизируется на уровне плоскости видеообъекта.
Изобретение также относится к устройству извлечения пользовательских данных, вставленных в заданную позицию в кодированном видеосигнале, отличающемуся тем, что упомянутое устройство содержит средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
В предпочтительном варианте выполнения упомянутое средство анализа этого устройства извлечения пользовательских данных активизируется на уровне плоскости видеообъекта.
Изобретение также относится к видеокодеру для кодирования видеосигнала, принимая во внимание генерирование видеосигнала, кодируемого в соответствии со стандартом MPEG-4, и для вставки пользовательских данных в упомянутый кодированный видеосигнал. Видеокодер отличается тем, что он содержит средство для вставки серии (набора) заполняющих пакетов в данную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутой серии (наборе) определяется посредством таблицы соответствия из упомянутых пользовательских данных.
Изобретение также относится к видеодекодеру для декодирования видеосигнала, кодированного в соответствии со стандартом MPEG-4, причем упомянутый кодированный видеосигнал содержит пользовательские данные, вставленные в заданную позицию. Видеодекодер отличается тем, что он содержит средство анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
Изобретение также относится к сигналу, отражающему технические характеристики способа вставки пользовательских данных в кодированный видеосигнал.
Таким образом, изобретение относится к кодированному видеосигналу, содержащему набор заполняющих пакетов, вставленных на уровне плоскости видеообъекта, причем количество заполняющих пакетов в упомянутом наборе отражает значение пользовательских данных, вставленных в упомянутый сигнал, при этом количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
В частности, такой сигнал кодируется в соответствии со стандартом MPEG-4 видео.
Изобретение также относится к первой компьютерной программе, содержащей команды кода для выполнения этапов способа на стороне кодера, и ко второй компьютерной программе, содержащей команды кода для выполнения этапов способа на стороне декодера.
Подробное объяснение и другие аспекты изобретения приведены ниже.
Конкретные аспекты изобретения ниже объясняются со ссылкой на варианты выполнения, описанные ниже и рассматриваемые в связи с прилагаемыми чертежами:
на фиг.1 представлена общая структура видеосигнала, кодированного в соответствии со стандартом MPEG-4 видео,
на фиг.2 представлены различные этапы способа пересылки многобитовых пользовательских данных с кодера на декодер в соответствии с изобретением,
на фиг.3 представлены различные этапы способа пересылки однобитовых пользовательских данных с кодера на декодер в соответствии с изобретением,
на фиг.4 представлен первый пример пересылки однобитовых пользовательских данных в видеосигнале, кодируемом в соответствии со стандартом MPEG-4 видео,
на фиг.5 представлен второй пример пересылки двухбитовых пользовательских данных в видеосигнале, кодируемом в соответствии со стандартом MPEG-4 видео.
Настоящий способ пересылки пользовательских данных описывается с учетом того, что вставка пользовательских данных выполняется в видеосигнал, кодируемый в соответствии со стандартом MPEG-4 видео. Однако такой способ вставки пользовательских данных на уровне ПлВО (или на более низком уровне в ПлВО) также может быть использован с другими видеостандартами, которые допускают вставку заполняющих пакетов.
На фиг.2 представлены различные этапы способа в соответствии с изобретением для пересылки пользовательских данных с видеокодера на видеодекодер. Способ, описываемый на фиг.2, позволяет производить пересылку N-битовых пользовательских данных с видеокодера на видеодекодер при вставке набора заполняющих пакетов, причем N - целое число, удовлетворяющее N>0.
Этот способ основан на вставке в кодированный видеосигнал набора заполняющих пакетов. С этой целью способ содержит первый связующий этап 201 определения количества заполняющих пакетов, содержащихся в упомянутом наборе заполняющих пакетов, подлежащих вставке, в соответствии со значением пользовательских данных, подлежащих пересылке. Первый связующий этап 201 состоит из операции над таблицей соответствия, которая позволяет произвести определение количества заполняющих пакетов в упомянутом наборе из значения пользовательских данных. Таким образом, обычно заданные пользовательские данные, подлежащие пересылке, связаны с заданным количеством заполняющих пакетов.
Таблица соответствия может быть такой, что количество вставляемых заполняющих пакетов по существу соответствует значению пользовательских данных, подлежащих пересылке.
Например, если подлежащие пересылке пользовательские данные представляют собой двоичное значение «00», то количество заполняющих пакетов, указываемое таблицей соответствия, составляет «0», если подлежащие пересылке пользовательские данные представляют собой двоичное значение «01», то количество заполняющих пакетов, указываемое таблицей соответствия, составляет «1», если подлежащие пересылке пользовательские данные представляют собой двоичное значение «10», то количество заполняющих пакетов, указываемое таблицей соответствия, составляет «2», если подлежащие пересылке пользовательские данные представляют собой двоичное значение «11», то количество заполняющих пакетов, указываемое таблицей соответствия, составляет «3».
Конечно, таблица соответствия может быть такой, что количество вставляемых заполняющих пакетов соответствует кратному числу подлежащих пересылке пользовательских данных. В общих чертах таблица соответствия может быть такой, что количество вставляемых заполняющих пакетов является следствием транскодирования значения подлежащих пересылке пользовательских данных.
Настоящий способ содержит этап 202 вставки для вставки во время кодирования видеосигнала, в соответствии со стандартом MPEG-4, набора заполняющих пакетов, количество которых ранее было определено на первом связующем этапе 201. Каждый заполняющий пакет соответствует макроблоку заполняющего типа, определенному в стандарте MPEG-4 видео.
Синтаксис кодирования любого макроблока, определенного в стандарте MPEG-4 видео, содержит поле, упоминаемое как MBTYPE, для указания типа кодирования макроблока. Поле MBTYPE для макроблока заполняющего типа содержит строку «заполнение» и данные такого макроблока заполняющего типа содержат кодовое слово со значением 0000 0000 1.
Этап вставки, таким образом, может состоять из вставки поля MBTYPE, содержащего строку «заполнение», и кодового слова со значением 0000 0000 1.
Вставка упомянутого набора заполняющих пакетов выполняется на уровне ПлВО, что означает, что набор заполняющих пакетов может быть вставлен по меньшей мере один раз в заданную ПлВО или во множество последовательных или непоследовательных ПлВО. В кодированном видеосигнале набор заполняющих пакетов вставляется в заданную позицию, соответствующую:
- концу заголовка ПлВО; это соответствует позиции между концом заголовка ПлВО и началом макроблока с рангом 1 в ПлВО,
- позиции между двумя последовательными макроблоками,
- началу слайса ...
В том случае, когда множество заполняющих пакетов вставляется в кодированный видеосигнал в зависимости от значения подлежащих пересылке пользовательских данных, то этап 203 повторения позволяет производить последовательную вставку упомянутого множества заполняющих пакетов.
Кодированный видеосигнал, генерируемый таким образом кодером, пересылается, например, по каналу связи и принимается видеодекодером.
Этап 204 анализа выполняется в той же позиции, что и позиция набора заполняющих пакетов, вставленная на стороне кодера. Этап 204 анализа состоит из обнаружения заполняющих пакетов в кодированном видеосигнале в упомянутой позиции в ПлВО. С этой целью обнаружение заполняющих пакетов может состоять из обнаружения поля MBTYPE, содержащего строку «заполнение».
Этап 204 анализа также состоит в подсчете количества заполняющих пакетов, обнаруженных на этапе обнаружения в упомянутой позиции.
Этап 204 анализа может выполняться систематически на каждой последовательной ПлВО, если видеодекодер не имеет информации, в какую ПлВО были вставлены заполняющие пакеты для пересылки пользовательских данных. Этап 204 анализа также может выполняться только на ПлВО, для которых ожидаются пользовательские данные, причем этот случай возможен, если на стороне декодера известна частота вставки пользовательских данных.
После того, как на этапе 204 анализа было определено количество заполняющих пакетов, на втором связующем этапе 205 получают значение пользовательских данных из количества обнаруженных заполняющих пакетов. Второй связующий этап 205 состоит из операции над таблицей соответствия, которая позволяет произвести определение пользовательских данных из количества заполняющих пакетов. Таблица соответствия, используемая на втором связующем этапе 205, соответствует таблице, обратной по отношению к таблице соответствия, используемой на первом связующем этапе 201.
Например, используя таблицу, обратную по отношению к вышеупомянутой таблице соответствия, используемой на стороне кодера, если количество заполняющих пакетов равно «0» (т.е. заполняющие пакеты не были фактически вставлены на стороне кодера), то посланными пользовательскими данными является двоичное значение «00», если количество заполняющих пакетов равно «1», то посланными пользовательскими данными является двоичное значение «01», если количество заполняющих пакетов равно «2», то посланными пользовательскими данными является двоичное значение «10», если количество заполняющих пакетов равно «3», то посланными пользовательскими данными является двоичное значение «11».
Этот способ подразумевает, что видеодекодер информирован о позиции, где на стороне кодера вставляется набор заполняющих пакетов, и он способен извлечь пользовательские данные из количества заполняющих пакетов, обнаруженных на этапе 204 анализа. Например, информация, относящаяся к упомянутой позиции и к содержимому упомянутой таблицы соответствия, может быть послана в пользовательских данных во время этапа инициализации передачи данных между видеокодером и видеодекодером или посредством специализированного этапа передачи. Такая информация также может быть явно установлена на стороне видеодекодера, причем видеодекодер только должен знать, например, посредством пользовательских данных, посланных (известными методами из известного уровня техники) во время этапа инициализации передачи данных между видеокодером и видеодекодером, что принимаемый кодированный видеосигнал поступает от кодера, выполненного в соответствии с изобретением, чтобы правильно интерпретировать присутствие заполняющих пакетов в кодированном видеосигнале.
На фиг.3 представлены различные этапы способа пересылки однобитовых пользовательских данных с кодера на декодер в соответствии с изобретением. Этот способ выводится из способа, описанного на фиг.2, потому что он соответствует конкретному случаю N=1.
Учитывая, что однобитовые пользовательские данные имеют только два состояния, то такие пользовательские данные могут быть непосредственно выражены посредством вставки в кодированный видеосигнал единственного заполняющего пакета (т.е. макроблока заполняющего типа). Таким образом, присутствие или отсутствие упомянутого макроблока заполняющего типа позволяет указывать значение однобитовых пользовательских данных, аналогично флагу. С этой целью первый связующий этап 301 позволяет определить, должны ли однобитовые пользовательские данные, имеющие состояние «1», приводить к вставке или нет заполняющего пакета.
Например, обычно присутствие единственного макроблока заполняющего типа может интерпретироваться как значение «1», тогда как отсутствие макроблока заполняющего типа может интерпретироваться как значение «0».
Аналогично объяснениям, сопровождающим фиг.2, вставка заполняющего пакета выполняется на этапе 302 вставки в заданную позицию в ПлВО, которая не только известна кодеру, но также известна декодеру.
Видеосигнал, кодируемый в соответствии со стандартом MPEG-4, сгенерированный, таким образом, кодером, пересылается и принимается видеодекодером.
Этап 303 обнаружения выполняется для обнаружения присутствия заполняющего пакета в упомянутой заданной позиции в ПлВО. Обнаружение выполняется аналогично объяснению, приведенному со ссылкой на фиг.2, при обнаружении поля MBTYPE, содержащего строку «заполнение». По сравнению с фиг.2, где выполнялся этап 204 комплексного анализа, включающий в себя операцию подсчета, достаточен этап 303 базового обнаружения. Другими словами, этап обнаружения и подсчета приводят к единственному этапу.
Связь между присутствием (или отсутствием) единственного макроблока заполняющего типа и значением пользовательских данных выполняется посредством второго связующего этапа 304. Второй связующий этап 304 состоит из операции над таблицей соответствия, которая позволяет производить определение значения пользовательских данных из присутствия (или отсутствия) заполняющих пакетов. Эта таблица соответствия соответствует таблице, обратной по отношению к таблице соответствия, используемой на первом связующем этапе 301.
Например, при использовании таблицы, обратной по отношению к вышеупомянутой таблице соответствия, используемой на стороне кодера на связующем этапе 301, если присутствие единственного макроблока заполняющего типа фактически обнаруживается в упомянутой заданной позиции в ПлВО, то можно предположить, что значением однобитовых пользовательских данных является «1». В противоположность этому, если не обнаруживается макроблок заполняющего типа, то можно предположить, что значением однобитовых пользовательских данных является «0».
На фиг.4 представлен первый пример пересылки однобитовых пользовательских данных в видеосигнале, кодированном в соответствии со стандартом MPEG-4 видео.
Макроблоки заполняющего типа ранга i упоминаются как MB_stuff_i. В этом примере количество вставленных макроблоков заполняющего типа в соответствии со значением однобитовых пользовательских данных приведено в таблице 1 соответствия.
Таблица 1 | |
Таблица соответствия для пересылки однобитовых пользовательских данных | |
Пользовательские данные | Количество вставленных MB_stuff |
0 | 0 |
1 | 1 |
Когда макроблок заполняющего типа присутствует в ПлВО, с которой связаны пользовательские данные, то он вставляется непосредственно после заголовка ПлВО упомянутой ПлВО.
Кодированный видеосигнал содержит заголовок ПВО, за которым следует заголовок СВО, за которым, в свою очередь, следует заголовок ГПВО. Эти заголовки предназначены для передачи информации, используемой для декодирования кодированного видеосигнала.
В первой ПлВО, упоминаемой как ПлВО_1, должны быть посланы пользовательские данные «1». С этой целью, используя таблицу 1 соответствия, единственный макроблок заполняющего типа MB_stuff_1 вставляется после заголовка ПлВО, упоминаемого как Заголовок_ПлВО_1. На стороне декодера при приеме кодированного видеосигнала интерпретируется обнаружение после Заголовка_ПлВО_1 присутствие единственного макроблока заполняющего типа посредством таблицы, обратной по отношению к таблице 1 соответствия, как однобитовые пользовательские данные со значением «1».
Во второй ПлВО, упоминаемой как ПлВО_2, должны быть посланы пользовательские данные «0». С этой целью, используя таблицу 1 соответствия, после заголовка ПлВО Заголовок_ПлВО_2 не вставляется макроблок заполняющего типа. На стороне декодера при приеме кодированного видеосигнала интерпретируется отсутствие обнаружения после Заголовка_ПлВО_2 единственного макроблока заполняющего типа посредством таблицы, обратной по отношению к таблице 1 соответствия, как однобитовые пользовательские данные со значением «0». Этот способ пересылки однобитовых пользовательских данных может быть аналогично применим к последующим ПлВО в кодированном видеосигнале.
Кодированный видеосигнал содержит окончание ПВО для указания окончания кодированного видеосигнала.
Однобитовые пользовательские данные могут быть использованы на стороне декодера в качестве флага для запуска (например, если пользовательские данные равны «1») или останова (например, если пользовательские данные равны «0») конкретного применения на уровне ПлВО. В частности, в соответствии с примером, приведенным на фиг.4, пользовательские данные, связанные с ПлВО_1, могут быть использованы для запуска или останова конкретного применения видеоданных относительно ПлВО_2. В общих чертах пользовательские данные, связанные с ПлВО ранга i, могут быть использованы для запуска или останова конкретного применения видеоданных относительно ПлВО ранга (i+1).
Пользовательские данные также могут быть использованы на стороне декодера в качестве значения параметра в конкретном применении, например, при операции пост-обработки.
На фиг.5 представлен второй пример пересылки двухбитовых пользовательских данных в видеосигнале, кодированном в соответствии со стандартом MPEG-4 видео.
Макроблоки заполняющего типа ранга i упоминаются как MB_stuff_i. В этом примере количество вставленных макроблоков заполняющего типа в соответствии со значением двухбитовых пользовательских данных приведено в таблице 2 соответствия.
Таблица 2 | ||
Таблица соответствия для пересылки двухбитовых пользовательских данных | ||
Пользовательские данные | Количество вставленных MB_stuff | |
бит 1 | бит 2 | |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 2 |
1 | 1 | 3 |
Когда макроблоки заполняющего типа присутствуют в ПлВО, с которой связаны пользовательские данные, то они вставляются после кодированного макроблока ранга i0 в упомянутой ПлВО, упоминаемые как MB_i0.
Кодированный видеосигнал содержит заголовок ПВО, за которым следует заголовок СВО, за которым, в свою очередь, следует заголовок ГПВО. Эти заголовки предназначены для передачи информации, используемой для декодирования кодированного видеосигнала.
В первой ПлВО, упоминаемой как ПлВО_1, должны быть посланы пользовательские данные «10». С этой целью, используя таблицу 2 соответствия, два макроблока заполняющего типа MB_stuff_1 и MB_stuff_2 вставляются после макроблока MB_i0. На стороне декодера при приеме кодированного видеосигнала обнаружение и подсчет после MB_i0 двух макроблоков заполняющего типа интерпретируются посредством таблицы, обратной по отношению к таблице 2 соответствия, как двухбитовые пользовательские данные со значением «10».
Во второй ПлВО, упоминаемой как ПлВО_2, должны быть посланы пользовательские данные «11». С этой целью, используя таблицу 2 соответствия, три макроблока заполняющего типа MB_stuff_3, MB_stuff_4 и MB_stuff_5 вставляются после макроблока MB_i0. На стороне декодера при приеме кодированного видеосигнала обнаружение и подсчет после MB_i0 трех макроблоков заполняющего типа интерпретируются посредством таблицы, обратной по отношению к таблице 2 соответствия, как двухбитовые пользовательские данные со значением «11».
Этот способ пересылки двухбитовых пользовательских данных может быть аналогичным образом применен к последующим ПлВО в кодированном видеосигнале.
Кодированный видеосигнал содержит окончание ПВО для указания окончания кодированного видеосигнала.
Каждый бит двухбитовых пользовательских данных может быть использован на стороне декодера в качестве флага для запуска (например, если значение бита равно «1») или останова (например, если значение бита равно «0») двух конкретных приложений на уровне ПлВО при связывании уровня старшего бита с состоянием первого приложения и уровня младшего бита с состоянием второго приложения. В частности, в соответствии с примером, изображенном на фиг.5, двухбитовые пользовательские данные, связанные с ПлВО_1, могут быть использованы для запуска или останова независимо двух конкретных приложений видеоданных относительно ПлВО_2. В общих чертах биты двухбитовых пользовательских данных, связанных с ПлВО ранга i, могут быть использованы для запуска или останова конкретных приложений видеоданных относительно ПлВО ранга (i+1).
Пользовательские данные также могут быть использованы на стороне декодера в качестве значения параметра в конкретном приложении, например, в операции пост-обработки.
Этот способ пересылки пользовательских данных на уровне ПлВО, как изображено на фиг.4 и 5, может быть использован, в частности, для указания видеодекодеру, что в видеосигнале имеет место резкая смена сцены, т.е. внезапный переход в видеоконтенте между двумя последовательными ПлВО. Пользовательские данные, вставленные в ПлВО ранга i, могут указывать, что резкая смена сцены имеет место между ПлВО ранга i и ПлВО ранга (i+1). Таким образом, когда прикладная задача маскирования ошибок выполняется на стороне декодера данных относительно ПлВО ранга (i+1), то декодер может выгодно выбрать выполнение маскирования пространственных ошибок (т.е. маскирование ошибок при использовании только видеоданных ПлВО ранга (i+1)), если пользовательские данные (по меньшей мере один бит) интерпретируются в качестве указания на резкую смену сцены, или выполнение маскирования временных ошибок (т.е. маскирование ошибок при использовании видеоданных предыдущей ПлВО, такой как ПлВО ранга i), если пользовательские данные (по меньшей мере один бит) не интерпретируются в качестве указания на резкую смену сцены.
Способ в соответствии с изобретением был описан для вставки пользовательских данных на уровне ПлВО. Однако этот способ также может быть использован для вставки множества пользовательских данных на ПлВО, например на уровне слайса (секции, «среза»). В этом случае заполняющие пакеты, например, могут вставляться после заголовка слайса или после кодированного макроблока данного ранга в упомянутом слайсе, причем упомянутая вставка заполняющих пакетов повторяется для множества слайсов.
Этапы способа могут быть выполнены в устройстве на стороне кодера и в устройстве на стороне декодера посредством аппаратных элементов (таких как проводные электронные схемы, памяти, процессоры сигналов ...). Аппаратный элемент, который осуществляет этап 202 вставки, изображенный на фиг.2, может рассматриваться, как средство вставки. Аппаратный элемент, который осуществляет этап 204 анализа, изображенный на фиг.2, может рассматриваться, как средство анализа. Альтернативно, посредством программных элементов, таких как компьютерные программы, содержащие команды кода, хранимые на считываемом компьютером носителе, причем упомянутые команды кода используются в процессорах сигналов для исполнения некоторых этапов способа. Процессор сигналов, который осуществляет этап 202 вставки, изображенный на фиг.2, кроме того, может рассматриваться, как средство вставки. Процессор сигналов, который осуществляет этап 204 анализа, изображенный на фиг.2, кроме того, может рассматриваться, как средство анализа.
Следовательно, изобретение также относится к первой компьютерной программе, содержащей команды кода для выполнения этапов способа на стороне кодера, и ко второй компьютерной программе, содержащей команды кода для выполнения этапов способа на стороне декодера. Так как этапы способа на стороне кодера содержат этап 202 вставки, изображенный на фиг.2, первая компьютерная программа, поэтому может рассматриваться, как средство вставки. Так как этапы способа на стороне декодера включают этап 204 анализа, изображенный на фиг.2, вторая компьютерная программа, поэтому может рассматриваться, как средство анализа.
Этапы способа вставки пользовательских данных в соответствии с изобретением выгодно могут быть выполнены в видеокодере для кодирования видеосигнала и генерирования видеосигнала, кодируемого в соответствии со стандартом MPEG-4. С этой целью видеокодер содержит аппаратные и/или программные средства, как описано выше, для вставки набора заполняющих пакетов в заданную позицию в упомянутом кодированном видеосигнале, причем количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных. Таким образом, эти средства образуют средство вставки.
Этапы способа извлечения пользовательских данных в соответствии с изобретением выгодно могут быть выполнены в видеодекодере для декодирования видеосигнала, кодированного в соответствии со стандартом MPEG-4, причем упомянутый кодированный видеосигнал содержит пользовательские данные, вставленные в заданную позицию. С этой целью видеодекодер содержит аппаратные и/или программные средства анализа для обнаружения и подсчета количества заполняющих пакетов в упомянутой заданной позиции в упомянутом кодированном видеосигнале, причем упомянутое количество заполняющих пакетов используется для получения упомянутых пользовательских данных посредством таблицы соответствия.
Изобретение также относится к сигналу, отражающему технические характеристики способа вставки пользовательских данных в кодированный видеосигнал.
Таким образом, изобретение относится к кодированному видеосигналу, содержащему набор заполняющих пакетов, вставленных на уровне плоскости видеообъекта, причем количество заполняющих пакетов в упомянутом наборе отражает значение пользовательских данных, вставленных в упомянутый сигнал, количество заполняющих пакетов в упомянутом наборе определяется посредством таблицы соответствия из упомянутых пользовательских данных.
В частности, такой сигнал может кодироваться в соответствии со стандартом MPEG-4 видео. В этом случае заполняющие пакеты соответствуют макроблокам заполняющего типа, синтаксис кодирования которых содержит поле MBTYPE, содержащее строку «заполнение», и кодовое слово со значением 000000001.
Класс H04N7/52 системы для передачи импульсно-кодового модулированного видеосигнала с одним или несколькими другими импульсно-кодовыми модулированными сигналами, например звуковой сигнал, синхросигнал