ОБРАБОТКА МЕЖУРОВНЕВОГО ЭТАЛОННОГО ИЗОБРАЖЕНИЯ ДЛЯ МАСШТАБИРУЕМОСТИ СТАНДАРТОВ КОДИРОВАНИЯ
PROCESSING INTER-LAYER REFERENCE IMAGE FOR SCALABILITY CODING STANDARDS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Данной заявкой заявляется приоритет предварительной заявки на патент США №61/706480, поданной 27 сентября 2012 г., которая ссылкой полностью включается в настоящее раскрытие.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее изобретение в общем относится к изображениям. Конкретнее, один из вариантов осуществления настоящего изобретения относится к обработке межуровневого эталонного изображения для масштабируемости стандартов кодирования.
ПРЕДПОСЫЛКИ
[0003] Сжатие звука и видеоизображений является ключевым компонентом при разработке, хранении, распространении и потреблении мультимедийного содержания. Выбор способа сжатия заключает в себе компромиссы между эффективностью кодирования, сложностью кодирования и задержкой. По мере того как отношение вычислительной мощности к вычислительным затратам увеличивается, становится возможной разработка более сложных методик сжатия, делающих возможным более эффективное сжатие. Например, для сжатия видеоизображений Экспертная группа по движущемуся изображению (MPEG) из Международной организации по стандартизации (ISO) продолжила совершенствование первоначального видеостандарта MPEG-1, выпустив стандарты кодирования MPEG-2, MPEG-4 (part 2) и H.264/AVC (или MPEG-4, part 10).
[0004] Несмотря на эффективность сжатия и успешность H.264, в настоящее время в процессе разработки находится технология сжатия видеоизображений нового поколения, известная как Высокоэффективное кодирование видеоизображений (HEVC). Как ожидается, HEVC, проект которого доступен в документе JCTVC-J1003, «High efficiency video coding (HEVC) text specification draft 8», Объединенная совместная группа (JCT-VC) по кодированию видеоизображений ITU-T/ISO/IEC, июль 2012 г., авторов B. Bross, W.-J. Han, G. J. Sullivan, J.-R. Ohm и T. Wiegand, который ссылкой полностью включается в настоящее раскрытие, будет обеспечивать улучшенную способность к сжатию по сравнению с существующим стандартом H.264 (также известен как AVC), опубликованным как «Advanced Video Coding for generic audio-visual services», ITU T Rec. H.264 и ISO/IEC 14496-10, который ссылкой включается в настоящее раскрытие. Как стало понятно авторам изобретения, ожидается, что в течение следующих нескольких лет H.264 по-прежнему будет преобладающим стандартом кодирования видеоизображений, используемым во всем мире для распространения цифровых видеоизображений. Кроме того, также стало понятно, что более новые стандарты, такие как HEVC, должны предусматривать обратную совместимость с существующими стандартами.
[0005] В рамках настоящего раскрытия, термин «стандарт кодирования» обозначает алгоритмы сжатия (кодирования) и разуплотнения (декодирования), которые могут быть как основанными на стандартах, так и имеющими открытый исходный код или являться закрытыми, как, например, стандарты MPEG, Windows Media Video (WMV), flash video, VP8 и т.п.
[0006] Подходы, описываемые в данном разделе, представляют собой подходы, которые могут осуществляться, но необязательно являются подходами, которые были разработаны или осуществлены ранее. Поэтому, если не указано иное, не следует полагать, что какие-либо подходы, описываемые в данном разделе, квалифицируются как известный уровень техники лишь в силу их включения в этот раздел. Аналогично, если не указано иное, проблемы, установленные в отношении одного или нескольких подходов, не следует полагать общепризнанными из любого уровня техники на основании этого раздела.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0007] Один из вариантов осуществления настоящего изобретения проиллюстрирован в качестве примера, а не для ограничения на фигурах сопроводительных графических материалов, в которых подобные ссылочные позиции относятся к сходным элементам и в которых:
[0008] фиг. 1 изображает один из примеров реализации системы кодирования, поддерживающей масштабируемость стандартов кодирования, в соответствии с одним из вариантов осуществления настоящего изобретения;
[0009] фиг. 2A и фиг. 2B изображают примеры реализаций системы кодирования, поддерживающей масштабируемость кодеков AVC/H.264 и HEVC, в соответствии с одним из вариантов осуществления настоящего изобретения;
[0010] фиг. 3 изображает один из примеров многоуровневого кодирования с окном обрезки в соответствии с одним из вариантов осуществления настоящего изобретения;
[0011] фиг. 4 изображает один из примеров межуровневой обработки для чересстрочных изображений в соответствии с одним из вариантов осуществления настоящего изобретения;
[0012] фиг. 5А и фиг. 5В изображают примеры межуровневой обработки, поддерживающей масштабируемость стандартов кодирования, в соответствии с одним из вариантов осуществления настоящего изобретения;
[0013] фиг. 6 изображает один из примеров обработки данных RPU для масштабируемости модели кодирования сигнала в соответствии с одним из вариантов осуществления настоящего изобретения;
[0014] фиг. 7 изображает один из примеров процесса кодирования в соответствии с одним из вариантов осуществления настоящего изобретения;
[0015] фиг. 8 изображает один из примеров процесса декодирования в соответствии с одним из вариантов осуществления настоящего изобретения; и
[0016] фиг. 9 изображает один из примеров процесса декодирования RPU в соответствии с одним из вариантов осуществления настоящего изобретения.
ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0017] В настоящем раскрытии описывается обработка межуровневого эталонного изображения для масштабируемости стандартов кодирования. Для заданного сигнала базового уровня, кодируемого кодером базового уровня (BL), совместимым с первым стандартом кодирования (например, Н.264), процесс блока обработки эталона (RPU) генерирует эталонные изображения и параметры RPU в соответствии с характеристиками входных сигналов на базовом уровне и на одном или нескольких уровнях расширения. Эти межуровневые эталонные кадры могут быть использованы кодером уровня расширения (EL), совместимым со вторым стандартом кодирования (например, HEVC), для сжатия (кодирования) одного или нескольких сигналов уровня расширения и их объединения с базовым уровнем для формирования масштабируемого битового потока. В приемнике после декодирования потока BL декодером BL, совместимым с первым стандартом кодирования, декодер RPU может применять полученные параметры RPU для генерирования межуровневых эталонных кадров исходя из декодированного потока BL. Эти эталонные кадры могут быть использованы декодером EL, совместимым со вторым стандартом кодирования, для декодирования кодированного потока EL.
[0018] В нижеследующем описании в целях разъяснения и для обеспечения полного понимания настоящего изобретения изложены многочисленные конкретные подробности. Однако будет очевидно, что настоящее изобретение можно применять на практике без этих конкретных подробностей. В других случаях хорошо известные конструкции и устройства не описываются в исчерпывающих подробностях во избежание излишнего затруднения понимания настоящего изобретения.
Обзор
[0019] Иллюстративные варианты осуществления изобретения, описываемые в настоящем раскрытии, относятся к обработке межуровневого эталонного изображения для масштабируемости стандартов кодирования. В одном из вариантов осуществления изобретения видеоданные кодируют в битовый поток с несколькими уровнями стандартов кодирования. Для заданных сигналов базового уровня (BL) и уровня расширения (EL) сигнал BL кодируют в поток BL, используя кодер BL, совместимый с первым стандартом кодирования. В ответ на сигнал BL и сигнал EL блок обработки эталона (RPU) определяет параметры обработки данных RPU. В ответ на параметры обработки данных RPU и сигнал BL RPU генерирует межуровневый эталонный сигнал. Используя кодер EL, совместимый со вторым стандартом кодирования, сигнал EL кодируют в кодированный поток EL, при этом кодирование сигнала EL по меньшей мере частично основано на межуровневом эталонном сигнале.
[0020] В другом варианте осуществления изобретения приемник разуплотняет принятый масштабируемый битовый поток для генерирования кодированного потока BL, кодированного потока EL и потока данных RPU. Декодер BL, совместимый с первым стандартом кодирования, декодирует кодированный поток BL для генерирования декодированного сигнала BL. Приемник с RPU также может декодировать поток данных RPU для определения параметров процесса RPU. В ответ на параметры обработки данных RPU и сигнал BL RPU может генерировать межуровневый эталонный сигнал. Декодер EL, совместимый со вторым стандартом кодирования, может декодировать кодированный поток EL для генерирования декодированного сигнала EL, при этом декодирование кодированного потока EL по меньшей мере частично основано на межуровневом эталонном сигнале.
Масштабируемость стандартов кодирования на многоуровневой основе
[0021] Для доставки цифрового содержания посредством разнообразных носителей, таких как диски DVD или диски Blu-ray, или для вещания по воздуху, по кабелям или широкополосным каналам во всем мире используют такие стандарты сжатия, как MPEG-2, MPEG-4 (part 2), H.264, flash и т.п. По мере разработки новых стандартов, таких как HEVC, принятие новых стандартов можно было бы ускорить, если бы они поддерживали некоторую обратную совместимость с существующими стандартами.
[0022] Фиг. 1 изображает один из вариантов осуществления одной из иллюстративных реализаций системы, поддерживающей масштабируемость стандартов кодирования. Кодер содержит кодер (110) базового уровня (BL) и кодер (120) уровня расширения (EL). В одном из вариантов осуществления изобретения, кодер 110 BL представляет собой унаследованный кодер, такой как кодер MPEG-2 или H.264, а кодер 120 EL представляет собой кодер нового стандарта, такой как кодер HEVC. Однако эта система применима к любому сочетанию как известных, так и будущих кодеров, являются они основанными на стандартах или закрытыми. Систему также можно расширить для поддержки более чем двух стандартов или алгоритмов кодирования.
[0023] Согласно фиг. 1 входной сигнал может содержать два или более сигналов, например сигнал 102 базового уровня (BL) и один или несколько сигналов уровней расширения (EL), например EL 104. Сигнал 102 BL сжимается (или кодируется) кодером 110 BL для генерирования кодированного потока 112 BL. Сигнал 104 EL сжимается кодером 120 EL для генерирования кодированного потока 122 EL. Эти два потока уплотняют (например, при помощи MUX 125) для генерирования кодированного масштабируемого битового потока 127. В приемнике демультиплексор (DEMUX 130) может разделять эти два кодированных битовых потока. Унаследованный декодер (например, декодер 140 BL) может декодировать только базовый уровень 132 для генерирования выходного сигнала 142 BL. Однако декодер, поддерживающий новый способ кодирования (кодер 120 EL), также может декодировать дополнительную информацию, доставляемую кодированным потоком 134 EL, для генерирования выходного сигнала 144 EL. Декодер 140 BL (например, декодер MPEG-2 или H.264) соответствует кодеру 110 BL. Декодер 150 EL (например, декодер HEVC) соответствует кодеру 120 EL.
[0024] Такая масштабируемая система может повышать эффективность кодирования по сравнению с системой одновременной передачи путем надлежащего выявления межуровневого предсказания, то есть путем кодирования сигнала уровня расширения (например, 104) с учетом информации, доступной с более низких уровней (например, 102). Так как кодер BL и кодер EL соответствуют разным стандартам кодирования, в одном из вариантов осуществления изобретения, масштабируемости стандартов кодирования можно добиться посредством отдельного блока обработки данных, блока 115 обработки эталона кодирования (RPU).
[0025] RPU 115 можно считать расширением конструкции RPU, описанной в заявке PCT PCT/US2010/040545, «Encoding and decoding architecture for format compatible 3D video delivery», авторов A. Tourapis и др., поданной 30 июня 2010 г. и опубликованной как WO 2011/005624, которая ссылкой включается в настоящее раскрытие во всех отношениях. Если не указано иное в обратном смысле, нижеследующие описания RPU применимы как к RPU кодера, так и к RPU декодера. После прочтения данного раскрытия специалисты в областях техники, относящихся к кодированию видеоизображений, поймут разницу и будут способны провести различия между специфичными для кодера, специфичными для декодера и общими описаниями, функциями и процессами RPU. В пределах контекста системы кодирования видеоизображений, изображенной на фиг. 1, RPU (115) генерирует межуровневые эталонные кадры на основе декодированных изображений из кодера 110 BL в соответствии с набором правил выбора различных фильтров и процессов RPU.
[0026] RPU 115 позволяет обработке данных быть адаптивной на уровне области, где каждую область изображения/последовательности обрабатывают в соответствии с характеристиками этой области. RPU 115 может использовать горизонтальные, вертикальные или двумерные (2D) фильтры, зависящие от области фильтры, адаптивные к краям или на частотной основе, и/или фильтры повторения пикселей, или другие способы или средства для чересстрочной развертки, преобразования чересстрочной развертки в прогрессивную, фильтрации, повышающей дискретизации и другой обработки данных изображения.
[0027] Кодер может выбирать процессы RPU и выводить сигналы обработки данных для областей, которые доставляются как входные данные в декодер RPU (например, 135). Сигнализация (например, 117) может задавать способ обработки данных на основе области. Например, параметры, относящиеся к атрибутам области, таким как номер, размер, форма и другие характеристики, можно задать в заголовке данных, относящемся к данным RPU. Некоторые фильтры могут содержать фиксированные коэффициенты фильтра, и в этом случае нет необходимости в сигнализации в явном виде заданных коэффициентов фильтра при помощи RPU. Другие режимы обработки данных могут включать явные режимы, в которых параметры обработки данных, такие как значения коэффициентов, сигнализируют в явном виде. Процессы RPU также могут быть заданы для каждой цветовой составляющей.
[0028] Сигнализация 117 данных RPU может либо внедряться в кодированный битовый поток (например, 127), либо передаваться в декодер отдельно. Данные RPU можно сигнализировать наряду с уровнем, на котором выполнялась обработка данных RPU. В дополнение или в качестве альтернативы, данные RPU всех уровней можно сигнализировать в одном пакете данных RPU, внедренном в битовый поток либо перед, либо после внедрения кодированных данных EL. Предоставление данных RPU может быть необязательным для данного слоя. В случае если данные RPU недоступны, для повышающего преобразования этого слоя, таким образом, можно использовать схему, заданную по умолчанию. Не являясь отличным, предоставление кодированного битового потока уровня расширения также необязательно.
[0029] Один из вариантов осуществления изобретения допускает несколько возможных способов выбора этапов обработки данных в RPU. При определении обработки данных RPU можно по отдельности или в сочетании использовать множество критериев. Критерии выбора RPU могут включать качество декодированного битового потока базового уровня, качество декодированных битовых потоков уровней расширения, битовую скорость передачи данных, необходимую для кодирования каждого уровня, содержащего данные RPU, и/или сложность декодирования и обработки данных RPU.
[0030] RPU 115 может служить в качестве ступени предварительной обработки, обрабатывающей информацию из кодера 110 BL перед использованием этой информации в качестве потенциального предсказателя для уровня расширения в кодере 120 EL. Информацию, относящуюся к обработке данных RPU, можно сообщить (например, как метаданные) в декодер так, как это показано на фиг. 1, используя поток 136 уровня RPU. Обработка данных RPU может включать множество операций обработки изображения, таких как преобразования цветового пространства, нелинейное квантование, повышающая дискретизация яркости и цветности, а также фильтрация. В одной из типичных реализаций сигналы EL 122, BL 112 и данных 117 RPU уплотняют в единый кодированный битовый поток (127).
[0031] Декодер RPU 135 соответствует кодеру RPU 115 и под управлением ввода 136 данных RPU может содействовать декодированию уровня 134 EL, выполняя операции, соответствующие операциям, выполненным кодером RPU 115.
[0032] Вариант осуществления изобретения, изображенный на фиг. 1, можно легко распространить на поддержку более чем двух уровней. Более того, его можно распространить на поддержку дополнительных характерных признаков масштабируемости, в том числе на временную масштабируемость, пространственную масштабируемость, масштабируемость SNR, масштабируемость цветности, масштабируемость битовой глубины и многоракурсную масштабируемость.
Масштабируемость стандартов кодирования H.264 и HEVC
[0033] В одном из иллюстративных вариантов осуществления изобретения фиг. 2А и фиг. 2В изображают один из иллюстративных вариантов осуществления масштабируемости стандартов кодирования на многоуровневой основе так, как его можно применять к стандартам HEVC и H.264. Без потери общности фиг. 2А и фиг. 2В изображают только два уровня, однако эти способы можно легко распространить на системы, поддерживающие несколько уровней расширения.
[0034] Как изображено на фиг. 2А, как кодер 110 Н.264, так и кодер 120 HEVC содержат внутреннее предсказание, межуровневое предсказание, прямое преобразование и квантование (FT), обратные преобразования и квантование (IFT), энтропийное кодирование (EC), фильтры удаления блочности (DF) и буферы декодированных изображений (DPB). Кроме того, кодер HEVC также содержит блок адаптивного смещения отсчетов (SAO). В одном из вариантов осуществления изобретения, как будет разъяснено позднее, RPU 115 может получать доступ к данным BL либо перед фильтром удаления блочности (DF), либо из DPB. Аналогично в мультистандартном декодере (см. фиг. 2В) декодер RPU 135 также может получать доступ к данным BL либо перед фильтром (DF) удаления блочности, либо из DPB.
[0035] В масштабируемом кодировании видеоизображений термин «многоконтурное решение» обозначает многоуровневый декодер, где изображения на уровне расширения декодируются на основе эталонных изображений, извлекаемых как из того же уровня, так и из других подуровней. Изображения базового уровня/уровней расширения воспроизводят и сохраняют в буфере декодированных изображений (DPB). Эти изображения базового уровня, называемые межуровневыми эталонными изображениями, могут служить в качестве дополнительных эталонных изображений при декодировании уровня расширения. Тогда уровень расширения имеет возможности использования либо временных эталонных изображений, либо межуровневых эталонных изображений. В общем, межуровневое предсказание помогает повысить эффективность кодирования EL в масштабируемой системе. Так как AVC и HEVC представляют собой два разных стандарта кодирования, использующие разные процессы кодирования, для обеспечения того, чтобы изображения, кодированные AVC, считались допустимыми эталонными изображениями для HEVC, может потребоваться дополнительная межуровневая обработка данных. В одном из вариантов осуществления изобретения эту обработку данных может выполнять RPU 115, как будет разъяснено впоследствии для различных случаев, представляющих интерес. Для кодирования стандартной масштабируемости использование RPU 115 направлено на устранение различий или конфликтов, возникающих в результате использования двух разных стандартов как на высоком синтаксическом уровне, так и на уровне инструментальных средств кодирования.
Счетчик последовательности изображения (POC)
[0036] HEVC и AVC имеют несколько различий в высокоуровневом синтаксисе. Кроме того, один и тот же синтаксис может иметь разное значение в каждом из стандартов. RPU может действовать в качестве «переводчика» высокоуровневого синтаксиса между базовым уровнем и уровнем расширения. Одним таким примером является синтаксис, относящийся к счетчику последовательности изображения (POC). При межуровневом предсказании важно синхронизировать межуровневые эталонные изображения с базового уровня с изображениями, кодированными на уровне расширения. Такая синхронизация является еще более важной, когда базовый уровень и уровни расширения используют разные структуры кодирования изображений. Как для AVC, так и для HEVC термин «счетчик последовательности изображения (POC)» используется для указания порядка демонстрации кодированных изображений. Однако в AVC существует три способа сигнализации информации POC (указываются переменной pic_order_cnt_type), в то время как в HEVC допускается только один способ, являющийся таким же, как pic_order_cnt_type=0 в случае AVC. В одном из вариантов осуществления изобретения, если pic_order_cnt_type не равна 0 в битовом потоке AVC , то RPU (135) потребуется перевести ее в значение POC, согласующееся с синтаксисом HEVC. В одном из вариантов осуществления изобретения кодер RPU (115) может сигнализировать дополнительные данные, относящиеся к РОС, используя новую переменную pic_order_cnt_lsb, как показано в Таблице 1. В другом варианте осуществления изобретения кодер RPU может просто вынуждать кодер AVC базового уровня использовать только pic_order_cnt_type=0.
Таблица 1: Синтаксис POC
POC( ) {
Дескриптор
pic_order_cnt_lsb
u(1)
}
[0037] В Таблице 1 pic_order_cnt_lsb задает модуль счетчика последовательности изображения MaxPicOrderCntLsb для текущего межуровневого эталонного изображения. Длина синтаксического элемента pic_order_cnt_lsb составляет log2_max_pic_order_cnt_lsb_minus4+4 битов. Значение pic_order_cnt_lsb должно находиться в интервале от 0 до MaxPicOrderCntLsb−1 включительно. Если pic_order_cnt_lsb отсутствует, pic_order_cnt_lsb полагают равным 0.
Окно обрезки
[0038] В кодировании AVC разрешающая способность изображения должна быть кратна 16. В HEVC разрешающая способность должна быть кратна 8. При обработке межуровневого эталонного изображения в RPU для избавления от пикселей, заполненных в AVC, можно использовать окно обрезки. Если базовый уровень и уровень расширения имеют разную пространственную разрешающую способность (например, базовый уровень - 1920×1080, а уровень расширения - 4K) или если форматные соотношения (PAR) различны (т.е. PAR 16:9 - для уровня расширения, а PAR 4:3 - для базового уровня), изображение необходимо обрезать и можно соответствующим образом изменить его размер. Один из примеров синтаксиса RPU, относящегося к окну обрезки, показан в Таблице 2.
Таблица 2: Синтаксис обрезки изображения
pic_cropping( ) {
Дескриптор
pic_cropping_flag
u(1)
if ( pic_cropping_flag ) {
pic_crop_left_offset
ue(v)
pic_crop_right_offset
ue(v)
pic_crop_top_offset
ue(v)
pic_crop_bottom_offset
ue(v)
}
}
[0039] В Таблице 2 pic_cropping_flag, равный 1, указывает, что далее следуют параметры смещения обрезки изображения. Если pic_cropping_flag=0, то параметры смещения обрезки изображения отсутствуют, и обрезка не требуется.
[0040] pic_crop_left_offset, pic_crop_right_offset, pic_crop_top_offset и pic_crop_bottom_offset задают количество отсчетов в изображениях кодированной видеопоследовательности, являющихся входными в процесс декодирования RPU, в выражении прямоугольной области, заданной на изображении в координатах изображения, для ввода RPU.
[0041] Следует отметить, что поскольку процесс RPU выполняется для каждого межуровневого эталона, то параметры окна обрезки могут изменяться на покадровой основе. Таким образом, с использованием подхода панорамирование-(изменение масштаба)-развертка поддерживается адаптивная перенастройка видеоизображения на основе представляющей интерес области.
[0042] Фиг. 3 изображает один из примеров многоуровневого кодирования, где базовый уровень HD (например, 1920×1080) кодируют, используя H.264, и создают изображение, пригодное для декодирования всеми унаследованными декодерами HD. Уровень расширения с более низкой разрешающей способностью (например, 640×480) можно использовать для обеспечения необязательного характерного признака «изменение масштаба». Уровень EL имеет меньшую разрешающую способность, чем BL, но его можно кодировать в HEVC для уменьшения общей битовой скорости передачи данных. Межуровневое кодирование, описываемое в настоящем раскрытии, может дополнительно повышать эффективность кодирования этого уровня EL.
Фильтр удаления блочности в цикле кодирования
[0043] Как AVC, так и HEVC задействуют фильтр удаления блочности (DF) в процессах кодирования и декодирования. Фильтр удаления блочности предназначен для уменьшения блочных артефактов, вызванных кодированием на основе блоков. Однако его конструкции в каждом из стандартов являются достаточно различными. В AVC фильтр удаления блочности применяют на основе структуры отсчетов размера 4×4, однако в HEVC фильтр удаления блочности применяют только по краям, выровненным по структуре отсчетов размера 8×8. В HEVC интенсивностью фильтра удаления блочности управляют при помощи значений нескольких синтаксических элементов, сходных с AVC, однако AVC поддерживает пять интенсивностей, в то время как HEVC поддерживает только три интенсивности. В HEVC существует меньше случаев фильтрации по сравнению с AVC. Например, один из трех случаев выбран для яркости: отсутствие фильтрации, сильная фильтрация и слабая фильтрация. Для цветности существует только два случая: отсутствие фильтрации и нормальная фильтрация. Для выравнивания операций фильтра удаления блочности между эталонным изображением базового уровня и временным эталонным изображением с уровня расширения можно применить несколько подходов.
[0044] В одном из вариантов осуществления изобретения RPU может получать непосредственный доступ к эталонному изображению без удаления блочности AVC и без дальнейшей постобработки. В другом варианте осуществления изобретения RPU может применять фильтр удаления блочности HEVC к межуровневому эталонному изображению. Принятие решения фильтром в HEVC основано на значении нескольких синтаксических элементов, таких как коэффициенты преобразования, индекс эталона и векторы движения. Может быть действительно затруднительно, если для принятия решения фильтром RPU требуется анализировать всю эту информацию. Вместо этого можно в явном виде сигнализировать индекс фильтра на уровне блока размера 8×8, уровне CU (единицы кодирования), уровне LCU/CTU (наибольшей единицы кодирования или единицы дерева кодирования), уровне, кратном уровню LCU, уровне группы макроблоков или уровне изображения. Можно сигнализировать индексы фильтра яркости и цветности по отдельности, или они могут совместно использовать один и тот же синтаксис. Таблица 3 показывает один из примеров того, каким образом решение фильтра удаления блочности может быть указано как часть потока данных RPU.
Таблица 3: Синтаксис фильтра удаления блочности
deblocking(rx, ry ) {
Дескриптор
filter_idx
ue(v)
}
[0045] В Таблице 3 filter_idx задает индекс фильтра для составляющих яркости и цветности. Для яркости filter_idx, равный 0, задает отсутствие фильтрации, filter_idx, равный 1, задает слабую фильтрацию, а filter_idx, равный 2, задает сильную фильтрацию. Для цветности filter_idx, равный 0 или 1, задает отсутствие фильтрации, а filter_idx, равный 2, задает нормальную фильтрацию.
Адаптивное смещение отсчетов (SAO)
[0046] SAO представляет собой процесс, модифицирующий отсчеты после фильтра удаления блочности (DF) посредством справочной таблицы. Как изображено на фиг. 2А и фиг. 2В, оно является только частью стандарта HEVC. Задачей SAO является улучшенное воспроизведение амплитуд первоначального сигнала путем использования справочной таблицы, описываемой несколькими дополнительными параметрами, которые можно определить путем анализа гистограммы на стороне кодера. В одном из вариантов осуществления изобретения RPU может обрабатывать межуровневое эталонное изображение с удалением блочности или без удаления блочности с базового уровня AVC, используя в точности такой же процесс SAO, как процесс, описанный в HEVC. Сигнализация может быть основана на области, адаптированной на уровне CTU (LCU), нескольких уровнях LCU, уровне группы макроблоков или уровне изображения. Таблица 4 показывает один из примеров синтаксиса для сообщения параметров SAO. В Таблице 4 обозначения синтаксиса являются такими же, как обозначения, описанные в технических условиях HEVC.
Таблица 4: Синтаксис адаптивного смещения отсчетов
Sao( rx, ry ){
Дескриптор
if ( rx > 0 ) {
sao_merge_left_flag
ue(v)
}
if( ry > 0 && !sao_merge_left_flag ) {
sao_merge_up_flag
ue(v)
}
if( !sao_merge_up_flag && !sao_merge_left_flag ) {
for( cIdx = 0; cIdx < 3; cIdx++ ) {
if( ( slice_sao_luma_flag && cIdx = = 0 ) | |\tab\tab\tab\tab( slice_sao_chroma_flag && cIdx > 0 ) ) {
if( cIdx = = 0 )
Sao_type_idx_luma
ue(v)
if ( cIdx = = 1 )
Sao_type_idx_chroma
ue(v)
if( SaoTypeIdx[ cIdx ][ rx ][ ry ] != 0 ) {
for( i = 0; i < 4; i++ )
sao_offset_abs[ cIdx ][ rx][ ry ][ i ]
ue(v)
if( SaoTypeIdx[ cIdx ][ rx ][ ry ] = = 1 ) {
for( i = 0; i < 4; i++ ) {
if( sao_offset_abs[ cIdx ][ rx ][ ry ][ i ] != 0 )
sao_offset_sign[ cIdx ][ rx ][ ry ][ i ]
ae(v)
sao_band_position[ cIdx ][ rx ][ ry ]
ae(v)
} else {
if( cIdx = = 0 )
sao_eo_class_luma
ae(v)
if( cIdx = = 1 )
sao_eo_class_chroma
ae(v)
}
}
}
}
}
}
Адаптивный петлевой фильтр (ALF)
[0047] В ходе разработки HEVC в качестве блока обработки данных, следующего за SAO, также оценивали адаптивный петлевой фильтр (ALF); однако ALF не является частью первой версии HEVC. Так как обработка ALF, если она будет реализовываться декодером в будущем, может улучшать межуровневое кодирование, она является еще одним этапом обработки данных, который также должен быть реализован RPU. Адаптация ALF может быть основанной на области, адаптируемой на уровне CTU (LCU), нескольких уровнях LCU, уровне группы макроблоков или уровне изображения. Один из примеров параметров ALF описан при помощи alf_picture_info() в документе JCTVC-I1003, «High efficiency video coding (HEVC) text specification draft 7», авторов B. Bross, W.-J. Han, G. J. Sullivan, J.-R. Ohm и T. Wiegand, Объединенная совместная группа ITU-T/ISO/IEC по кодированию видеоизображений (JCT-VC), май 2012 г., который ссылкой полностью включается в настоящее раскрытие.
Чересстрочная и прогрессивная развертка
[0048] AVC поддерживает инструментальные средства кодирования как для прогрессивного, так и для чересстрочного содержания. Для чересстрочных последовательностей допускается как покадровое кодирование, так и полевое кодирование. В HEVC в явном виде не присутствуют инструментальные средства, поддерживающие использование чересстрочной развертки. HEVC предусматривает только синтаксис метаданных (синтаксис сообщения Field Indication SEI и VUI), позволяющий кодеру указывать, каким образом закодировано чересстрочное содержание. Рассмотрены следующие сценарии.
Сценарий 1: Как базовый уровень, так и уровень расширения являются чересстрочными
[0049] Для этого сценария можно рассмотреть несколько способов. В первом варианте осуществления изобретения кодер может быть ограничен изменением кодирования базового уровня в покадровом или полевом режиме только на основе последовательности. Уровень расширения будет следовать решению о кодировании, принятому на базовом уровне. То есть если базовый уровень AVC использует полевое кодирование в одной последовательности, то уровень расширения HEVC также будет использовать в соответствующей последовательности полевое кодирование. Аналогично, если базовый уровень AVC использует покадровое кодирование в одной последовательности, уровень расширения HEVC также будет использовать в соответствующей последовательности покадровое кодирование. Следует отметить, что для полевого кодирования вертикальной разрешающей способностью, сигнализируемой в синтаксисе AVC, является высота кадра; однако в HEVC вертикальной разрешающей способностью, сигнализируемой в синтаксисе, является высота поля. При сообщении этой информации в битовом потоке необходимо соблюдать особую осторожность, особенно при использовании окна обрезки.
[0050] В другом варианте осуществления изобретения кодер AVC может использовать адаптивное покадровое или полевое кодирование на уровне изображения, в то время как кодер HEVC выполняет адаптивное покадровое или полевое кодирование на уровне последовательности. В обоих случаях RPU может обрабатывать межуровневые эталонные изображения одним из следующих способов: а) RPU может обрабатывать межуровневое эталонное изображение как поля независимо от решения о покадровом или полевом кодировании на базовом уровне AVC; или b) RPU может адаптировать обработку межуровневых эталонных изображений на основе решения о покадровом/полевом кодировании на базовом уровне AVC. То есть если базовый уровень AVC является кодированным по кадрам, то RPU будет обрабатывать межуровневое эталонное изображение как кадр, иначе он будет обрабатывать межуровневое эталонное изображение как поля.
[0051] Фиг. 4 изображает один из примеров Сценария 1. Обозначение Di или Dp означает частоту кадров и то, является формат чересстрочным или прогрессивным. Так, Di обозначает D чересстрочных кадров в секунду (или 2D полей в секунду), а Dp обозначает D прогрессивных кадров в секунду. В этом примере базовый уровень содержит последовательность со стандартной разрешающей способностью (SD), 720×480, 30i, кодированную с использованием AVC. Уровень расширения представляет собой последовательность с высокой разрешающей способностью (HD), 1920×1080, 60i, кодированную с использованием HEVC. Этот пример объединяет масштабируемость кодека, временную масштабируемость и пространственную масштабируемость. Временную масштабируемость обрабатывает декодер уровня расширения HEVC, используя иерархическую структуру только с временным предсказанием (HEVC поддерживает этот режим на единственном уровне). Пространственную масштабируемость обрабатывает RPU, корректирующий и синхронизирующий группы макроблоков межуровневого эталонного поля/кадра с соответствующими ему группами макроблоков поля/кадра на уровне расширения.
Сценарий 2: базовый уровень является чересстрочным, а уровень расширения является прогрессивным
i
i
i
0
1
2
3
1
0
3
2
[0052] В этом сценарии базовый уровень AVC представляет собой чересстрочную последовательность, а уровень расширения HEVC представляет собой прогрессивную последовательность. Фиг. 5А изображает один из иллюстративных вариантов осуществления, где входной сигнал (502), 4K, 120p, кодирован как три уровня: поток (532) BL, 1080, 30i, поток (537) первого уровня расширения (EL0), кодированный как 1080, 60p, и поток (517) второго уровня расширения (EL1), кодированный как 4K, 120p. Сигналы BL и EL0 закодированы с использованием кодера H.264/AVC, в то время как сигнал EL1 может быть закодирован с использованием HEVC. В кодере, начиная с сигнала (502) с высокой разрешающей способностью и высокой частотой кадров, 4K, 120p, кодер применяет временную и пространственную понижающую дискретизацию (510) для генерирования прогрессивного сигнала 512, 1080, 60p. Используя методику (520) преобразования прогрессивной развертки в чересстрочную путем дополнения, кодер также может генерировать два дополняющих друг друга чересстрочных сигнала BL 522-1 и EL0 522-2, 1080, 30i. В рамках настоящего раскрытия термин «методика преобразования прогрессивной развертки в чересстрочную путем дополнения» обозначает схему, которая генерирует два чересстрочных сигнала из одного и того же прогрессивного ввода, при этом оба чересстрочных сигнала имеют одинаковую разрешающую способность, но один чересстрочный сигнал содержит поля из прогрессивного сигнала, не являющиеся частью второго чересстрочного сигнала. Например, если входной сигнал в момент времени T, i=0, 1,…., n разделяется на верхнее и нижнее чересстрочные поля (Top-T, Bottom-T), то первый чересстрочный сигнал может быть построен с использованием (Top-T, Bottom-T), (Top-T, Bottom-T) и т.д., в то время как второй чересстрочный сигнал может быть построен с использованием остальных полей, т.е. (Top-T, Bottom-T), (Top-T, Bottom-T) и т.д.
[0053] В этом примере сигнал 522-1 BL представляет собой обратно совместимый чересстрочный сигнал, который могут декодировать унаследованные декодеры, в то время как сигнал 522-2 EL0 представляет дополняющие отсчеты из первоначального прогрессивного сигнала. Для составления конечного изображения с полной частотой кадров каждое воспроизведенное полевое изображение из сигнала BL необходимо объединить с полевым изображением из той же единицы доступа, но с противоположной четностью поля. Кодер 530 может представлять собой кодер AVC, содержащий два кодера AVC (530-1 и 530-2) и процессор 530-3 RPU. Кодер 530 может использовать межуровневую обработку данных для сжатия сигнала EL0 с использованием эталонных кадров как из сигнала BL, так и из сигнала EL0. RPU 530-3 можно использовать для подготовки эталонных кадров BL, используемых кодером 530-2. Также его можно использовать для создания прогрессивного сигнала 537, подлежащего использованию при кодировании сигнала 502 EL1 кодером 515 EL1.
[0054] В одном из вариантов осуществления изобретения для преобразования вывода (537), 1080, 60p из RPU 530-3 в сигнал 4K, 60p, подлежащий использованию кодером 515 HEVC в ходе межуровневого предсказания, используют процесс повышающей дискретизации в RPU (535). Сигнал 502 EL1 можно кодировать, используя временную и пространственную масштабируемость, для генерирования сжатого потока 517, 4K, 120p. Декодеры могут применять аналогичный процесс для декодирования сигнала 1080, 30i, сигнала 1080, 60i или сигнала 4K, 120p.
[0055] Фиг. 5В изображает другой пример реализации чересстрочной/прогрессивной системы в соответствии с одним из вариантов осуществления изобретения. Эта система представляет собой двухуровневую систему, где сигнал (522) базового уровня 1080, 30i кодируют с использованием кодера (540) AVC, генерируя кодированный поток 542 BL, а сигнал (502) уровня расширения 4K, 120p кодируют с использованием кодера (515) HEVC, генерируя кодированный поток 552 EL. Два этих потока можно уплотнить с образованием кодированного масштабируемого битового потока 572.
[0056] Как изображено на фиг. 5В, RPU 560 может включать два процесса: процесс преобразования чересстрочной развертки в прогрессивную, преобразующий сигнал 522 BL в сигнал 1080, 60p, и процесс повышающей дискретизации для преобразования сигнала 1080, 60p обратно в сигнал 4K, 60p, и, таким образом, вывод RPU можно использовать в качестве эталонного сигнала в ходе межуровневого предсказания в кодере 515.
Сценарий 3: базовый уровень является прогрессивным, а уровень расширения является чересстрочным
В этом сценарии, в одном из вариантов осуществления изобретения, RPU может преобразовывать прогрессивное межуровневое эталонное изображение в чересстрочное изображение. Эти чересстрочные изображения можно обрабатывать при помощи RPU как а) всегда поля независимо от того, использует кодер HEVC покадровое или полевое кодирование на основе последовательности, или как b) поля или кадры в зависимости от режима, используемого кодером HEVC. Таблица 5 изображает один из примеров синтаксиса, который можно использовать для направления декодера RPU на процесс кодера.
Таблица 5: Синтаксис обработки чересстрочной развертки
interlace_process( ) {
Дескриптор
base_field_seq_flag
u(1)
enh_field_seq_flag
u(1)
}
[0057] В Таблице 5 base_field_seq_flag, равный 1, указывает, что кодированная видеопоследовательность базового уровня передает изображения, представляющие поля. base_field_seq_flag, равный 0, указывает, что кодированная видеопоследовательность базового уровня передает изображения, представляющие кадры.
[0058] enh_field_seq_flag, равный 1, указывает, что кодированная видеопоследовательность уровня расширения передает изображения, представляющие поля. enh_field_seq_flag, равный 0, указывает, что кодированная видеопоследовательность уровня расширения передает изображения, представляющие кадры.
[0059] Таблица 6 показывает, каким образом RPU может обрабатывать эталонные изображения, основываясь на base_field_seq_flag или enh_field_seq_flag.
Таблица 6: Обработка данных RPU для последовательностей прогрессивной/чересстрочной развертки
base_field_seq_flag
enh_field_seq_flag
Обработка данных RPU
1
1
поле
1
0
преобразование чересстрочной развертки в прогрессивную + кадр
0
1
чересстрочная развертка + поле
0
0
кадр
Масштабируемость модели кодирования сигналов
[0060] Вероятно, гамма-кодирование является наиболее широко используемой моделью кодирования сигналов по причине его эффективности при представлении изображений со стандартным динамическим диапазоном (SDR). В современных исследованиях формирования изображений с расширенным динамическим диапазоном (HDR) было обнаружено, что для изображений некоторых типов более эффективно могут представлять данные другие модели кодирования сигналов, такие как перцепционный квантователь (PQ), описанный в публикации «Parameter values for UHDTV», поданной в SG6 WP 6C, WP6C/USA002, автора Craig Todd, или в предварительной заявке на патент США №61/674503, поданной 23 июля 2012 г. и озаглавленной «Perceptual luminance nonlinearity-based image data exchange across different display capabilities», авторов Jon S. Miller и др., при этом обе они ссылкой полностью включаются в настоящее раскрытие. Поэтому возможно, что масштабируемая система может содержать один уровень с SDR-содержанием, которое является гамма-кодированным, и другой уровень с содержанием, имеющим расширенный динамический диапазон, кодированным с использованием других моделей кодирования сигналов.
[0061] Фиг. 6 иллюстрирует один из вариантов осуществления изобретения, где RPU 610 (например, RPU 115 на фиг. 1) может быть установлен на корректировку квантователя сигнала базового уровня. Для заданного сигнала 102 BL (например, 8-битного видеосигнала SDR, гамма-кодированного в 4:2:0 Rec. 709) и сигнала 104 EL (например, 12-битного видеосигнала HDR, кодированного PQ в 4:4:4 в цветовом пространстве Р3), при этом обработка данных в RPU 610 может включать: гамма-декодирование, другие обратные отображения (например, преобразования цветового пространства, преобразования битовой глубины, дискретизация цветности и т.п.) и перцепционное квантование (PQ) SDR в HDR. Способ декодирования и кодирования сигналов (например, гамма-кодирование и PQ) и связанных с ними параметров может составлять часть метаданных, передаваемых совместно с кодированным битовым потоком, или они могут составлять часть синтаксиса HEVC в будущем. Такую обработку данных RPU можно объединить с другой обработкой данных RPU, относящейся к масштабируемостям других типов, таких как масштабируемость битовой глубины, формата цветности и цветового пространства. Как изображено на фиг. 1, аналогичную обработку данных RPU также можно выполнить при помощи декодера RPU в ходе декодирования масштабируемого битового потока 127.
[0062] Распространение масштабируемостей может включать несколько других категорий, таких как пространственная масштабируемость или масштабируемость SNR, временная масштабируемость, масштабируемость битовой глубины и масштабируемость разрешающей способности цветности. Следовательно, RPU может быть выполнен с возможностью обработки межуровневых эталонных изображений по множеству сценариев кодирования. Для улучшения совместимости кодера и декодера кодеры могут содержать специальный синтаксис битового потока, связанный с RPU, для управления соответствующим декодером RPU. Синтаксис можно обновлять на множестве уровней кодирования, в том числе на уровне группы макроблоков, уровне изображения, уровне GOP, уровне сцены или на уровне последовательности. Также он может быть включен в различные вспомогательные данные, такие как заголовок блока NAL, набор параметров последовательности (SPS) и его расширение, SubSPS, набор параметров изображения (PPS), заголовок группы макроблоков, сообщение SEI или заголовок нового блока NAL. Поскольку может существовать множество связанных с RPU инструментальных средств обработки данных, для максимальной гибкости и простоты реализации, в одном из вариантов осуществления изобретения, мы предлагаем зарезервировать блок NAL нового типа для RPU, чтобы сделать его отдельным битовым потоком. В этой реализации в модули кодера и декодера добавляют отдельный модуль RPU для взаимодействия с базовым уровнем и одним или несколькими уровнями расширения. Таблица 7 показывает один из примеров синтаксиса данных RPU, включающего rpu_header_data() (показан в Таблице 8) и rpu_payload_data() (показан в Таблице 9), в новом блоке NAL. В этом примере допускают несколько разделов, позволяющих принимать решения об удалении блочности и SAO.
Таблица 7: Синтаксис данных RPU
rpu_data () {
Дескриптор
rpu_header_data()
rpu_payload_data()
rbsp_trailing_bits()
}
Таблица 8: Синтаксис данных заголовка RPU
rpu_header_data () {
Дескриптор
rpu_type
u(6)
POC()
pic_cropping( )
deblocking_present_flag
u(1)
sao_present_flag
u(1)
alf_present_flag
u(1)
if (alf_present_flag)
alf_picture_info()
interlace_process( )
num_x_partitions_minus1
ue(v)
num_y_partitions_minus1
ue(v)
}
Таблица 9: Синтаксис данных полезной нагрузки RPU
rpu_payload_data () {
Дескриптор
for (y = 0, y <= num_y_partitions_minus1; y++ ) {
for (x = 0; x < =num_x_partitions_minus1; x++ ) {
if (deblocking_present_flag)
deblocking()
if (sao_present_flag)
sao()
/* приведенное ниже предназначено для добавления других параметров, связанных с фильтром повышающей дискретизации, отображением и т.д.*/
/* пример 1: if (rpu_type == SPATIAL_SCALABILITY) */
/*            rpu_process_spatial_scalability() */
/* пример 2: if (rpu_type == BIT_DEPTH_SCALABILITY) */
/*            rpu_process_bit_depth_scalability() */
….
}
}
}
[0063] В Таблице 8 rpu_type задает назначение типа предсказания для сигнала RPU. Он может быть использован для задания разных видов масштабируемости. Например, rpu_type, равный 0, может задавать пространственную масштабируемость, а rpu_type, равный 1, может задавать масштабируемость битовой глубины. Для того чтобы объединить различные режимы масштабируемости, можно также использовать маскирующую переменную, такую как rpu_mask. Например, rpu_mask=0×01 (двоичное 00000001) может обозначать, что допустима только пространственная масштабируемость. rpu_mask=0×02 (двоичное 00000010) может обозначать, что допустима только масштабируемость битовой глубины. rpu_mask=0×03 (двоичное 00000011) может обозначать, что допустима как пространственная масштабируемость, так и масштабируемость битовой глубины.
[0064] deblocking_present_flag, равный 1, указывает, что в данных RPU присутствует синтаксис, относящийся к фильтру удаления блочности.
[0065] sao_present_flag, равный 1, указывает, что в данных RPU присутствует синтаксис, относящийся к SAO.
[0066] alf_present_flag, равный 1, указывает, что в данных RPU присутствует синтаксис, относящийся к фильтру ALF.
[0067] num_x_partitions_minus1 сигнализирует количество разделов, используемых для подразделения обрабатываемого изображения в горизонтальном измерении в RPU.
[0068] num_y_partitions_minus1 сигнализирует количество разделов, используемых для подразделения обрабатываемого изображения в вертикальном измерении в RPU.
[0069] В другом варианте осуществления изобретения, вместо использования POC для синхронизации изображений базового уровня и уровня расширения, синтаксис RPU сигнализируют на уровне изображения, поэтому один и тот же синтаксис RPU могут повторно использовать несколько изображений, что в результате приводит к меньшим накладным расходам битов и, возможно, к уменьшению накладных расходов на обработку данных в некоторых реализациях. В этой реализации в синтаксис RPU будет добавлен rpu_id. В slice_header() он всегда будет относиться к rpu_id для синхронизации синтаксиса RPU с текущей группой макроблоков, где переменная rpu_id определяет rpu_data(), относящийся к заголовку группы макроблоков.
[0070] Фиг. 7 изображает один из примеров процесса кодирования в соответствии с одним из вариантов осуществления изобретения. Для заданного ряда изображений (или кадров) кодер кодирует базовый уровень при помощи кодера BL, используя первый стандарт сжатия (715) (например, AVC). Затем (720, 725), как изображено на фиг. 2А и 2В, процесс 115 RPU может получать доступ к изображениям базового уровня либо перед, либо после фильтра удаления блочности (DF). Решение может быть принято на основе оптимизации RD (скорости создания информации) или обработки данных, выполняемой RPU. Например, если RPU выполняет повышающую дискретизацию, также пригодную для использования при удалении блочности на границах блоков, то RPU может просто использовать декодированный базовый уровень перед фильтром удаления блочности, а процесс повышающей дискретизации может сохранять больше деталей. RPU 115 может определять параметры обработки данных RPU на основе параметров кодирования BL и EL. При необходимости процесс RPU также может получать доступ к данным из ввода EL. Затем, на этапе 730, RPU обрабатывает межуровневые эталонные изображения в соответствии с определенными параметрами процесса RPU. Генерируемые межуровневые изображения (735) теперь может использовать кодер EL, использующий второй стандарт сжатия (например, кодер HEVC) для сжатия сигнала уровня расширения.
[0071] Фиг. 8 изображает один из примеров процесса декодирования в соответствии с одним из вариантов осуществления изобретения. Вначале (810) декодер выполняет синтаксический анализ высокоуровневого синтаксиса входного битового потока для извлечения параметров последовательности и информации, относящейся к RPU. Затем (820) он декодирует базовый уровень декодером BL в соответствии с первым стандартом сжатия (например, декодером AVC). После декодирования параметров (825), относящихся к процессу RPU, процесс RPU генерирует межуровневые эталонные изображения в соответствии с этими параметрами (этапы 830 и 835). В заключение, декодер декодирует уровень расширения с использованием декодера EL, совместимого со вторым стандартом сжатия (например, декодером HEVC) (840).
[0072] Для заданных иллюстративных параметров RPU, определенных в Таблицах 1-9, фиг. 9 изображает один из примеров процесса декодирования RPU в соответствии с одним из вариантов осуществления изобретения. Вначале (910) декодер извлекает из синтаксиса битового потока высокоуровневые данные, относящиеся к RPU, такие как тип RPU (например, rpu_type в Таблице 8), POC() и pic_cropping(). Термин «тип RPU» относится к связанным с RPU подпроцессам, которые необходимо учесть, таким как масштабируемость стандартов кодирования, пространственная масштабируемость, масштабируемость битовой глубины и т.п., как обсуждалось ранее. Для заданного кадра BL, операции обрезки и операции, связанные с ALF, могут быть обработаны в первую очередь (например, 915, 925). Затем после извлечения требуемого чересстрочного режима или режима, преобразованного из чересстрочного в прогрессивный, (930) RPU выполняет для каждого раздела удаление блочности и операции, связанные с SAO (например, 935, 940). Если необходимо выполнить (945) дополнительную обработку данных RPU, то RPU декодирует соответствующие параметры (950), а затем выполняет операции в соответствии с этими параметрами. В конце этого процесса последовательность межуровневых кадров становится доступной декодеру EL для декодирования потока EL.
Иллюстративная реализация компьютерной системы
[0073] Варианты осуществления настоящего изобретения можно реализовать при помощи компьютерной системы, систем, выполненных как электронная схема и компоненты, интегрального микросхемного (IC) устройства, такого как микроконтроллер, вентильная матрица с эксплуатационным программированием (FPGA) или другое конфигурируемое или программируемое логическое устройство (PLD), дискретный процессор или процессор цифровой обработки сигналов (DSP), специализированная IC (ASIC) и/или устройство, содержащее одну или несколько таких систем, устройств или компонентов. Компьютер и/или IC может выполнять, управлять или исполнять команды, относящиеся к обработке данных RPU, такие как команды, описываемые в настоящем раскрытии. Компьютер и/или IC может вычислять любой из множества параметров или величин, относящихся к обработке данных RPU, описанной в настоящем раскрытии. Варианты осуществления изобретения, относящиеся к RPU, можно реализовать в аппаратном обеспечении, программном обеспечении, аппаратно-программном обеспечении и в различных их сочетаниях.
[0074] Некоторые реализации изобретения содержат компьютерные процессоры, исполняющие команды программного обеспечения, вызывающие выполнение этими процессорами способа согласно изобретению. Например, один или несколько процессоров в дисплее, кодере, телевизионной приставке, транскодере и т.п. могут реализовывать вышеописанные способы обработки данных RPU путем исполнения команд программного обеспечения в памяти программ, доступной для этих процессоров. Изобретение также может быть предусмотрено в форме программного продукта. Этот программный продукт может содержать любые носители, переносящие набор машиночитаемых сигналов, содержащих команды, вызывающие при их исполнении процессором данных исполнение процессором данных способа согласно изобретению. Программные продукты согласно изобретению могут иметь любую из множества форм. Программный продукт может содержать, например, физические носители, такие как магнитные носители данных, в том числе дискеты, жесткие диски, оптические носители данных, в том числе диски CD ROM, DVD, электронные носители данных, в том числе ROM, flash RAM, и т.п. Машиночитаемые сигналы на программном продукте, необязательно, могут быть сжатыми или шифрованными.
[0075] Там, где выше делается обращение к компоненту (например, модулю программного обеспечения, процессору, узлу, устройству, схеме и т.д.), если не указано иное, ссылку на этот компонент (в том числе ссылку на «средства») следует интерпретировать как включающую в качестве эквивалентов этого компонента любой компонент, выполняющий функцию описываемого компонента (например, являющийся функциональным эквивалентом), в том числе компоненты, не являющиеся конструктивными эквивалентами раскрытой конструкции, но выполняющие эту функцию в проиллюстрированных примерах вариантов осуществления изобретения.
Эквиваленты, расширения, альтернативы и прочее
[0076] Таким образом, описаны иллюстративные варианты осуществления изобретения, относящиеся к обработке данных RPU и масштабируемости кодеков на основе стандартов. В предшествующем описании варианты осуществления настоящего изобретения были описаны со ссылкой на многочисленные конкретные подробности, которые могут варьироваться от реализации к реализации. Поэтому единственным и исключительным указателем того, что представляет собой изобретение, предназначенным заявителями для того, чтобы являться изобретением, является набор, изложенный в формуле изобретения, вытекающей из данной заявки, в той конкретной форме, в какой вытекает эта формула изобретения, включая любую последующую правку. Любые определения, изложенные в настоящем раскрытии в прямой форме для терминов, содержащихся в этой формуле изобретения, имеют преимущественную силу для значения этих терминов, используемого в формуле изобретения. Поэтому никакое ограничение, элемент, свойство, характерный признак, преимущество или атрибут, не изложенные в каком-либо пункте формулы изобретения в прямой форме, никоим образом не должны ограничивать объем этого пункта. Соответственно, описание и графические материалы следует рассматривать скорее в иллюстративном, а не в ограничивающем смысле.