Буферизация изображений для эталонов для предсказания и отображения
Иллюстрации
Показать всеИзобретение относится к кодеру для формирования кодированного потока изображений. Техническим результатом является собственно создание системы кодирования/декодирования изображений, в которой один буфер может использоваться для хранения в декодере и эталонных изображений и изображений, причем изображения не сохраняются в памяти дважды. Предложена система и способ кодирования/декодирования, в котором изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения. Кодер сконфигурирован с возможностью формирования в потоке битов указания такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений. 14 н. и 19 з.п. ф-лы, 7 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к буферизации изображения для эталонов для предсказания и отображения, способу, состоящему из этапа кодирования для формирования кодированных изображений в кодере, необязательного этапа гипотетического декодирования для декодирования упомянутых кодированных изображений в кодере, этапа передачи для передачи упомянутых кодированных изображений в декодер, этапа декодирования для декодирования кодированных изображений для формирования декодированных изображений и этапа переупорядочения для упорядочения декодированных изображений в порядке отображения.
УРОВЕНЬ ТЕХНИКИ
Опубликованные стандарты кодирования видеосигнала включают в себя ITU-T H.261, ITU-T H.263, ISO/IEC MPEG-1, ISO/IEC MPEG-2 и ISO/IEC MPEG-4, часть 2. Эти стандарты здесь определены как общепринятые стандарты кодирования видеосигнала.
Объединенная группа по видеосигналам (ОГВ, JVT) ITU-T и ISO/IEC продолжают работу по стандартизации. Работа JVT основана на более раннем проекте стандартизации в ITU-T, называемом H.26L. Задача стандартизации JVT состоит в том, чтобы выпустить текст стандарта, идентичный Рекомендации H.264 ITU-T и международному стандарту 14496-10 ISO/IEC (MPEG-4, часть 10). Здесь черновой стандарт определен как стандарт кодирования JVT, и кодек, соответствующий черновому стандарту, определен как JVT-кодек.
Необязательный режим выбора эталонного изображения H.263 и средство кодирования NEWPRED MPEG-4, часть 2, обеспечивают возможность выбора эталонного кадрадля компенсации движения на каждый сегмент изображения, например, на каждый раздел в H.263. Кроме того, необязательный режим Усовершенствованного выбора эталонного изображения H.263 и стандарт кодирования JVT обеспечивают возможность выбора эталонного кадра для каждого макроблока независимо.
Выбор эталонного изображения обеспечивает возможность многих видов схем масштабируемости по времени. На фиг. 1 изображен возможный вариант схемы масштабируемости по времени, которая здесь определена как рекурсивная масштабируемость по времени. Возможная схема может быть декодирована с тремя постоянными частотами смены кадра. На фиг. 2 изображена схема, определенная как избыточное кодирование видеосигнала, где последовательность изображений делится на два или больше количество перемеженных независимо кодированных потоков. Стрелки на упомянутых и всех последующих чертежах указывают направление компенсации движения, и значения под кадрами соответствуют относительным моментам времени захвата и отображения кадров.
В общепринятых стандартах кодирования видеосигнала, порядок декодирования изображений идентичен порядку отображения, за исключением B-изображений. В стандартном B-изображении блок может предсказываться по двум направлениям во времени из двух эталонных изображений, где по порядку отображения одно эталонное изображение является предшествующим по времени, а другое эталонное изображение является последующим по времени. Только последнее эталонное изображение по порядку декодирования может следовать за B-изображением по порядку отображения (исключение составляет кодирование перемежением в H.263, где оба изображения поля последующего по времени эталонного кадра могут предшествовать B-изображению по порядку декодирования). Стандартное B-изображение не может использоваться в качестве эталонного изображения для предсказания по времени, и, следовательно, стандартное B-изображение может быть размещено без воздействия на декодирование любых других изображений.
По сравнению с более ранними стандартами стандарт кодирования JVT включает в себя следующие новые технические признаки:
- Устранена связь порядка декодирования изображений с порядком отображения. Номер изображения указывает порядок декодирования, и счетчик порядка изображения указывает порядок отображения.
- Эталонные изображения для блока в B-изображении могут находиться либо до, либо после B-изображения по порядку отображения. Следовательно, B-изображение обозначает изображение по двум предсказаниям вместо изображения по двум направлениям.
- Изображения, не используемые в качестве эталонных изображений, помечаются явно. Изображение любого типа (внутреннего, внешнего, B и т.д.) может быть либо эталонным изображением, либо не эталонным изображением. (Соответственно, B-изображение может использоваться в качестве эталонного изображения для предсказания по времени других изображений.)
- Изображение может содержать разделы, кодированные различным типом кодирования. Другими словами, кодированное изображение может состоять, например, из внутри-кодированного раздела и B-кодированного раздела.
Устранение связи порядка отображения с порядком декодирования может быть полезно с точки зрения эффективности сжатия и устойчивости к ошибкам.
Возможный вариант структуры предсказания, потенциально улучшающей эффективность сжатия, представлен на фиг. 3. Прямоугольники указывают изображения, заглавные буквы внутри прямоугольников указывают типы кодирования, числа внутри прямоугольников являются номерами изображения, соответствующими стандарту кодирования JVT, и стрелки указывают зависимости предсказания. Следует отметить, что изображение B17 является эталонным изображением для изображений B18. По сравнению с стандартным кодированием эффективность сжатия потенциально улучшена, так как эталонные изображения для изображений B18 по времени более близкие по сравнению со стандартным кодированием с PBBP или PBBBP шаблонами кодированного изображения. Эффективность сжатия потенциально улучшается по сравнению с стандартным шаблоном кодированного изображения PBP, так как часть эталонных изображений являются предсказываемыми по двум направлениям.
На фиг. 4 представлен возможный вариант способа откладываниявнутреннего изображения, который может использоваться для улучшения устойчивости к ошибкам. Обычно внутреннее изображение кодируется непосредственно после отсечениясцены или, например, в ответ на истечение периода регенерациивнутреннего изображения. В способе откладывания внутреннего изображения, внутреннее изображение не кодируется непосредственно после того, как возникает потребность в кодировании внутреннего изображения, а скорее в качестве внутреннего изображения выбирается изображение, последующее по времени. Каждое изображение между кодированным внутренним изображением и обычным местоположением внутреннего изображения предсказывается из следующего последующего по времени изображения. Как изображено на фиг.4, способ откладывания внутреннего изображения формирует две независимые цепочки предсказаний внешних изображений, в то время как стандартные алгоритмы кодирования создают одну цепочку внешних изображений. Интуитивно ясно, что подход двух цепочек является более устойчивым к ошибкам стирания, чем стандартный подход одной цепочки. Если одна цепочка претерпевает потерю пакета, другая цепочка может продолжать приниматься корректно. При стандартном кодировании потеря пакета всегда вызывает распространение ошибки на остальную часть цепочки предсказания внешних изображений.
В стандарте кодирования JVT декодированные изображения должны быть буферизированы по двум причинам: во-первых, декодированные изображения используются в качестве эталонных изображений для предсказания последующих кодированных изображений. Во-вторых, из-за устранения связи между порядком декодирования и порядком отображения декодированные изображения должны быть переупорядочены в порядке отображения.
Следующий возможный вариант используется для пояснения проблемы отдельной буферизации, которую преодолевает настоящее изобретение.
Рассматривается следующая последовательность изображений, где P является предсказываемым изображением, BS является эталонным изображением по двум предсказаниям, BN является не эталонным изображением по двум предсказаниям, и номер относится к порядку отображения:
Порядок отображения | P1 | BN2 | BN3 | BS4 | BN5 | BN6 | P7 ... |
Порядок декодирования | P1 | P7 | BS4 | BN2 | BN3 | BN5 | BN6 |
Она может декодироваться с тремя блоками памяти изображения в буфере эталонных изображений, но когда BN5 декодировано, еще не наступает время для его отображения:
Время декодированного (изображения) | P1 | P7 | BS4 | BN2 | BN3 | BN5 | BN6 | |||
Время отображения | P1 | BN2 | BN3 | BS4 | BN5 | BN6 | P7 ... |
Следовательно, требуется сохранить BN5 для переупорядочения изображений в порядке отображения.
Этой проблемы не существует в общепринятых стандартах кодирования видеосигнала, так как порядок отображения для всех эталонных изображений идентичен порядку их декодирования и так как, если используются B-изображения, должно быть буферизировано только последнее декодированное эталонное изображение для переупорядочения изображений в порядке отображения. Общепринятый стандарт кодирования видеосигнала, поддерживающий выбор эталонных изображений, имеет буфер эталонных изображений, но он не имеет буфера изображений для переупорядочения для отображения.
Для стандарта кодирования JVT было выдвинуто следующее простое предложение: наличие буфера изображений для эталонных изображений, отдельного от буфера изображений для переупорядочения для отображения. Определение максимального количества изображений отдельно для обоих буферов.
Вновь рассматривается возможный вариант, описанный выше. Эталонное изображение поступает в буфер эталонных изображений непосредственно после его декодирования. Не эталонное изображение не поступает в буфер эталонных изображений. Декодированное изображение удаляется из буфера эталонных изображений непосредственно после того, как оно перестает требоваться для эталона. Например, изображение P1 может быть удалено после декодирования изображения BN3. Изображение поступает в буфер переупорядочения для отображения непосредственно после его декодирования. Декодированное изображение удаляется из буфера переупорядочения для отображения, когда оно может быть отображено. Чертеж, приведенный ниже, представляет содержимое буферов непосредственно после декодирования каждого изображения.
Время декодированного изображения | P1 | P7 | BS4 | BN2 | BN3 | BN5 | BN6 | |||
Время отображения | P1 | BN2 | BN3 | BS4 | BN5 | BN6 | P7 | |||
Буфер эталонов | P1 | P1 | P1 | P1 | BS4 | BS4 | P7 | |||
P7 | BS4 | BS4 | P7 | P7 | ||||||
P7 | P7 | |||||||||
Буфер отображения | P1 | P1 | BS4 | BS4 | BS4 | BN5 | BN6 | P7 | ||
P7 | P7 | P7 | P7 | P7 | P7 |
Можно заметить, что требуемые размеры буфера эталонных изображений и буфера переупорядочения для отображения составляют 3 изображения и 2 изображения соответственно.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В настоящем изобретении буфер эталонных изображений и буфер изображений для отображения объединены, причем, чтобы избежать необходимости в хранении одного изображения в двух различных местах, и эталонные изображения и изображения, которые должны быть переупорядочены, хранятся в одном буфере.
Настоящее изобретение обеспечивает гипотетический декодер, сигнал, кодер, декодер, способ, устройство, систему и компьютерную программу для использования в любом виде сетевого устройства и оконечного устройства, причем один буфер может использоваться для хранения в декодере и эталонных изображений и изображений, ожидающих отображения. Кроме того, изображения не сохраняются в памяти дважды.
В одном варианте осуществления настоящего изобретения удобство использования объединенной буферизации дополнительно увеличивается при определении атрибута для количества изображений, ожидающих переупорядочения в буфере. Атрибут num_reorder_frames является количеством последовательных кадров по порядку декодирования, которое требуется для восстановления порядка вывода изображений, в произвольное время. Сумма максимального количества эталонных кадров, хранящихся в объединенном буфере, и максимального количества изображений, которые должны быть переупорядочены для отображения, исключая те изображения, которые уже сохранены как эталонные изображения, устанавливается не более пропускной способности объединенного буфера. Это означает, что не может произойти переполнения буфера, следовательно, это не требует проверки. Вместо этого, необязательный гипотетический эталонный декодер (ГЭД, HRD) может проверять, что никакое изображение не удаляется из буфера до отметки времени его вывода.
Согласно одному аспекту настоящего изобретения предложен гипотетический декодер для гипотетического декодирования кодированного потока изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения; и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и к порядку вывода изображения, отличающегося тем, что содержит объединенный буфер изображений для буферизации эталонных изображений и изображений, которые должны быть переупорядочены, и, кроме того, гипотетический декодер содержит:
блок обработки для выполнения перед вставкой вновь декодированного изображения в буфер
исследования, может ли вновь декодированное изображение быть вставлено в буфер без удаления из буфера другого изображения,
выбора изображения, которое должно быть удалено, из тех изображений в буфере, которые не используются в качестве эталонных изображений и которые уже были выведены из буфера, на основе упомянутого исследования, если вновь декодированное изображение не может быть вставлено в буфер без удаления из буфера другого изображения,
удаления выбранного изображения из буфера, если изображение было выбрано.
Согласно другому аспекту настоящего изобретения предложен сигнал, содержащий кодированный поток изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения. Сигнал, прежде всего, отличается тем, что содержит, по меньшей мере, первое эталонное изображение и второе эталонное изображение, причем первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования, и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и при этом сигнал содержит указание относительно такого количества изображений, упорядоченныхдля буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений.
Согласно третьему аспекту настоящего изобретения предложен кодер для формирования кодированного потока изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения. Кодер прежде всего отличается тем, что сконфигурирован с возможностью включения в поток изображений, по меньшей мере, первого эталонного изображения и второго эталонного изображения, причем первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования, и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и при этом кодер сконфигурирован с возможностью формирования в потоке изображений указания относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений.
Согласно четвертому аспекту настоящего изобретения предложен кодер, содержащий гипотетический декодер для гипотетического декодирования кодированного потока изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения. Кодер, прежде всего, отличается тем, что содержит объединенный буфер изображений для буферизации эталонных изображений и изображений, которые должны быть переупорядочены, а гипотетический декодер содержит:
блок обработки для выполнения перед вставкой вновь декодированного изображения в буфер,
исследования, может ли вновь декодированное изображение быть вставлено в буфер без удаления из буфера другого изображения,
выбора изображения, которое должно быть удалено, из тех изображений в буфере, которые не используются в качестве эталонных изображений, и которые уже были выведены из буфера, на основе упомянутого исследования, если вновь декодированное изображение не может быть вставлено в буфер без удаления из буфера другого изображения,
удаления из буфера выбранного изображения, если изображение было выбрано.
Согласно пятому аспекту настоящего изобретения предложен способ формирования кодированного потока изображений, заключающийся в том, что определяют изображения как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяют информацию, относящуюся к порядку декодирования и порядку вывода изображения. Способ, прежде всего, отличается тем, что:
включают сигнал, по меньшей мере, с первым эталонным изображением и со вторым эталонным изображением, такой, что первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования, и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и
определяют в потоке изображений указание относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений.
Согласно шестому аспекту настоящего изобретения предложен способ буферизации декодированных изображений, заключающийся в том, что изображения определяют как эталонные изображения или как не эталонные изображения, определяют размер буфера и определяют количество эталонных изображений в буфере. Способ, прежде всего, отличается тем, что используют объединенный буфер изображений для буферизации и эталонов для предсказания и декодированных изображений для упорядочения их в порядке вывода.
Согласно седьмому аспекту настоящего изобретения предложен декодер, содержащий средство для буферизации декодированных изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, определяется размер буфера и определяется количество эталонных изображений в буфере. Декодер прежде всего отличается тем, что содержит вход для ввода сигнала, содержащего по меньшей мере первое эталонное изображение и второе эталонное изображение, причем первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования, и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и сигнал дополнительно содержит, по меньшей мере, указание относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений, и при этом средство для буферизации содержит объединенный буфер изображений для буферизации и эталонов для предсказания и декодированных изображений для упорядочения их в порядке вывода, причем декодер содержит средство определения для определения размера объединенного буфера изображений на основе упомянутого указания.
Согласно восьмому аспекту настоящего изобретения предложена программа программного обеспечения, содержащая этапы, выполнимые вычислительным устройством, для формирования кодированного потока изображений, на которых изображения определяют как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяют информацию, относящуюся к порядку декодирования и порядку вывода изображения. Программа программного обеспечения, прежде всего, отличается тем, что содержит этапы, выполнимые вычислительным устройством, на которых включают сигнал, по меньшей мере, с первым эталонным изображением и со вторым эталонным изображением, такой что первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования, и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и формируют в потоке изображений указание относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений.
Согласно девятому аспекту настоящего изобретения предложена программа программного обеспечения, содержащая этапы, выполнимые вычислительным устройством, для гипотетического декодирования кодированного потока изображений, на которых изображения определяют как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяют информацию, относящуюся к порядку декодирования и порядку вывода изображения. Программа программного обеспечения, прежде всего, отличается тем, что содержит этапы, выполнимые вычислительным устройством, для буферизации эталонных изображений и изображений, которые должны быть переупорядочены, в объединенном буфере изображений, и при этом программа программного обеспечения дополнительно содержит:
этапы, выполнимые вычислительным устройством, для выполнения перед вставкой вновь декодированного изображения в буфер, на которых исследуют, может ли вновь декодированное изображение быть вставлено в буфер без удаления из буфера другого изображения,
выбирают изображение, которое должно быть удалено, из тех изображений в буфере, которые не используются в качестве эталонных изображений, и которые уже были выведены из буфера, на основе упомянутого исследования, если вновь декодированное изображение не может быть вставлено в буфер без удаления из буфера другого изображения,
удаляют выбранное изображение из буфера, если изображение было выбрано.
Согласно десятому аспекту настоящего изобретения предложен носитель информации для хранения программы программного обеспечения, содержащей этапы, выполнимые вычислительным устройством, для формирования кодированного потока изображений, на которых изображения определяют как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяют информацию, относящуюся к порядку декодирования и порядку вывода изображения. Носитель информации, прежде всего, отличается тем, что программа программного обеспечения содержит этапы, выполнимые вычислительным устройством, на которых включают сигнал, по меньшей мере, с первым эталонным изображением и со вторым эталонным изображением; такой, что первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода и формируют в потоке битов указание относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений.
Согласно одиннадцатому аспекту настоящего изобретения, предложено электронное устройство, содержащее декодер, содержащий средство для буферизации декодированных изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, определяется размер буфера и определяется количество эталонных изображений в буфере. Электронное устройство, прежде всего, отличается тем, что содержит вход для ввода сигнала, содержащего, по меньшей мере, первое эталонное изображение и второе эталонное изображение, причем первое эталонное изображение предшествует второму эталонному изображению по порядку декодирования и второе эталонное изображение предшествует первому эталонному изображению по порядку вывода, и сигнал дополнительно содержит, по меньшей мере, указание относительно такого количества изображений, упорядоченных для буферизации в порядке декодирования, которое является достаточным для восстановления порядка вывода изображений, и при этом средство для буферизации содержит объединенный буфер изображений для буферизации и эталонов для предсказания и декодированных изображений для упорядочения их в порядке вывода, причем декодер содержит средство определения для определения размера объединенного буфера изображений на основе упомянутого указания.
Согласно двенадцатому аспекту настоящего изобретения, предложена система, содержащая кодер для формирования сигнала, содержащего кодированный поток изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения, канал передачи для передачи сигнала в декодер, декодер, содержащий средство для буферизации декодированных изображений. Система прежде всего отличается тем, что содержит кодер для формирования сигнала, содержащего кодированный поток изображений, причем изображения определяются как эталонные изображения или как не эталонные изображения, и для изображений потока изображений определяется информация, относящаяся к порядку декодирования и порядку вывода изображения, канал передачи для передачи сигнала в декодер, декодер, содержащий средство для буферизации декодированных изображений.
Изобретение решает проблему буферизации декодированных изображений в стандарте кодирования JVT, которая не существовала в общепринятых стандартах кодирования видеосигнала. Изобретение экономит память по сравнению с другим решением, предложенным для стандарта кодирования JVT. В малых устройствах, таких как мобильные терминалы, преимущество, состоящее в том, что может быть минимизирована память, требуемая для буферизации изображений, является существенным.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 изображает возможный вариант схемы рекурсивной масштабируемости по времени.
Фиг. 2 изображает схему, определенную, как избыточное кодирование видеосигнала, где последовательность изображений делится на два или большее количество перемеженных независимо кодированных потоков.
Фиг. 3 представляет возможный вариант структуры предсказания, потенциально улучшающей эффективность сжатия.
Фиг. 4 представляет возможный вариант способа откладывания внутреннего изображения, который может использоваться для улучшения устойчивости к ошибкам.
Фиг. 5 изображает предпочтительный вариант осуществления системы согласно настоящему изобретению.
Фиг. 6 изображает предпочтительный вариант осуществления кодера согласно настоящему изобретению.
Фиг. 7 изображает предпочтительный вариант осуществления декодера согласно настоящему изобретению.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В решении объединенного буфера все декодированные изображения остаются в объединенном буфере до тех пор, когда они больше не будут использоваться в качестве эталонных изображений и когда приходит их порядок отображения. Объединенный буфер экономит память по сравнению с отдельными буферами изображений для эталонных изображений и для переупорядочения в порядке отображения.
Вновь повторно рассматривается предыдущий возможный вариант при использовании объединенного буфера.
Время декодированного (изображения | P1 | P7 | BS4 | BN2 | BN3 | BN5 | BN6 | |||
Время отображения | P1 | BN2 | BN3 | BS4 | BN5 | BN6 | P7 | |||
Объединенный буфер | P1 | P1 | P1 | P1 | BS4 | BS4 | BN6 | P7 | ||
P7 | BS4 | BS4 | P7 | BN5 | P7 | |||||
P7 | P7 | P7 |
Однако имеются некоторые вопросы, которые должны быть приняты во внимание в решении объединенного буфера. Размер буфера должен быть установлен достаточно большим для хранения всех изображений, которые продолжают требоваться, то есть всех эталонных изображений и изображений, которые должны быть переупорядочены. Емкость памяти часто является ограниченной, следовательно, размер буфера в некотором виде является соглашением. Кодер должен проверить, что декодер может хранить достаточное количество изображений для декодирования и вывода всех изображений без ошибок. Эта проверка может выполняться необязательным гипотетическим эталонным декодером (HRD) в устройстве кодирования. HRD содержит буфер кодированных изображений для хранения кодированного потока данных и буфер декодированных изображений для хранения декодированных эталонных изображений и для переупорядочения декодированных изображений в порядке отображения. HRD перемещает данные между буферами аналогично тому, как это делает декодер устройства декодирования. Однако HRD не требуется ни полностью декодировать кодированные изображения, ни выводить декодированные изображения, HRD только проверяет, что декодирование потока изображений может быть выполнено при ограничениях, заданных в стандарте кодирования. При функционировании HRD принимает кодированный поток данных и сохраняет его в буфере кодированных изображений. Дополнительно, HRD удаляет кодированные изображения из буфера кодированных изображений и сохраняет, по меньшей мере, некоторые из соответствующих гипотетически декодированных изображений в буфере декодированных изображений. HRD имеет информацию о скорости ввода, в соответствии с которой кодированные данные поступают в буфер кодированных изображений, о скорости удаления изображений из буфера кодированных изображений и о скорости вывода изображений из буфера декодированных изображений. HRD осуществляет проверку на переполнение буфера кодированных или декодированных изображений, и она указывает, является ли невозможным декодирование при данных установочных параметрах. Затем HRD информирует кодер относительно нарушения буферизации, при этом кодер может изменить параметры кодирования, например, уменьшая количество эталонных кадров во избежание нарушения буферизации. В виде варианта или дополнительно кодер начинает кодировать изображения с новыми параметрами и передает кодированные изображения в HRD, который вновь выполняет декодирование изображений и необходимые проверки. В виде еще одного варианта кодер может отбрасывать последний кодированный кадр и потом кодировать кадры так, чтобы не происходило нарушение буферизации.
Операция на основе раздела
Минимальной рекомендованной единицей для инкапсуляции в пакет передачи является раздел или сегмент данных. Минимальной относительно независимо декодируемой единицей является раздел. Следовательно, в модели объединенной буферизации предполагается, что целый раздел или целый сегмент данных передается одновременно. В модели также предполагается, что используются протоколы передачи и сети, основанные на пакетах, и, следовательно, целый раздел или целый сегмент данных принимается одновременно.
Предполагается, что один раздел декодируется одновременно. Соответственно, данные удаляются из гипотетического входного буфера раздел за разделом. Предложенная модель сложности используется для определения времени, необходимого для виртуального декодирования раздела. По истечении этого времени может быть виртуально декодирован следующий раздел.
Краткий обзор модели буферизации настоящего изобретения
Эталонный декодер основан на модели буфера, представленной в этом разделе описания. Модель основана на трех буферах: буфер пре-декодера, буфер декодирования и буфер пост-декодера. Буфер пре-декодера буферизует сжатые данные. Операция буфера декодирования представляет операцию реального декодера и устанавливает ограничения на сложность обработки. Буфер пост-декодера содержит восстановленные изображения, которые используются для эталонного изображения, для компенсации движения и/или ожидают соответствующего момента времени для их виртуального отображения.
Заданные по умолчанию размеры буфера задаются в определениях уровня и профиля. Размеры буфера также могут согласовываться. Размер буфера декодирования задает максимальный размер раздела. Размер буфера пост-декодера может быть задан, например, в байтах или в единицах 16x16 пикселей.
Управление операцией буфера пре- и пост-декодера может осуществляться двумя параметрами. Начальный период буферизации пре-декодера и начальный период буферизации пост-декодера определяют, как долго заполняются буферы до того, как из них удаляются какие-либо данные. Для каждого потока битов периоды сигнализируются отдельно.
С единицей данных (изображением, разделом или сегментом данных) может быть связано три временных метки. Каждый раздел и сегмент данных связан с временем передачи. В случае доступа к файлу, время передачи указано в файле. Иначе, используется действительное время передачи. Каждый раздел может быть связан с временем декодирования. Время декодирования может использоваться для задержки декодирования раздела, чтобы избежать переполнений буфера пост-декодера. Каждое изображение связано с временем отображения.
Параметры, связанные с временем, задаются в общем масштабе времени. Например, тактами системных часов синхронизатора в 90 кГц или 27 МГц.
Модель может применяться к любой непрерывной и независимо разрешаемой части кодированного потока битов. В случае нарушений непрерывности, таких как доступ к потоку битов из произвольной позиции, модель устанавливается в исходное состояние.
Функционирование модели буферизации
Модель определена следующим образом:
1. Первоначально буферы являются пустыми.
2. В буфер пре-декодера добавляется раздел или сегмент данных, за исключением его действительного заголовка, в момент времени его передачи. Для каждого раздела резервируется некоторое количество, например восемь, байтов дополнительной памяти для хранения его заголовка. (Действительные заголовки раздела могут быть тесно связаны с некоторыми определенными данными заголовка полезной нагрузки, такими как указатель набора параметров в черновом формате полезной нагрузки RTP (VCEG-N72R1). Непрактично удалять этот вид данных из блока заголовка раздела исключительно для задач HRD. Соответственно предполагается постоянный размер заголовка раздела.)
3. В продолжение периода, называемого первоначальным периодом буферизации пре-декодера, никакие данные из буфера пре-декодера не удаляются. Период начинается, когда в буфер добавляется первый раздел или сегмент данных.
4. Когда истекает первоначальный период буферизации пре-декодера и, если используется временная метка декодирования, то с момента времени декодирования самого раннего изображения в буфере изображений запускается таймер декодирования. Иначе, таймер декодирования не требуется.
5. Изображения удаляются из буфера пре-декодера раздел за разделом в порядке возрастания идентификаторов изображения (с использованием арифметических операций по модулю). Разделы определенного изображения удаляются в порядке их передачи. Раздел, включая его сегменты данных, перемещается из буфера пре-декодера в буфер декодирования в то время, когда буфер декодирования становится пустым. Однако раздел не удаляется из буф