Область техники, к которой относится изобретение
Настоящее изобретение относится в общем случае к кодированию видеоданных и, в частности, - к маскированию искажений, вводимых ошибками.
Предшествующий уровень техники
Видеопоследовательность состоит из последовательности неподвижных изображений или кадров. Способы сжатия видеоданных основаны на сокращении избыточных и не важных для восприятия частей видеопоследовательностей. Избыточность в видеопоследовательностях можно классифицировать на спектральную, пространственную и временную избыточность. Спектральная избыточность относится к подобию между различными цветовыми компонентами одного и того же изображения. Пространственная избыточность является результатом подобия между соседними пикселями в изображении. Временная избыточность существует из-за того, что имеется значительная вероятность того, что объекты, появлявшиеся в предыдущем кадре изображения, также появятся в текущем кадре изображения. Сжатие может достигаться с помощью использования этой временной избыточности и предсказания текущего изображения на основе другого изображения, называемого эталонным изображением. Дополнительное сжатие достигается с помощью генерации данных компенсации движения, которые описывают движение между текущим изображением и эталонным изображением.
Способы сжатия видеоданных обычно различают изображения, которые используют устранение временной избыточности и изображения, которые его не используют. Сжатые изображения, которые не используют способы устранения временной избыточности, обычно называют INTRA- (или I-) кадрами или изображениями. Предсказанные во времени изображения обычно быстро предсказываются на основе изображения, имеющего место перед текущим изображением, и они называются INTER- или P-кадрами. Сжатый фрагмент видеозаписи (видеоклип) обычно состоит из последовательности изображений, которые могут быть примерно классифицированы на независимые во времени INTRA-изображения и кодированные с помощью временных отличий INTER-изображения. INTRA-изображения обычно используются для того, чтобы остановить распространение во времени ошибок передачи в восстановленном видеосигнале и обеспечить точки произвольного доступа в битовом видеопотоке. Так как эффективность сжатия, обеспеченная INTRA-изображениями, обычно ниже, чем эффективность сжатия, обеспеченная с помощью INTER-изображений, они в общем случае используются расчетливо, особенно в приложениях с низкой скоростью передачи в битах.
Видеопоследовательность может быть составлена из многих сцен, снятых одной камерой, или видеофрагментов. Видеофрагмент определяют как последовательность непрерывных кадров или изображений, снятых с помощью одной камеры. В общем случае кадры в пределах одного видеофрагмента сильно коррелированы. Однако в обычной видеопоследовательности содержимое изображений значительно отличается от одной сцены к другой, и поэтому первое изображение сцены обычно кодируют с помощью кодирования INTRA-кадров. Смену различных видеофрагментов в видеопоследовательности называют «переходами между сценами». Переходы между сценами могут принимать множество различных форм. Например, один видеофрагмент может заканчиваться, а другой может резко начинаться при «резких переходах между сценами (обрывах сцен)». В других случаях переход между сценами происходит постепенно и он занимает больше чем один кадр. Примеры постепенных переходов между сценами - «наплывы», «постепенное появление или исчезновение изображения» (постепенное появление изображения, постепенное исчезновение изображения) и «вытеснение (постепенная смена одного изображения другим)».
Сжатое видеоизображение легко повреждается ошибками при передаче, главным образом по двум причинам. Во-первых, из-за использования разностного кодирования с прогнозированием во времени (INTER-кадры) ошибки распространяются и в пространстве, и во времени. Во-вторых, использование кодов переменной длины увеличивает восприимчивость битового видеопотока к ошибкам. В приемнике (видеодекодере) существует много способов борьбы с искажениями, внесенными в тракте передачи. В общем случае при приеме сигнала ошибки, возникающие при передаче, сначала обнаруживают и затем исправляют или маскируют с помощью декодера. Термин «исправление ошибок» относится к процессу полного восстановления ошибочных данных, как будто изначально не было внесено никаких ошибок, в то время как «маскирование ошибок» относится к процессу маскирования влияния ошибок передачи так, чтобы они были едва видимы в восстановленной видеопоследовательности.
В настоящее время видеодекодер, разрабатываемый совместной группой по видеоизображениям (JVT) экспертной группы по кинематографии Международной организации по стандартизации (ISO)/Международной электротехнической комиссии (IEC) и экспертной группы по видеокодированию Международного союза электросвязи - сектора телекоммуникаций (ITU-T) для видео кодера-декодера (кодека) ITU-T H.264/MPEG-4 part 10 AVC, испытывает недостаток в способе принятия решения в отношении того, как должны маскироваться ошибки передачи в кодированных INTRA-кадрах и кадрах перехода между сценами, и именно в этом контексте было разработано данное изобретение.
Сущность изобретения
Задачей настоящего изобретения является обеспечение способа, с помощью которого соответствующий вид маскирования ошибок может выбираться для кадров, которые принадлежат переходам между сценами в видеопоследовательности. Данный способ одинаково применим к резким переходам между сценами (т.е. обрывам сцены) и к постепенным переходам между сценами, например к постепенному появлению или исчезновению изображения, вытеснению и наплыву и т.д.
Для выполнения эффективного маскирования ошибок кадров, которые принадлежат переходам между сценами, необходимы два вида информации: 1) информация о кадрах, в которых смена видеофрагмента начинается и заканчивается; и 2) вид применяемого перехода между сценами (обрыв, наплыв, постепенное появление или исчезновение, вытеснение и т.д.). Так как два описанных вида информации не являются необходимыми для правильного декодирования данных уровня кодирования видеоданных (VCL), настоящее изобретение предлагает, чтобы информация, относящаяся к переходам между сценами, обеспечивалась как дополнительная информация расширения (ДИР, SEI) и закодированный битовый поток видеоданных включал ее в себя как сообщение дополнительной информации расширения (ДИР). Вся необходимая информация, требуемая для маскирования ошибок, возникающих в кадрах, которые принадлежат переходам между сценами, может затем быть логически получена из сообщения ДИР.
Согласно изобретению каждая сцена видеопоследовательности связана со значением идентификатора сцены. Значения идентификатора сцены для последовательных сцен отличаются друг от друга, и таким образом, видеодекодер может сделать заключение о том, что произошла смена сцены, когда он принимает идентификатор сцены, отличающийся от того, который он принял раньше. Кадры в период перехода между сценами связаны с двумя значениями идентификатора сцены, одним от каждой из двух сцен, между которыми осуществляется переход. Кроме того, постепенные переходы между сценами связаны с конкретным видом перехода, который может быть наплывом, постепенным появлением изображения, постепенным исчезновением изображения, вытеснением или «ни одним из указанных» (т.е. некоторым другим видом перехода). Эта грубая классификация предоставляет декодеру достаточную руководящую информацию, предоставляя ему возможность выбрать подходящий алгоритм маскирования ошибок для маскирования потери или искажения данных при переходе между сценами.
Таким образом, согласно первому аспекту настоящего изобретения предоставляется способ маскирования ошибки в кадре видеопоследовательности, которая содержит по меньшей мере первую сцену и вторую сцену, при этом существует переход от первой сцены ко второй сцене, который содержит множество кадров и относится к одному из множества видов. Данный способ содержит:
идентификацию вида перехода между сценами; и
применение процедуры маскирования ошибок для маскирования ошибки в кадре, принадлежащем упомянутому переходу, основываясь на идентифицированном виде перехода между сценами.
Идентифицированный вид перехода между сценами может быть обрывом сцены или постепенным переходом между сценами.
Предпочтительно, если все изображение, принадлежащее обрыву сцены, потеряно, то потерянное изображение не маскируют.
Предпочтительно, если часть изображения, принадлежащего обрыву сцены, потеряна или повреждена, то применяют алгоритм пространственного маскирования ошибок для маскирования упомянутой потерянной или поврежденной части изображения.
Предпочтительно, если все изображение, принадлежащее постепенному переходу, потеряно или повреждено, то применяют алгоритм пространственно-временного маскирования ошибок для маскирования потерянной или поврежденной части изображения.
Предпочтительно, если часть изображения, принадлежащего постепенному переходу, потеряна или повреждена, то применяют алгоритм пространственно-временного маскирования ошибок для маскирования упомянутой потерянной или поврежденной части изображения.
Предпочтительно информацию, указывающую идентифицированный переход между сценами, подают на декодер в сообщении дополнительной информации расширения для предоставления возможности декодеру маскировать ошибку, основываясь на упомянутой информации.
Преимущественно информация, указывающая идентифицированный переход между сценами, включает в себя указание вида перехода между сценами, а информацию, указывающую идентифицированный переход между сценами, обеспечивают для каждого кадра, принадлежащего переходу.
Согласно второму аспекту настоящего изобретения предоставляется устройство видеокодирования для кодирования видеопоследовательности в поток данных, при этом данная видеопоследовательность содержит по меньшей мере первую сцену и вторую сцену и имеет переход между сценами от первой сцены, причем этот переход между сценами содержит множество кадров и относится к одному из множества видов. Устройство видеокодирования содержит:
средство идентификации кадров, связанных с упомянутым переходом;
средство предоставления информации о виде перехода.
Согласно третьему аспекту настоящего изобретения предоставляется устройство видеодекодирования для декодирования видеопоследовательности из потока данных, при этом данная видеопоследовательность содержит по меньшей мере первую сцену и вторую сцену и имеет переход между сценами от первой сцены, причем этот переход между сценами содержит множество кадров и относится к одному из множества видов. Устройство видеодекодирования содержит:
средство приема потока данных; и
алгоритм маскирования ошибок для маскирования ошибки в кадре, принадлежащем упомянутому переходу, на основе вида перехода между сценами.
Настоящее изобретение станет очевидным после прочтения описания, рассмотренного вместе с фиг. 1 - 3.
Перечень фигур чертежей
Фиг. 1 - последовательность операций, иллюстрирующая способ маскирования ошибок согласно настоящему изобретению, показывающая, как выбирают соответствующий способ маскирования ошибок для изображения в переходе между сценами согласно виду перехода между сценами.
Фиг. 2 - структурная схема, показывающая видеокодер, реализованный согласно настоящему изобретению, для обеспечения кодированного потока данных, который включает в себя информацию, указывающую переходы между сценами, в целях маскирования ошибок.
Фиг. 3 - структурная схема, показывающая видеодекодер, реализованный в соответствии с настоящим изобретением и соответствующий видеокодеру, показанному на фиг. 2.
Предпочтительный вариант осуществления изобретения
Как объясняется выше, дополнительная информация расширения (ДИР), которую включает в себя закодированный битовый видеопоток, содержит информацию, которая не является необходимой для правильного декодирования закодированных видеоданных, но которая является, тем не менее, полезной для целей представления или декодирования. Таким образом, информация ДИР является идеальным транспортным средством для переноса информации о сцене, к которой принадлежит конкретный кадр видеопоследовательности, и для обеспечения информации о переходах между сценами.
Согласно стандарту кодирования видеоданных ITU-T H.264/MPEG-4 part 10 AVC, элемент ДИР содержит одно или более сообщений ДИР. Каждое сообщение ДИР состоит из заголовка ДИР и полезной информации (полезной нагрузки) ДИР. Вид и размер полезной информации ДИР кодируют, используя расширяемый синтаксис. Размер полезной информации ДИР обозначают в байтах. Допустимые виды полезной информации ДИР перечислены в приложении C проекта комитета JVT (см. документ JVT_D015d5).
Полезная информация ДИР может быть заголовком полезной информации ДИР. Например, заголовок полезной информации может указывать изображение, которому принадлежат конкретные данные. Заголовок полезной информации определяют для каждого вида полезной информации отдельно. Описания полезной информации ДИР определены в приложении C проекта комитета JVT (снова см. документ JVT_D015d5).
Передача модулей ДИР происходит синхронно относительно других модулей NAL (сетевого уровня абстракции). Сообщение ДИР может относиться к слою, части изображения, изображению, любой группе изображений, последовательности в прошлом, последовательности, декодируемой в настоящее время, или последовательности, которая будет декодироваться в будущем. Сообщение ДИР может также относиться к одному или более модулям NAL, предыдущих или последующих по порядку передачи.
Приведенная ниже таблица 1 определяет синтаксис полезной информации ДИР, который используется в стандарте кодирования видеоданных ITU-T H.264/MPEG-4 part 10 AVC, в то время как таблица 2 представляет конкретный синтаксис, используемый в связи с обменом информацией о сцене, который предложен согласно настоящему изобретению.
Параметры информации сцены, приведенные в таблице 2, относятся к следующему модулю NAL, содержащему закодированные данные макроблока в порядке передачи.
scene_identifier: Сцена определена как последовательность непрерывных кадров, снятых одной камерой. В общем случае кадры в пределах одной сцены сильно коррелированы. Согласно изобретению кадры в данной сцене совместно используют одно и то же значение параметра scene_identifier и последовательные сцены по порядку кодирования не должны иметь одно и то же значение параметра scene_identifier.
second_scene_identifier: Если существует, параметр second_scene_identifier указывает, что следующий модуль NAL, содержащий закодированные данные макроблока, принадлежит кадру, который содержит данные изображений от двух сцен. Другими словами, кадр принадлежит постепенному переходу между сценами. Параметр second_scene_identifier - идентификатор последующей сцены по порядку кодирования.
scene_transition_type: Если параметр scene_transition_type не присутствует в информации сцены ДИР, это указывает, что вид перехода между сценами не известен, не определен или несоответствующий. Если присутствует, то значения, приведенные ниже в таблице 3, являются допустимыми:
Теперь будет описан способ, которым описанная выше информация сцены используется в процессе декодирования для обработки потери или повреждения данных.
Если все изображение потеряно непосредственно перед текущим изображением и сцена изменилась после ранее принятого изображения, то потерянное изображение не должно маскироваться, потому что оно начинает новую сцену. Если все изображение потеряно непосредственно перед текущим изображением и никакой смены сцены не произошло после ранее принятого изображения, то декодер маскирует потерянное изображение. Если все изображение потеряно в течение периода перехода, то декодер использует указанный вид перехода между сценами, маскируя потерянное изображение.
Если часть текущего изображения потеряна или повреждена и если сообщение ДИР информации сцены связано с данным изображением, то декодер выполняет следующие действия:
1. Если сцена изменилась после приема предыдущего изображения, то декодер применяет алгоритм пространственного маскирования ошибок для маскирования потерянных или поврежденных частей текущего изображения.
2. Если сцена не изменилась после ранее принятого изображения, то декодер использует алгоритм пространственно-временного маскирования ошибок.
3. Если текущее изображение принадлежит переходу между сценами, то декодер использует указанный вид перехода между сценами, маскируя потерянное изображение.
Согласно изобретению кодер должен генерировать сообщения ДИР информации сцены, если он работает в подверженной ошибкам среде передачи или если существует потребность создать описание содержимого видеоданных на основе закодированного видеосигнала. Даже если нет никакой неотложной потребности для описания содержимого, позднее потребность может возникнуть для некоторых видов содержимого видеоданных, таких как видеоданные для развлечения. Поэтому согласно настоящему изобретению предпочтительно, чтобы кодеры всегда генерировали сообщения ДИР информации сцены, если возможно.
Соответственно кодер создает сообщение ДИР информации сцены для каждого обрыва сцены и постепенного перехода между сценами. Для каждого изображения обрыва сцены существует соответствующее сообщение ДИР информации сцены, которое может повторяться позднее для устойчивости к ошибкам. Для каждого постепенного перехода между сценами существует (предпочтительно повторяющееся) сообщение ДИР информации сцены, связанное с первым изображением перехода (т.е. первым изображением, которое составлено и из сцены, от которой переходят, и из сцены, к которой переходят). Для каждого постепенного перехода между сценами существует также (предпочтительно повторяющееся) сообщение ДИР информации сцены, связанное с первым изображением после последнего изображения перехода (последнее изображение перехода относится к последнему изображению, которое составлено и из сцены, от которой переходят, и из сцены, к которой переходят). Как упоминается выше, значение параметра scene_identifier отличается в последовательных сценах.
В ориентированной на передачу пакетов транспортной среде блок формирования пакетов транспортировки дублирует каждое сообщение ДИР информации сцены по меньшей мере в двух пакетах, если возможно, для обеспечения правильного приема по меньшей мере одного появления сообщения. При транспортировке с помощью протокола RTP (транспортного протокола реального времени) блок формирования пакетов использует составные пакеты для связывания сообщения ДИР информации сцены с закодированным содержимым изображения. В ориентированной на поток байтов транспортной среде каждое сообщение ДИР информации сцены по меньшей мере дублируется.
Способ маскирования ошибок в видеопоследовательностях с помощью передачи информации о смене видеофрагментов согласно настоящему изобретению показан в последовательности операций 100 на фиг. 1.
Когда декодер сталкивается с потерей данных или их повреждением в процессе декодирования, декодер определяет на этапе 110, является ли потерянное или поврежденное изображение целым изображением или частью изображения. Если потеряно все изображение, то декодер определяет, какой вид ситуации потери имеет место (этап 120). Если все изображение было потеряно непосредственно перед текущим изображением и сцена изменилась после ранее принятого изображения (например, как указано с помощью значения параметра scene_identifier в принятой информации ДИР), то потерянное изображение не должно маскироваться, потому что в этом случае, как объясняется выше, потерянное изображение представляет начало новой сцены (этап 124). Если все изображение было потеряно непосредственно перед текущим изображением и никакой смены сцены не произошло после ранее принятого изображения, то декодер маскирует потерянное изображение, как показано на этапе 122. Если все изображение было потеряно в течение периода перехода, декодер использует указанный вид перехода между сценами (полученный из принятой информации ДИР) при маскировании потерянного изображения, как показано на этапе 126.
Если потеряна часть изображения, то декодер определяет, какой вид ситуации потери имеет место (этап 130). Если потеряна или повреждена часть текущего изображения и если сообщение ДИР информации сцены связано с данным изображением, то декодер должен выполнять следующие действия: Если сцена изменилась после предыдущего принятого изображения, то декодер применяет алгоритм пространственного маскирования ошибок для маскирования потерянных или поврежденных частей текущего изображения, как показано на этапе 134. Если сцена не изменилась после предыдущего принятого изображения, то декодер использует алгоритм пространственно-временного маскирования ошибок, как показано на этапе 132. Если текущее изображение принадлежит переходу между сценами, то декодер использует указанный вид перехода между сценами при маскировании потерянного изображения, как показано на этапе 136.
Для выполнения способа маскирования ошибок, как показано в последовательности операций 100 по фиг. 1, видеокодер, реализованный согласно изобретению, должен быть выполнен с возможностью мониторинга смен сцены и передачи информации, указывающей на смены сцены, в битовом потоке, сгенерированном кодером. Структурная схема такого видеокодера 200 показана на фиг. 2. Как показано на данной фигуре, видеокодер, реализованный в соответствии с изобретением, включает в себя средство 210 мониторинга перехода между сценами, средство 220 кодирования, блок 230 управления и блок 240 мультиплексирования/формирования пакетов. Входной видеосигнал, представляющий видеопоследовательность, подают на вход видеокодера и подают через средство 210 мониторинга перехода между сценами к средству 220 кодирования видеоданных, где отдельные кадры видеопоследовательности кодируют, например, в формате INTRA- или INTER-кадров. Средство мониторинга перехода между сценами исследует кадры, например, вычисляя совокупную сумму абсолютных различий между пикселями в последовательных кадрах последовательности, или применяя любой другой способ обнаружения сцены, известный из предшествующего уровня техники, для идентификации различных сцен, которые составляют видеопоследовательность. Средство 210 мониторинга перехода между сценами обеспечивает блоку 230 управления указание сцены, которой принадлежит каждый кадр. Когда обнаружен переход между сценами (например, обрыв сцены, постепенное появление или исчезновение изображения, наплыв, вытеснение и т.д.), средство 210 мониторинга перехода между сценами также обеспечивает блоку 230 управления указание вида перехода. Блок управления назначает идентификатор (например, число) каждой сцене, идентифицированной средством мониторинга перехода между сценами, и связывает идентификатор с каждым кадром, который идентифицирован как принадлежащий рассматриваемой сцене. Кроме того, когда обнаружен переход между сценами, блок 230 управления дает команду средству 220 кодирования видеоданных кодировать первый кадр новой сцены в формате кодирования INTRA-кадров. Преимущественно все последующие кадры, принадлежащие новой сцене, затем кодируют в формате кодирования INTER-кадров, если не становится необходимо по некоторым причинам закодировать данный кадр в другом формате. В предпочтительном варианте осуществления изобретения блок 230 управления связывает дополнительную информацию расширения (информацию ДИР) с каждым кадром, принадлежащим переходу между сценами, и передает эту информацию ДИР на блок 240 мультиплексирования/формирования пакетов. Преимущественно информацию ДИР для кадров, которые являются частью перехода между сценами, формируют так, как ранее описано в предпочтительном варианте осуществления изобретения, представленном ранее в тексте. Блок мультиплексирования/формирования пакетов также принимает закодированные видеоданные от средства 220 кодирования видеоданных и формирует один битовый поток из закодированных видеоданных и информации ДИР. Битовый поток затем передают, например, на соответствующий видеодекодер (см. фиг. 3) через канал передачи или на запоминающее устройство (не показано) для последующего извлечения и просмотра.
Фиг. 3 - структурная схема, показывающая видеодекодер 300, реализованный в соответствии с настоящим изобретением и соответствующий видеокодеру, описанному в связи с фиг. 2. Как можно заметить на фиг. 3, видеодекодер согласно изобретению включает в себя блок 310 расформирования пакетов/демультиплексирования, блок 320 управления, модуль 330 маскирования ошибок и средство 340 декодирования видеоданных. Блок расформирования пакетов/демультиплексирования принимает из канала передачи закодированный битовый поток, представляющий видеопоследовательность в форме пакетов данных. Он восстанавливает закодированный битовый поток видеоданных из принятых пакетов данных и разделяет битовый поток видеоданных на его составные части (т.е. на различные виды информации, относящейся к закодированным кадрам видеопоследовательности). Согласно изобретению блок расформирования пакетов/демультиплексирования извлекает дополнительную информацию расширения, содержащую, кроме всего другого, информацию, относящуюся к переходам между сценами, из закодированного битового потока видеоданных и передает информацию ДИР к блоку 320 управления. Данные, необходимые для декодирования закодированных видеокадров, передают от блока 310 расформирования пакетов/демультиплексирования к средству 340 декодирования видеоданных, где отдельные кадры видеопоследовательности восстанавливают, используя, например, методики декодирования INTRA- и INTER-кадров. Когда каждый кадр декодирован, средство 340 декодирования видеоданных исследует принятые видеоданные на наличие ошибок, которые, возможно, были внесены во время передачи закодированного битового потока видеоданных по каналу передачи от кодера. Если средство декодирования видеоданных обнаруживает, что конкретный кадр содержит такие ошибки или кадр настолько сильно поврежден, что он вообще не может быть декодирован (т.е. кадр фактически потерян), оно пытается маскировать ошибку или весь кадр, используя соответствующий алгоритм маскирования ошибок. Согласно настоящему изобретению выбор соответствующего способа маскирования ошибок выполняет модуль 330 маскирования ошибок. Модуль маскирования ошибок принимает информацию о сцене, которой каждый кадр принадлежит, из блока 320 управления. В случае кадров, которые являются частью перехода между сценами, блок 320 управления также передает модулю маскирования ошибок информацию, относящуюся к виду перехода между сценами. Таким образом, средство 340 декодирования обнаруживает ошибку, влияющую на кадр, который является частью перехода между сценами, модуль 330 маскирования ошибок может выбрать способ, подходящий для маскирования ошибки, рассматривая сцену, которой кадр принадлежит, и учитывая вид перехода между сценами. Предпочтительно, делая этот выбор, модуль 330 маскирования ошибок применяет способ выбора, описанный в предпочтительном варианте осуществления изобретения, представленном выше. Средство 340 видеодекодирования затем маскирует ошибку в кадре, используя выбранный алгоритм маскирования ошибок, и выводит декодированный кадр, например, для отображения на устройстве отображения (не показано).
Для подтверждения эффективности способов маскирования ошибок для кадров обрыва сцены и перехода между сценами согласно изобретению был выполнен ряд экспериментов моделирования, используя видеокодер и декодер, реализованные согласно стандарту кодирования ITU-T H.264/MPEG-4 part 10 AVC, модифицированному для работы в соответствии со способом настоящего изобретения. Эти эксперименты моделирования подробно описаны ниже.
A. Моделирования маскирования ошибок в кадрах произвольного доступа и обрывах сцен
При этом моделировании использовались последовательности и скорости передачи в битах, предложенные в документе VCEG-N79r1, и применялись обычные условия для среды с потерями пакетов (как определено в VCEG-N79r1). Кроме того, для моделирования эффектов маскирования ошибок для кадров обрыва сцены искусственная последовательность из 30 кадров с регулярными обрывами сцен была создана из известных видеопоследовательностей «News (Новости)», «Foreman (Бригадир)», «Coastguard (Офицер береговой службы)», «Carphone (Автомобильный телефон)» и «Silent (Тишина)». В дальнейшем эта искусственная последовательность упоминается как «MixedSeq». Использовался период между INTRA-кадрами, приблизительно равный 1 секунде, для предоставления возможности частого произвольного доступа во всех случаях. Для последовательности MixedSeq такой период INTRA-кадров приводил к тому, что все обрывы сцен кодировались с помощью кодирования INTRA-кадров. Также использовалась оптимизация знаний о потерях R/D (искажения в зависимости от скорости передачи) (LA-RDO). Другие параметры кодирования, используемые для кодирования последовательности, показаны ниже в таблице 4:
Маскирование ошибок
Создание сообщений ДИР информации сцены в кодере согласно способу изобретения моделировалось в соответствии с рекомендациями, представленными в описанном выше предпочтительном варианте осуществления изобретения, и выяснилось сравнение двух процессов декодирования:
1. Стандартная объединенная модель декодера, которая включает в себя способ маскирования ошибок, описанный в приложении D рабочего проекта JVT (см. документ JVT-C039).
2. Объединенная модель декодера, расширенная с помощью процесса декодирования согласно настоящему изобретению.
Вычисление скорости передачи данных и PSNR (отношения сигнал-шум по мощности)
Как указано в обычных условиях, определенных в документе VCEG-N79r1, параметры кодирования, такие как параметр квантования, были выбраны так, чтобы сделать результирующую скорость передачи в битах настолько близкой, насколько это возможно, к скорости передачи в битах в канале, учитывая 40 байтов заголовков протоколов IP/UDP/RTP (протокола Интернет/протокола передачи дейтаграмм пользователя/протокола реального времени) на пакет. Значения PSNR вычислялись, используя каждый кадр в исходной последовательности, включая пропущенные и потерянные кадры. Чтобы уменьшить влияние первых кадров на весь результат (первые закодированные кадры имеют больший средний размер, чем средний размер всей последовательности), скорость передачи в битах и среднее значение PSNR вычислялись на основе шести закодированных кадров. Этот способ позволяет кодировать короткие последовательности с достоверными результатами. Вместо кодирования 4000 кадров 300-400 кадров каждой назначенной последовательности использовались для гарантии того, что по меньшей мере 100 кадров были закодированы и использовались по меньшей мере 300 кадров.
Моделирование потери пакета
При данном моделировании предполагалось, что пакет, содержащий набор параметров (таблица 4), был передан надежно (например, с помощью дополнительного канала во время установления сеанса), и поэтому никакой образец ошибки не был считан для него из файла с образцом ошибки. По меньшей мере один пакет первого кадра должен быть принят, чтобы избежать аварийного отказа декодера. Для удовлетворения этого условия первый пакет первого кадра всегда принимался независимо от соответствующего образца ошибки.
Представительное выполнение декодирования
Закодированный битовый поток был декодирован несколько раз (каждый из них упоминается как выполнение декодирования). Начальное расположение потерянного кадра выполнения декодирования с порядковым номером n+1 непрерывно следует за конечным расположением потерянного кадра n-ого выполнения декодирования. Количество выполнений декодирования было выбрано так, чтобы всего было по меньшей мере 8000 пакетов. Полное среднее PSNR было получено с помощью усреднения средних значений PSNR всех выполнений декодирования. Представительное выполнение декодирования выбиралось так, чтобы его среднее PSNR было самым близким к полному среднему PSNR. Мгновенные значения PSNR и декодированная последовательность представительного выполнения декодирования сохранялись для вычерчивания мгновенных графиков PSNR и для субъективной оценки качества.
Результаты
Как показано с помощью результатов моделирования для последовательности MixedSeq при 144 кбит/с, представленных в приведенной ниже таблице 11, использование маскирования ошибок INTRA-кадров для обрывов сцены обеспечивает лучшие рабочие характеристики как в терминах объективного, так и в терминах субъективного качества, чем использование маскирования ошибок INTER-кадров. Наоборот, использование маскирования ошибок INTER-кадров соответственно лучше, чем использование маскирования ошибок INTRA-кадров для кадров, которые не являются обрывом сцены, как можно заметить по другим шести случаям кодирования, представленным в таблицах 5 - 10. Это демонстрирует применимость настоящего изобретения.
(параметр квантования)
(параметр квантования)
(параметр квантования)
(параметр квантования)
(параметр квантования)
(параметр квантования)
(параметр квантования)
B. Моделирование маскирования ошибок при постепенном появлении или исчезновении изображения
Для моделирования влияния маскирования ошибок для кадров постепенного появления изображения и постепенного исчезновения изображения были созданы две искусственные последовательности с 10 кадрами постепенного исчезновения изображения, 10 кадрами постепенного появления изображения и 10 нормальными кадрами. Одна была сделана из комбинации последовательностей «News» и «Akiyo» (с низким уровнем движения), другая была сделана из последовательностей «Carphone» и «Foreman» (с умеренным уровнем движения). После кодирования, используя обобщенную модель кодера JVT и комбинацию кодирования I-P-P-P, моделировалась потеря некоторых из кадров постепенного появления или исчезновения изображения, и поток битов с потерями подавали на декодер. Для маскирования ошибок, введенных с помощью потери кадров постепенного появления или исчезновения изображения, использовались два различных способа маскирования ошибок:
1. Обычный способ маскирования ошибок в кодер-декодере JVT (как описано в приложении D рабочего проекта JVT (JVT-C039)); и
2. Специальный способ маскирования ошибок для постепенного появления или исчезновения изображений согласно изобретению, как описано ниже.
Способ маскирования ошибок
Недостающий кадр при постепенном изменении маскируют с помощью копирования и масштабирования значений пикселей предыдущего кадра. Однако, если существует только один предыдущий кадр в период перехода между сценами, то никакого масштабирования не выполняют. Если Mn' является средним значением Y (сигнала яркости) пикселя предыдущего кадра, и Mn'' является средним значением Y пикселя кадра, расположенного перед предыдущим кадром, то коэффициент масштабирования f вычисляют следующим образом:
f = (2·Mn' - Mn'')/Mn'
Маскируемые значения Y, U и V, где U и V - цветоразностные сигналы, для пикселя (Ys, Us, Vs) вычисляют из пространственно соответствующих значений предыдущего изображения (Y, U, V) следующим образом:
Ys = f·Y
Us = f·(U - 128) +128
Vs = f·(V - 128) + 128
Как показано с помощью результатов моделирования, используя специальный способ маскирования ошибок для постепенных изменений, согласно настоящему изобретению обеспечиваются значительно лучшие показатели и в объективном, и в субъективном качестве по сравнению с обычным способом маскирования ошибок, описанным в приложении D рекомендаций кодирования видеоданных JVT. Можно утверждать, что визуальное качество постепенного перехода между сценами не важно. Однако плохое маскирование ошибок во время перехода между сценами не только приводит к плохому качеству кадров перехода, но также приводит к плохому качеству обычных кадров после перехода между сценами из-за распространения ошибок во времени.
Маскирование ошибок наплывов
Ниже представлены два способа маскирования ошибок потерянного кадра во время наплыва. Если декодер в состоянии буферизовать достаточное количество кадров до декодирования, то должен использоваться алгоритм A. Иначе должен использоваться алгоритм B.
Алгоритм A:
Если буфер перед декодером содержит какой-нибудь закодированный INTRA-кадр второй сцены (кадр после периода перехода), то этот INTRA-кадр используется в качестве второго опорного кадра при маскировании ошибок. Если такой INTRA-кадр не доступен, то должен использоваться алгоритм B. Первый опорный кадр - последний восстановленный кадр. Если dt1 - временное расстояние между первым опорным кадром и недостающим кадром во время представления, и dt2 имеет тот же самый размер относительно второго опорного кадра, соответственно, (y1, u1, v1) - пиксель в первом опорном кадре и (y2, u2, v2) - пространственно соответствующий пиксель во втором опорном кадре, маскируемый пиксель (y, u, v) тогда задают с помощью:
y = clip1 ((y1·dt2 + y2·dt1)/(dt2 + dt1)).
где u и v вычисляют подобным образом, но учитывают их знак:
u = clip1 ((u1-128)·dt2 + (u2 - 128)·dt1)/(dt2 + dt1) + 128), где математическую функцию «clip1» определяют следующим образом:
Алгоритм B:
Обычное пространственно-временное маскирование ошибок.
Маскирование ошибок при вытеснении
Декодер должен обнаруживать:
1. форму границы между двумя сценами, вовлеченными в вытеснение; и
2. скорость, которая определяет, как быстро конечная сцена покрывается начальной сценой.
Обнаружение может выполняться, например, с помощью сравнения восстановленных изображений и вычисления корреляции блок за блоком. Если два пространственно соответствующих блока из последовательных во времени изображений коррелированы, то они принадлежат одной и той же сцене. Иначе они из разных сцен.
Основываясь на оцененной форме и скорости, декодер может вычислять предсказание расположения и формы границы в недостающем изображении или области. Недостающие области, которые принадлежали конечной сцене в предыдущем изображении и, согласно оценке, принадлежат конечной сцене в потерянном изображении/области, могут маскироваться с помощью копирования области из предыдущего изображения. Точно так же недостающие области, которые принадлежали начальной сцене в предыдущем изображении и, согласно оценке, принадлежат начальной сцене в потерянном изображении/области, могут маскироваться с помощью копирования области из предыдущего изображения. Недостающие области, которые принадлежали конечной сцене в предыдущем изображении и которые, согласно оценке, принадлежат начальной сцене в потерянном изображении/области, должны маскироваться пространственно из смежного содержимого начальной сцены. При маскировании недостающих областей может использоваться граница, соответствующая смежным правильно восстановленным блокам, как часто делают при маскировании ошибок.
Маскирование ошибок других видов перехода
Должен использоваться обычный пространственно-временной способ маскирования ошибок.
Хотя данное изобретение было описано относительно предпочтительного варианта осуществления, специалисты должны понять, что приведенные выше и различные другие изменения, исключение части и изменение формы и деталей данного варианта осуществления может быть сделано, не отступая от объема данного изобретения.
Изобретение относится к кодированию видеоданных и, в частности, к маскированию искажений, вводимых ошибками. Техническим результатом является обеспечение способа, с помощью которого соответствующий вид маскирования ошибок может выбираться для кадров, которые принадлежат переходам между сценами в видеопоследовательности, достигаемый за счет того, что предложен способ и устройство для маскирования ошибок в видеопоследовательности. Когда существует переход между сценами в видеопоследовательности и существует ошибка в изображении, принадлежащем переходу между сценами, используется процедура маскирования ошибок, основанная на виде перехода между сценами, для маскирования ошибки. Информация о переходе между сценами вместе с информацией о виде перехода между сценами подается на видеодекодер в сообщении дополнительной информации расширения, если переход между сценами представляет собой постепенный переход между сценами, используется алгоритм пространственно-временного маскирования ошибок для маскирования изображения, если переход между сценами представляет собой обрыв сцены и только часть изображения потеряна или повреждена, то используется пространственное маскирование ошибок для маскирования потерянной или поврежденной части изображения, а если потеряно или повреждено все изображение, принадлежащее обрыву сцены, и изображение начинает новую сцену, то оно не маскируется. 3 н. и 19 з.п. ф-лы. 3 ил., 11 табл.
RU 99103620 А, 10.03.2001 | |||
Способ формирования сигнала для коррекции искажений телевизионного изображения и устройство для его реализации | 1982 |
|
SU1109945A1 |
ЭЛЕКТРОННОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ПЛОЩАДИ ПЛОСКОЙ ФИГУРЫ | 0 |
|
SU189228A1 |
US 5727088 A, 10.03.1998 | |||
Комбинированная почвообрабатывающая машина | 1983 |
|
SU1132812A1 |
Упругое зубчатое колесо | 1983 |
|
SU1113614A1 |
US 6084641 A, 04.07.2000 | |||
US 2001004403 А1, 21.06.2001. |
Авторы
Даты
2008-04-10—Публикация
2003-07-15—Подача