СПОСОБ И УСТРОЙСТВО ДЛЯ ВЫСОКОМАСШТАБИРУЕМОГО ВНУТРИКАДРОВОГО ВИДЕОКОДИРОВАНИЯ
METHOD AND APPARATUS FOR HIGHLY SCALABLE INTRAFRAME VIDEO CODING

Область техники, к которой относится изобретение
Изобретение относится в целом к сжатию видеосигнала и более конкретно к сжатию видеосигнала для видеосигналов с высокой четкостью.
Уровень техники
Внутрикадровое видеокодирование полезно для приложений, которые требуют быстрый произвольный доступ к отдельным видеокадрам. Типичные области применения включают в себя производство кинокартин, формирование медицинских и спутниковых изображений и цифровое кино. В последнее время Объединенная Команда Видеоэкспертов (Joint Video Team (JVT)) Группы Экспертов по Видеокодированию ITU-T (ITU-T Video Coding Experts Group (VCEG)) и Экспертной Группы по Кинофильмам ISO/IEC (ISO/IEC Moving Picture Expert Group (MPEG)) пустили расширение масштабируемого видеокодирования (SVC) до стандарта H.264/AVC для обращения к возрастающей потребности в более гибких видеопредставлениях для видеоуслуг через неоднородные окружения. SVC предоставляет новый профиль, выделенный для внутрикадрового видеокодирования, который, известный как Масштабируемый Высокий Внутренний профиль (Scalable High lntra), главным образом нацелен на профессиональные приложения.
Ранние международные стандарты видеокодирования, такие как MPEG-1, 2, 4 и семейство H.26x, основывались на базе гибридного кодирования, гибриде кодирования посредством дифференциальной импульсно-кодовой модуляции (DPCM) и дискретного косинусного преобразования (DCT). Эта база DPCM была естественным образом расширена для масштабируемого видеокодирования посредством дополнительного объединения сигнала межслоевого предсказания для кодирования DPCM на слое улучшения, как это встречается в предшествующих стандартах MPEG-2, MPEG-4, H.263+ масштабируемого видеокодирования, и последнего стандарта SVC. Этот способ добавляет каждый слой улучшения к слоям накопленных предыдущих битовых потоков для дальнейшего улучшения закодированного видео. Усовершенствование может быть осуществлено для повышения видеокачества, пространственного разрешения или кадровой скорости видео, соответствующему отношению качество/SNR, пространственной и временной масштабируемости, соответственно. Получающаяся система масштабируемого видеокодирования имеет несколько типичных проблем, связанных с традиционной системой кодирования DPCM, такой как размножение ошибок и «дрейф», которые вызываются различными версиями сигналов предсказания, используемых в кодировщиках и декодерах. Это зачастую требует значительной эффективности и потерь на сложность для приспособления масштабируемого видеосжатия.
В целях внутрикадрового пространственного масштабируемого кодирования, в частности, те предшествующие стандарты приняли подход пирамидного кодирования для предоставления представления сигнала с множеством разрешений. Этот способ использует вставленный кадр из восстанавливаемого видеоосновного слоя, чтобы предсказать кадр, относящийся к высокому разрешению, на слое улучшения, а получающийся разностный сигнал кодируется посредством битового потока слоя улучшения. Это проиллюстрировано на фиг.2, которая является диаграммой, которая использует представления закодированных внутрикадровых слоев, чтобы проиллюстрировать их отношение для видеокадра, который был масштабируемо закодирован тремя уровнями разрешения, в соответствие с режимами эксплуатации предшествующего уровня техники. Однако количество получающихся образцов исходных пикселей увеличивается таким образом на 33,3% для построения пирамидального представления полного изображения в получающейся системе кодирования, которое может по сути дополнительно снизить эффективность сжатия. Результаты моделирования от основного эксперимента JVT также показывают, что текущая модель H.264/AVC объединенного масштабируемого видео страдает от существенных потерь эффективности для внутреннего двухэлементного пространственного масштабируемого кодирования, в частности в отношении диапазона высоких битовых скоростей.
В последние годы в литературе было продемонстрировано, что субполосное/вейвлет кодирование является одним из самых эффективных способов для кодирования изображений. Оно также использовалось в международном стандарте JPEG 2000 для промышленных приложений кодирования изображений и видео (в формате Движение JPEG 2000). Благодаря высокому уплотнению энергии субполосного/вейвлет преобразования эти кодировщики настоящего уровня техники способны достигать превосходной производительности сжатия без традиционных блочных артефактов, связанных с блочным преобразованием. Более значительно, они могут с легкостью приспосабливать функциональные средства желаемого пространственного масштабируемого кодирования почти с полным отсутствием каких-либо потерь в эффективности сжатия, потому что субполосное/вейвлет разложение является разрешением, масштабируемым по природе. На фиг.1 изображена схема, которая использует представления закодированных субполос, чтобы проиллюстрировать их отношения для изображения, которое было субполосно закодировано с тремя уровнями разрешения, n=0, n=1 и n=2, в соответствие с режимами эксплуатации предшествующего уровня техники. Более высокие уровни разрешения, такие как n=2, синтезируются из трех субполос (обычно обозначаемых HL, LH, HH) на более высоком уровне, плюс из субполос со всех следующих низших уровнях, с пониманием того, что «субполоса» самого низшего уровня является основным слоем, который обеспечивает версию с низким разрешением изображения. Однако, так как низкочастотный фильтр субполосного/вейвлет анализа не является превосходным полуполосным фильтром, то артефакты с наложением спектра вводятся в получающееся видео с низким разрешением, что производит возмущающее мерцание в зрительной системе человека для приложения видеокодирования.
В данном документе представлена новая база внутрикадрового масштабируемого кодирования, основанная на подходе субполосного/вейвлет кодирования. В предложенной базе используемый фильтр дискретизации с понижением частоты для генерирования видео с низким разрешением на основном слое практически не привязан к выбору конкретного субполосного/вейвлет фильтра для представления сигнала, в отличие от традиционной системы вейвлет кодирования по фиг.1. Кроме того, исследовательские усилия оказались нацелены на эффективную эксплуатацию субполосных/вейвлет методик в пределах традиционной системы макроблочного и основанного на DCT видеокодирования, для усовершенствованной эффективности внутрикадрового масштабируемого кодирования. В отличие от предшествующего кодирования визуальных текстур (VTC) MPEG-4, которое естественным образом построено на отдельной системе на основе нулевого дерева для кодирования вейвлет коэффициентов, предложенная база субполосного кодирования в частности выполнена с возможностью быть объединенной с опорным программным обеспечением H.264/AVC JSVM, с минимальными модификациями к текущему стандарту. Как таковая модифицированная система кодирования H.264/AVC может воспользоваться преимуществами вейвлет кодирования с минимальным увеличением в сложности исполнения.
Как продемонстрировали результаты моделирования в настоящем документе, внутрикадровое масштабируемое по качеству кодирование текущего SVC, основанное на традиционном подходе слоистого DPCM, также страдает от существенных потерь производительности по сравнению с кодированием единственного слоя. Природа таких потерь подобна природе традиционных способов масштабируемого между видео SNR кодирования, где эффективность кодирования снижается, потому что грубо кодированный сигнал основного слоя используется для предсказания сигнала и приводит к разностному сигналу с большой энергией. Предложенная система субполосного кодирования, подробно раскрытая в данном документе, может быть дополнительно расширена для приложений масштабируемого по качеству кодирования с усовершенствованной производительностью кодирования на основе подхода кодирования с преобразованием. Каждый слой улучшения качества в предложенной системе является дополнительно масштабируемым внутри разрешения, таким образом, обеспечивая очень гибкий битовый поток для масштабируемого декодирования при широком многообразии ограничений по качеству и разрешению. Как таковое, эффективное и высоко масштабируемое вейвлет сжатие изображения/видео, как продемонстрировал JPEG2000, может быть дополнительно приспособлено немного модифицированной системой стандартного кодирования с низкими дополнительными затратами на исполнение. Приложения кодирования видео и изображения, традиционно обслуживаемые отдельными кодировщиками, могут быть эффективно обеспечены объединенной системой кодирования.
Краткое описание чертежей
Сопроводительные фигуры, на которых одинаковые ссылочные позиции обозначают идентичные или функционально схожие элементы по всем отдельным видам, совместно с подробным описанием ниже включены в и формируют часть описания изобретения и служат для дополнительной иллюстрации вариантов осуществления концепций, которые включают в себя заявленное изобретение, и объясняют различные принципы и преимущества этих вариантов осуществления.
На фиг.1 изображено представление сигнала кадра кодированного изображения или видео с использованием подхода субполосного/вейвлет кодирования с тремя уровнями разрешения в соответствие с режимами эксплуатации предшествующего уровня техники.
На фиг.2 изображено представление сигнала кадра кодируемого изображения или видео с использованием подхода субполосного/вейвлет кодирования с тремя уровнями разрешения в соответствие с режимами эксплуатации предшествующего уровня техники.
На фиг.3 изображена блок-схема высокого уровня обычной системы пространственного масштабируемого кодирования с тремя масштабируемыми по разрешению слоями.
На фиг.4 изображена блок-схема высокого уровня обычной системы пространственного масштабируемого декодирования с двумя масштабируемыми по разрешению слоями.
На фиг.5 изображена блок-схема предложенной системы пространственного масштабируемого кодирования для некоторых вариантов осуществления, имеющих два слоя разрешения, в соответствие с некоторыми вариантами осуществления.
На фиг.6 изображена блок-схема предложенной системы пространственного масштабируемого декодирования для некоторых вариантов осуществления, имеющих два слоя разрешения.
На фиг.7 изображена блок-схема для операции 2-D дискретизации с понижением частоты в соответствие с некоторыми 2-D отдельными двухэлементными вариантами осуществления.
На фиг.8 изображена блок-схема, которая иллюстрирует некоторые наборы субполосных фильтров анализа в соответствие с некоторыми 2-D отдельными двухэлементными вариантами осуществления.
На фиг.9 изображено субполосное разделение для разложенного кадра после двух уровней двухэлементного субполосного разделения в соответствие с некоторыми вариантами осуществления.
На фиг.10 изображена блок-схема последовательности операций способа, которая показывает несколько этапов способа пространственного масштабируемого видеокодирования для сжатия исходного видеокадра в соответствие с некоторыми вариантами осуществления.
На фиг.11 изображена блок-схема последовательности операций способа, которая показывает несколько этапов способа пространственного масштабируемого видеодекодирования для разложения закодированного видеокадра в соответствие с некоторыми вариантами осуществления.
На фиг.12 изображена блок-схема кодировщика внутрислоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.13 изображена блок-схема декодера внутрислоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.14 изображена блок-схема кодировщика межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.15 изображена блок-схема декодера межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.16 изображена блок-схема еще одного кодировщика межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.17 изображена блок-схема еще одного декодера межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления.
На фиг.18 изображено представление сигнала кадра закодированного изображения или видео с использованием предложенного нового подхода субполосного/вейвлет кодирования с тремя уровнями разрешения в соответствие с некоторыми вариантами осуществления.
На фиг.19-21 изображены графики моделирований, которые сравнивают производительность некоторых вариантов осуществления с производительностью систем предшествующего уровня техники.
На фиг.22 изображено представление сигнала кадра закодированного изображения или видео с использованием предложенного способа масштабируемого по качеству субполосного/вейвлет кодирования в трех слоях качества и двух уровнях субполосного разложения в соответствие с некоторыми вариантами осуществления.
На фиг.23 изображена блок-схема предложенной системы масштабируемого по качеству кодирования для некоторых вариантов осуществления, имеющих три масштабируемых слоя качества и три уровня разрешения, в соответствие с некоторыми вариантами осуществления.
На фиг.24 изображена блок-схема последовательности операций способа, которая показывает несколько этапов способа масштабируемого по качеству видеокодирования для сжатия исходного видеокадра в соответствие с некоторыми вариантами осуществления.
На фиг.25 изображена блок-схема последовательности операций способа, которая показывает несколько этапов способа масштабируемого по качеству видеодекодирования для разложения закодированного видеокадра в соответствие с некоторыми вариантами осуществления.
На фиг.26 и 27 изображены графики моделирований, которые сравнивают производительность некоторых вариантов осуществления с производительностью систем предшествующего уровня техники.
Для специалистов в данной области техники будет очевидно, что элементы на фигурах изображены для упрощения и ясности и необязательно, что изображены в масштабе. Например, размерности нескольких элементов на фигурах могут быть чрезмерно преувеличены относительно других элементов, чтобы помочь улучшить понимание вариантов осуществления настоящего изобретения.
Подробное описание
Перед тем как описывать в подробностях следующие варианты осуществления, необходимо обратить внимание на то, что варианты осуществления находятся главным образом в комбинациях этапов способов и компонентах устройств, которые относятся к внутрикадровому пространственному и масштабируемому видеокодированию. Соответственно, компоненты устройств и этапы способов представлены там, где им это свойственно, посредством традиционных символов на чертежах, изображая только те конкретные подробности, которые имеют отношение к пониманию вариантов осуществления настоящего изобретения так, чтобы не затруднять понимание раскрытия изобретения присутствием подробностей, которые будут легко очевидны для обычных специалистов в данной области техники, использующих описание данного документа.
В данном документе относительные термины, такие как первый и второй, верхний и нижний, и им подобные, могут использоваться исключительно для того, чтобы отличать один объект или действие от другого объекта или действия без обязательного требования или исполнения любого такого отношения или порядка в действительности между такими объектами или действиями. Термины «содержит», «содержащий» или любая другая их разновидность, предназначены для охвата неисключительного включения, такого как процесс, способ, изделие или устройство, которое тем, что содержит список элементов, не включает в себя только эти элементы, а напротив может включать в себя другие элементы, которые специально не включены в список или являются присущими такому процессу, способу, изделию или устройству. Один элемент, который идет после слов «содержит…», не исключает, без дополнительных ограничений, существование дополнительных идентичных элементов в процессе, способе, изделии или устройстве, которое содержит этот элемент.
А. Пространственное масштабируемое кодирование
Обратимся к фиг.3, на которой представлена блок-схема высокого уровня, которая изображает систему 400 пространственного масштабируемого кодирования для традиционных систем и для некоторых вариантов осуществления, имеющих три слоя разрешения, которая используется для предоставления введения в архитектуру обычной системы пространственного масштабируемого кодирования. Сигнал 401 видеокадра для версии с самым высоким разрешением видеокадра соединяется с двухмерным (2D) дискретизатором 404 с понижением частоты и с кодировщиком 450 слоя улучшения. 2-D дискретизатор с понижением частоты генерирует версию 402, пониженную по частоте, видеокадра, который соединяется с 2-ух мерным дискретизатором 405 с понижением частоты и с кодировщиком 430 слоя улучшения. 2-ух мерный дискретизатор 405 с понижением частоты, который может отличаться от 2-ух мерного дискретизатора 404 с понижением частоты, генерирует версию с самым низким разрешением видеокадра, который соединяется с кодировщиком 410 основного слоя. Кодировщик 410 основного слоя генерирует битовый поток 415 основного слоя в качестве выхода, который соединяется с мультиплексором 420. Кодировщик 430 слоя улучшения использует восстановленную информацию 435 из основного слоя для удаления межслоевых избыточностей и генерирует битовый поток 438 слоя улучшения в качестве выхода для представления закодированного входного видеокадра 402. Битовый поток 438 слоя улучшения также соединяется с мультиплексором 420. Кодировщик 450 слоя улучшения использует восстановленную информацию 445 из следующего низшего слоя для удаления межслоевых избыточностей и генерирует битовый поток 455 слоя улучшения в качестве выхода для представления закодированного входного видеокадра 401. Битовый поток 455 слоя улучшения также соединяется с мультиплексором 420. Мультиплексор 420 мультиплексирует битовый поток основного слоя и два битовых потока 438, 455 слоев улучшения, чтобы сгенерировать масштабируемый битовый поток 440, который переносит кодированную информацию, необходимую для восстановления либо версию с низким разрешением видеокадра, либо версию с более высоким разрешением видеокадра, либо версию с самым высоким разрешением битового потока.
Обратимся к фиг.4, на которой представлена блок-схема высокого уровня, которая изображает систему 500 пространственного масштабируемого декодирования для традиционных систем и для некоторых вариантов осуществления, имеющих два слоя разрешения, которая используется для предоставления введения в архитектуру обычной системы пространственного масштабируемого декодирования. Будет очевидным то, что эта блок-схема высокого уровня близко отражает блок-схему высокого уровня кодировщика 400. Демультиплексор 510 демультиплексирует принятую версию 505 масштабируемого битового потока 440 в принятый битовый поток 515 основного слоя и принятый битовый поток 520 слоя улучшения. Декодер 525 основного слоя декодирует принятый битовый поток 515 основного слоя и генерирует восстанавливаемую версию 530 с низким разрешением первоначального видеокадра. Декодер 540 слоя улучшения декодирует принятый битовый поток 520 слоя улучшения и дополнительно использует восстановленную информацию 535 из основного слоя для генерирования восстанавливаемой версии 545 с высоким разрешением закодированного видеокадра. Специалисту в данной области техники должно быть очевидно то, каким образом была бы сконструирована блок-схема высокого уровня для варианта осуществления, имеющего три слоя разрешения.
Обратимся к фиг.5, на которой блок-схема изображает систему 600 пространственного масштабируемого кодирования для некоторых предложенных вариантов осуществления, имеющих два слоя разрешения. Сигнал 601 видеокадра для версии с самым высоким разрешением видеокадра соединяется с двухмерным (2D) дискретизатором 605 с понижением частоты и с наборами 631 субполосных фильтров анализа кодировщика 630 слоя улучшения. 2-D дискретизатор 605 с понижением частоты генерирует версию 603 с самым низким разрешением исходного видеокадра. Версия 603 с самым низким разрешением соединяется с кодировщиком основного слоя, который содержит кодировщик 610 межслоевой кадровой текстуры. Кодировщик 610 межслоевой кадровой текстуры генерирует битовый поток 615 основного слоя в качестве выхода, который соединяется с мультиплексором 620. Наборы 631 субполосных фильтров анализа генерируют субполосные (вейвлет) коэффициенты версии 601 с самым высоким разрешением видеокадра - они обычно являются субполосами, называемыми в уровне техники как субполосы LL, LH, HL и HH. Кодировщик 633 межслоевой кадровой текстуры использует информацию 635 из основного слоя для удаления межслоевых избыточностей и генерирует битовый поток 438 слоя улучшения в качестве выхода для представления закодированного входного субполосного представления 632. Битовый поток 438 слоя улучшения также соединяется с мультиплексором 620. Мультиплексор 620 мультиплексирует битовый поток 615 основного слоя и битовый поток 438 слоя улучшения, чтобы сгенерировать масштабируемый битовый поток 640, который переносит кодированную информацию, необходимую для восстановления либо версию с низким разрешением видеокадра, либо версию с самым высоким разрешением битового потока. Будет очевидно то, что в варианте осуществления, имеющем больше слоев улучшения, наборы субполосных фильтров анализа каждого кодировщика слоя улучшения выполнены с возможностью генерирования субполосного представления для версии с конкретным качеством исходного видеокадра и получающиеся субполосные коэффициенты таких представлений кодируются кодировщиком кадра межслоевой текстуры на каждом слое улучшения.
Обратимся к фиг.6, на которой блок-схема изображает систему 700 пространственного масштабируемого декодирования для некоторых вариантов осуществления, имеющих два слоя разрешения. Будет очевидным то, что эта блок-схема близко отражает блок-схему кодировщика 600. Демультиплексор 710 демультиплексирует принятую версию 705 масштабируемого битового потока 440 в принятый битовый поток 715 основного слоя и принятый битовый поток 720 слоя улучшения. Принятый битовый поток 715 основного слоя декодируется декодером основного слоя, который содержит декодер 725 межслоевой кадровой текстуры и генерирует восстанавливаемую версию 730 с низким разрешением закодированного видеокадра. Декодер 743 межслоевой кадровой текстуры декодирует принятый битовый поток 720 слоя улучшения и дополнительно использует восстановленную информацию 735 из основного слоя для генерирования восстанавливаемого субполосного представления 745 слоя улучшения. Наборы 747 субполосных фильтров синтеза потом обрабатывают восстанавливаемое субполосное представление 745 слоя улучшения и генерируют синтезированную версию 750 с высоким разрешением закодированного видеокадра. Синтезированная версия 750 с высоким разрешением закодированного видеокадра в конце соединяется с ограничителем 755, который выполняет операцию отсечения над синтезируемым кадром согласно диапазону пиксельных значений. Специалисту в данной области техники должно быть очевидно то, каким образом была бы сконструирована блок-схема более низкого уровня для варианта осуществления, имеющего три или более слоев разрешения.
Обратимся к фиг.7, на которой блок-схема изображает операцию дискретизации с понижением частоты, выполняемую 2-D дискретизаторами 404, 405 и 605 с понижением частоты в соответствие с некоторыми 2-D отдельными двухэлементными вариантами осуществления. Информация 810 о видеокадре (также называемая для большего упрощения, как видеокадр) берется в качестве входа первым одномерным (1-D) фильтром 810, который выполняет вертикальную фильтрацию над отдельными столбцами входного видеокадра и фильтруемый видеокадр затем дополнительно вертикально дискретизируется с понижением на множитель 2 по частоте. Этот получающийся результат 825 затем обрабатывается вторым 1-D фильтром 830, который выполняет горизонтальную фильтрацию над отдельными рядами входного сигнала 825 и фильтруемый сигнал затем дополнительно горизонтально дискретизируется с понижением на множитель 2 по частоте, создавая версию с низким разрешением входного кадра 845 с пониженным на множитель 2 в масштабе размером в каждом пространственном измерении. Типично, такой же 1-D низкочастотный фильтр используется обоими фильтрами 810 и 830. В некоторых вариантах осуществления операция дискретизации с понижением по частоте, как только что было описано, используются для создания версий исходного видеокадра других, чем версия исходного видеокадра, имеющей самое высокое разрешение, начиная с версии с самым высоким разрешением исходного видеокадра, и рекурсивно создавая каждый исходный видеокадр со следующим более низким разрешением из текущей версии, выполняя каскадную двухмерную (2-D) отдельную фильтрацию и операцию дискретизации с понижением частоты, которая использует одномерный низкочастотный фильтр, связанный с каждой версией. В некоторых вариантах осуществления каждый низкочастотный фильтр может быть одним из прореживающего цифрового фильтра MPEG-2 для 2-D отдельной фильтрации с коэффициентами фильтра (-29, 0, 88, 138, 88, 0, -29)/256, прореживающего цифрового фильтра MPEG-4 с коэффициентами фильтра (2, 0, -4, -3, 5, 19, 26, 19, 5, -3, - 4, 0, 2 )/64, как описано в версиях названных документах на 20 октября 2006 или ранее. В некоторых альтернативных вариантах осуществления каждый низкочастотный фильтр является низкочастотным фильтром наборов субполосных фильтров анализа со значениями коэффициентов фильтров дополнительно масштабируемых на масштабирующий множитель. В этих вариантах осуществления низкочастотный фильтр, используемый для генерирования версии с самым низким разрешением видеокадра, может отличаться от слоя к слою и может быть сделан прямо из версии с самым высоким разрешением видеокадра. Эта уникальная особенность обеспечивает гибкость для конструкции дискретизатора с понижением по частоте в создании оптимальных версий с низким разрешением видеокадра.
Обратимся к фиг.8, на которой блок-схема иллюстрирует наборы 631 (фиг.5) субполосных фильтров анализа в соответствие с некоторыми 2-D отдельными двухэлементными вариантами осуществления. Входной видеокадр сначала соответственно обрабатывается низкочастотным фильтром и высокочастотным фильтром, за которым следует операция дискретизации с понижением по частоте вдоль вертикального направления, создавая промежуточные сигналы 910. Промежуточные сигналы 910 затем соответственно обрабатывается низкочастотным фильтром и высокочастотным фильтром, за которым следует операция дискретизации с понижением по частоте вдоль горизонтального направления, создавая четыре субполосы (LL 921, HL 922, LH 923 и HH 924) для версии видеокадра при заданном разрешении. Такая обработка обычно называется вейвлет/субполосным разложением. Наборы субполосных фильтров синтеза являются отраженной версией соответствующих наборов субполосных фильтров анализа. Фильтры, используемые в наборах субполосных фильтрах анализа/синтеза, могут принадлежать к семейству вейвлет фильтров и семейству QMF фильтров. Для системы, которая имеет множество уровней разрешения, каждое множество субполос для представления текущего уровня разрешения может быть синтезировано в из LL субполосы следующего более высокого уровня разрешения. Этот аспект проиллюстрирован на фиг.9, в котором субполосы самого высокого слоя разрешения указываются посредством суффикса -1, и в котором основа или самый низкий слой является LL-2. H и W обозначают, соответственно, высоту и ширину видеокадра с полным разрешением.
Обратимся к фиг.10, на которой блок-схема 1100 последовательности операций способа показывает несколько этапов способа пространственного масштабируемого видеокодирования для сжатия исходного видеокадра в соответствие с некоторыми вариантами осуществления, основываясь, по меньшей мере, частично на описаниях, приведенных выше со ссылкой на фиг.3-9. Способ 1100 является обобщенным для видеокадра, который использует любое количество версий видеокадра, в котором каждая версия имеет уникальное разрешение. На этапе 1105 принимаются версии исходного видеокадра, в которых каждая версия имеет уникальное разрешение. Генерируется битовый поток основного слоя на этапе 1100 посредством кодирования версии исходного видеокадра, имеющей самое низкое разрешение, используя кодировщик основного слоя. Генерируется битовые потоки слоя улучшения на этапе 1115, в которых каждый битовый поток слоя улучшения во множестве генерируется посредством кодирования соответствующей одной из версий исходного видео. Может существовать как несколько, так и один битовый поток слоя улучшения во множестве. Для каждой версии исходного видеокадра кодирование содержит 1) разложение соответствующей одной из версий исходного видеокадра наборами субполосных фильтров анализа на субполосное представление соответствующей одной из версий исходного видеокадра, 2) формирование сигнала межслоевого предсказания, который является представлением восстанавливаемого исходного видеокадра при следующем низшем разрешении; и 3) генерирование битового потока слоя улучшения посредством кодирования субполосного представления кодировщиком межслоевой кадровой текстуры, который использует сигнал межслоевого предсказания. Масштабируемый битовый поток сжимается на этапе 1120 из битового потока основного слоя и множества битовых потоков слоя улучшения с использованием мультиплексора битовых потоков.
Обратимся к фиг.11, на которой блок-схема 1200 последовательности операций способа показывает несколько этапов способа пространственного масштабируемого видеодекодирования для разложения закодированного видеокадра в декодированный видеокадр в соответствие с некоторыми вариантами осуществления, основываясь, по меньшей мере, частично на описаниях, приведенных выше со ссылкой на фиг.3-9. На этапе 1205 битовый поток основного слоя и множество битовых потоков слоя улучшение извлекаются с использованием демультиплексора битовых потоков. На этапе 1210 версия с самым низким разрешением декодируемого видеокадра восстанавливается из битового потока основного слоя с использованием декодера основного слоя. На этапе 1215 восстанавливается множество декодируемых субполосных представлений. Каждое декодируемое субполосное представление во множестве восстанавливается посредством декодирования соответствующего одного из множества битовых потоков слоя улучшения. Для битового потока каждого слоя улучшения декодирование содержит: 1) формирование сигнала межслоевого предсказания, который является представлением восстанавливаемого декодируемого видеокадра при следующем низшем разрешении, и 2) восстановление субполосного представления посредством декодирования слоя улучшения декодером межслоевой кадровой текстуры, который использует сигнал межслоевого предсказания. Декодируемый видеокадр синтезируется из версии с самым низким разрешением декодируемого видеокадра и множества декодируемых субполосных представлений с использованием наборов субполосных фильтров синтеза. На этапе 1225 операция отсечения может быть выполнена над декодируемым кадром согласно диапазону пиксельных значений, принятому для пиксельного представления.
Станет очевидным, что, хотя способы 1100 и 1200 описываются исходя из кодирования и декодирования видеокадра, точно такие же способы применяют кодирование и декодирование изображения, которое не является частью видеопоследовательности.
Видео 603 основного слоя в предложенной системе 600 пространственного масштабируемого кодирования может кодироваться традиционным кодировщиком внутрикадрового видео с единственным слоем, в котором каждый видеокадр кодируется традиционным кодировщиком внутрислоевой кадровой текстуры. Обратимся к фиг.12, на которой изображена блок-схема кодировщика 1300 внутрислоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. Кодировщик 1300 внутрислоевой кадровой текстуры является примером, который можно было бы использовать для кодировщика 610 внутрислоевой кадровой текстуры (фиг.5) в системе 600 пространственного масштабируемого кодирования (фиг.5). Кодировщик 1300 внутрислоевой кадровой текстуры содержит традиционные функциональные блоки, которые взаимно соединены традиционным образом, и, в частности, использует традиционный кодировщик 1310 блочного преобразования для выполнения макроблочного кодирования входного сигнала 1305, чтобы сгенерировать выходной сигнал 1315 и сигнал 1320 межслоевого предсказания. Когда входной сигнал является версией с самым низким разрешением исходного видеокадра, так же как и в варианте осуществления по фиг.5, то выходной сигнал является кодированным битовым потоком основного слоя.
Обратимся к фиг.13, на которой изображена блок-схема декодера 1400 внутрислоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. Декодер 1400 внутрислоевой кадровой текстуры является примером, который можно было бы использовать для декодера 725 внутрислоевой кадровой текстуры (фиг.6) в системе 700 пространственного масштабируемого декодирования (фиг.6). Декодер 1400 внутрислоевой кадровой текстуры содержит традиционные функциональные блоки, которые взаимно соединены традиционным образом, и, в частности, использует традиционный декодер 1410 блочного преобразования для выполнения макроблочного декодирования входного сигнала 1405, чтобы сгенерировать выходной сигнал 1415.
Желательной особенностью является то, чтобы битовый поток основного слоя от системы пространственного кодирования являлся совместимым с немасштабируемым битовым потоком от традиционной системы кодирования с единственным слоем. В некоторых варрантах осуществления декодер 1400 внутрислоевой кадровой текстуры является внутрикадровым декодером, описанным в версиях стандартов MPEG-1, MPEG-2, MPEG-4, Н.261, Н.263, MPEG-4 AVC/Н.264 и JPEG, как опубликовано на 20 октября 2006 или ранее).
Различные способы сжатия субполосных/вейвлет коэффициентов преобразованного изображения представлены в литературе. Например, алгоритм на основе нулевого дерева используется инструментом вейвлет кодирования визуальных текстур (VTC) MPEG-4 (как опубликовано на 20 октября 2006 или ранее). JPEG2000 принял алгоритм EBCOT (версия, опубликованная на 20 октября 2006 или ранее), который является схемой многопроходного адаптивного к контексту кодирования для кодирования отдельных битовых плоскостей вейвлет коэффициентов. Уникальный и полезный аспект некоторых наших вариантов изобретений заключается в эффективной эксплуатации традиционных видеоинструментов для эффективной реализации предложенной системы субполосного/вейвлет кодирования. В частности, инструменты DCT макроблочного кодирования, разработанные для кодирования пиксельных отсчетов в текущих стандартов видеокодирования, используются для кодирования субполосных/вейвлет коэффициентов в этих вариантах осуществления. Таким образом предложенные методики масштабируемого кодирования могут быть реализованы с низкими затратами посредством многократного повторного использования существующих видеоинструментов.
Обратимся к фиг.14, на которой изображена блок-схема кодировщика 1500 межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. Кодировщик 1500 межслоевой кадровой текстуры является примером, который можно было бы использовать для кодирования кадра слоя улучшения в традиционной системе масштабируемого видеокодирования. Он используется в качестве кодировщика 633 межслоевой кадровой текстуры (фиг.5) для кодирования разложенного на субполосы кадра слоя улучшения в некоторых вариантах осуществления предложенной системы 600 пространственного масштабируемого кодирования (фиг.5). Кодировщик 1500 межслоевой кадровой текстуры содержит традиционные функциональные блоки - в частности традиционный кодировщик 1510 блочного преобразования - для выполнения макроблочного кодирования входного сигнала 1505, чтобы сгенерировать выходной сигнал 1515. Входной сигнал 1505 типично является субполосным представлением версии видеокадра, имеющей другое разрешение, чем самое низкое разрешение, такое как субполосное представление 632 сигнала 601 с полным разрешением в системе 600 пространственного масштабируемого кодирования. Субполосное представление последовательно разделяется на множество блочных субполосных представлений для неперекрывающихся блоков, дополнительно содержащее кодирование блочного субполосного представления для каждого неперекрывающегося блока кодировщиком межслоевой кадровой текстуры. Блоки могут являться теми блоками, которые обычно называются макроблоками. Выходной сигнал 1515 является битовым потоком слоя улучшения, содержащим блочную кодированную ошибку предсказания субполосного представления 632 и 1505. Блочная кодированная ошибка предсказания может быть сформирована посредством блочного кодирования разницы субполосного представления на входе 1505 в кодировщик 1500 межслоевой кадровой текстуры и сигналом 1520 предсказания, который выбирается из одного из межслоевого предсказателя 1525 и пространственного предсказателя 1530 на одном блоке посредством блочной основы, используя буфер 1535 кадров, хранящий кадр, который восстанавливается в течение процесса декодирования на блочной основе. Тип сигнала предсказания, который оказался выбранным для каждого блока, указывается идентификатором 1540 режима в синтаксическом элементе битового потока 1515. В некоторых из этих вариантов осуществления сигнал 1526 межслоевого предсказания устанавливается на ноль для субполос самых высоких частот.
Обратимся к фиг.15, на которой изображена блок-схема декодера 1600 межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. Декодер 1600 межслоевой кадровой текстуры является примером, который можно было бы использовать для декодера 743 межслоевой кадровой текстуры (фиг.6) в системе 700 пространственного масштабируемого декодирования (фиг.6). Декодер 1600 межслоевой кадровой текстуры содержит традиционные функциональные блоки - в частности традиционный декодер 1610 блочного преобразования - для выполнения макроблочного декодирования входного сигнала 1605, чтобы сгенерировать выходной сигнал 1615. Входной сигнал 1605 типично является битовым потоком 1515 слоя улучшения как описано выше со ссылкой на фиг.14. Битовый поток применяется в декодере 1610 блочного преобразования, который генерирует блочную декодированную ошибку предсказания субполосного представления. Блоки могут являться теми блоками, которые обычно называются макроблоками. Используя указание 1640 режима, полученное из синтаксического элемента битового потока, декодер 1600 межслоевой кадровой текстуры адаптивно генерирует сигнал 1620 субполосного представления на одном блоке посредством блочной основы посредством одного из межслоевого предсказателя 1625 и пространственного предсказателя 1630. Сигнал предсказания добавляется к ошибке субполосного предсказания на блочной основе для генерирования декодируемого субполосного представления версии исходного кадра, имеющей другое разрешение, чем самое низкое разрешение. В некоторых из этих вариантов осуществления сигнал межслоевого предсказания устанавливается на ноль для субполос самых высоких частот.
В некоторых из этих вариантах осуществления, кодировщик 1600 межслоевой кадровой текстуры содержит внутрислоевый декодер слоя улучшения, описанный в одном из стандартов MPEG-2, MPEG-4, H.263 версия 2, MPEG-4 Part 10 AVC/H.264 Изменения 3 (Масштабируемое Видеорасширение), но без операции отсечения, выполняемой над декодируемым сигналом во внутрислоевом кодировщике. В некоторых из вариантов осуществления, множество битовых потоков слоя улучшения совместимо с Изменениями 3 (Масштабируемое Видеорасширение) стандарта MPEG-4 Part 10 AVC/H.264.
Обратимся к фиг.16, на которой блок-схема изображает еще один кодировщик 1700 межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. По сравнению с кодировщиком 1500 межслоевой кадровой текстуры, кодировщик 1300 внутрислоевой кадровой текстуры (фиг.12), который является более широко доступным для приложений традиционного видеокодирования, используется для построения кодировщика межслоевой кадровой текстуры. В этих вариантах осуществления, кодировщик 1300 внутрислоевой кадровой текстуры кодирует разностный (ошибки предсказания) сигнал 1725, который является разницей между субполосным представлением 1705 и сигналом 1720 межслоевого предсказания для генерирования выходного битового потока 1715.
Обратимся к фиг.17, на которой блок-схема изображает еще один декодера 1800 межслоевой кадровой текстуры в соответствие с некоторыми вариантами осуществления. Декодер 1800 межслоевой кадровой текстуры имеет архитектуру, которая зеркально отражает кодировщик 1700 межслоевой кадровой текстуры. Декодер 1800 межслоевой кадровой текстуры содержит декодер 1400 внутрислоевой кадровой текстуры (фиг.13), который генерирует разностный сигнал 1825 (ошибку предсказания) из слоя 1805 улучшения, а субполосное представление 1815 генерируется посредством добавления сигнала 1820 межслоевого предсказания к разностному сигналу 1825.
В некоторых вариантах осуществления, битовые потоки уровня улучшения содержат синтаксический элемент, указывающий количество уровней субполосного разложения для представления видеокадра слоя улучшения. Таким образом количество субполосных уровней может быть по отдельности оптимизировано для каждого кадра слоя улучшения для самый лучшей производительности кодирования.
Обратимся к фиг.18, на которой диаграмма использует представления закодированных слоев, чтобы изобразить их отношения, например, видеокадра, который был закодирован в три пространственных масштабируемых слоя, n=0, n=1 и n=2, в соответствие с некоторыми из предложенных вариантов осуществления. Когда в качестве нормированного субполосного низкочастотного фильтра анализа принимают низкочастотный фильтр 800 (фиг.7) для дискретизации изображения с понижением по частоте на основном слоя также как и для фильтров анализа в наборах 900 фильтров анализа, то масштабные версии выходных сигналов (921 по фиг.8 и 846 по фиг.7) по существу являются такими же, а низкочастотный разностный сигнал 1506 (фиг.14) сводится к ошибке квантования. Затем мы можем просто пропустить кодирование текстуры разностного сигнала над низкочастотной субполосной областью LL 310, 315 на фиг.18, если усредненное масштабное искажение от следующих более низких слоев (два более низких слоя в примере на фиг.18) находится вблизи, либо ниже уровня оптимального искажения для назначенной битовой скорости, либо параметров квантования на текущем слое улучшения. Критическая особенность дискретизации в субполосном/вейвлет кодировании таким образом удерживается для достижения самой лучшей эффективности сжатия и сниженных издержек на сложность. Тем не менее в отличие от традиционных систем субполосного/вейвлет кодирования изображения предложенный вариант осуществления внутрикадрового масштабируемого кодирования, схожий с пирамидальным кодированием, располагает степенью свободы для проектирования оптимального фильтра дискретизации с понижением по частоте в кодировщике для генерирования желаемого исходного видео со сниженным разрешением для целевых приложений. Получающаяся разница 1506 (фиг.14) между первоначальным низкочастотным субполосным сигналом 846 (фиг.8) и масштабным кадром 921 основного слоя может быть скомпенсирована посредством закодированного низкочастотного субполосного разностного сигнала 310, 315 (фиг.18).
Фиг.18 можно сравнить с фиг.1 и 2, чтобы увидеть разницу между закодированными сигналами, используемыми в пирамидальном кодировании, субполосном/вейвлет кодировании и предложенном подходе масштабируемого кодирования, соответственно. На фиг.18 изображено, что разница между первоначальным низкочастотным субполосным сигналом и масштабным кадром основного слоя может быть скомпенсирована посредством закодированного низкочастотного субполосного разностного сигнала. Разностное кодирование низкочастотных субполос, как указано пунктирными областями на фигуре, является оптимальным лишь только в предложенных вариантах осуществления. Разностное кодирование низкочастотных субполос можно использовать для дальнейшего снижения ошибки квантования, поданной обратно от более низкого слоя. Разностное кодирование низкочастотных субполос можно использовать для компенсации разницы между первоначальным низкочастотным субполосным сигналом 846 (фиг.8) и масштабным кадром 921 основного слоя (фиг.8), вызванной фильтровой разницей между фильтром дискретизации с понижением по частоте, который генерирует версию с самым низким разрешением исходного кадра и низкочастотным фильтром анализа, который генерирует субполосное представление текущего слоя улучшения.
В некоторых вариантах осуществления, создание версий исходного видеокадра, других чем версия исходного видеокадра, имеющая самое высокое разрешение, осуществляется, начиная с версии с самым высоким разрешением исходного видеокадра, и рекурсивно создавая каждый исходный видеокадр со следующим более низким разрешением из текущей версии, выполняя каскадную двухмерную (2-D) отдельную фильтрацию и операцию дискретизации с понижением частоты, в которой одномерный низкочастотный фильтр связан с каждой версией и, по меньшей мере, один фильтр дискретизации с понижением частоты отличается от низкочастотного фильтра набора фильтров субполосного анализа, который генерирует субполосные представления для версии разрешений исходного кадра, которая является следующей более высокой, чем самое низкое разрешение. В некоторых вариантах осуществления разностное кодирование низкочастотной субполосы можно использовать, как описано выше, для компенсации разницы между первоначальным низкочастотным субполосным сигналом 846 (фиг.7) и масштабным кадром 921 основного слоя (фиг.8).
Некоторые из способов, описанных выше со ссылкой на фиг.3-18, полностью реализованы с использованием версии JSVM 6_8_1 опорного программного обеспечения для JVT JSVM. Тестовое условие Внутреннего кодирования в заданном посредством JVT основном эксперименте (CE) над предсказанием межслоевой текстуры для пространственной масштабируемости было принято для оценки предложенного алгоритма. Четыре тестовые последовательности АВТОБУС, АМЕРИКАНСКИЙ ФУТБОЛ, ПРОРАБ и ПЕРЕДВИЖНОЙ (BUS, FOOTBALL, FOREMAN и MOBILE) кодируются при разнообразии комбинаций QP (параметров квантования) основного слоя и слоя улучшения. Эталонные результаты CE были предоставлены координатором CE с использованием опорного программного обеспечения JSVM 6_3.
Для тестовых результатов, указанных посредством JVT-Uxxx на фиг.19 9/7 фильтров Добеши (Daub.) использовались для вейвлет анализа/синтеза (те же самые дробные вейвлет фильтры приняты в JPEG 2000) кадров более высоких слоев. Кодировщик использовал тот же самый низкочастотный фильтр для двухэлементной дискретизацией с понижением частоты входного внутреннего кадра. Кодирование всей низкочастотной полосы было пропущено. Каждый сегмент кривой отображает полученные результаты, кодированные теми же самыми значениями основных QP и четырьмя другими QP улучшения. Вторая тестовая точка на каждом сегменте оказывается, соответствует оптимальной комбинации основных QP и QP улучшения из ощущения искажения скорости для данного QP основного слоя. Как можно видеть, предложенные алгоритмы значительно превзошли полученные результаты, относящиеся к JSVM, когда скорость кодирования улучшения не была далеко от точки оптимальной работы.
Для генерирования тестовых результатов на фиг.20 использовались те же самые установки наборов фильтров, как и в предыдущем эксперименте, но низкочастотная полоса кодировалась для дальнейшего очищения и коррекции низкочастотного сигнала. Как можно видеть, предложенный способ предоставил гладкую кривую искажения скорости и следовательно превзошел результаты, относящиеся к JSVM. Наиболее важно то, что получающаяся производительность кодирования улучшения не изменялась сильно в отношении значения основного QP в очевидную противоположность соответствующим результатам JSVM.
Для тестовых результатов по фиг.21 низкочастотный фильтр AVC использовался для генерирования видео с низким разрешением и кодирование области изображения с низкочастотной полосой не пропускалось. Как можно видеть полученные результаты являются почти такими же хорошими, как и результаты, относящиеся к JSVM. Снижение производительности против относительных результатов с фиг.5 считается разумным, потому что фильтр AVC дискретизации с понижением частоты и низкочастотный субполосный фильтр имеют очень разные частотные характеристики.
В. Кодирование с Масштабированием по Качеству и Объединенное Масштабируемое Кодирование
Предложенная база субполосного/вейвлет внутрикадрового кодирования, подробно описанная ранее, может быть дополнительно расширена для приложений масштабируемого по качеству/битовой скорости видеокодирования. Масштабируемый по качеству битовый поток, состоящий из битового потока основного слоя и оного или множества битовых потоков слоя улучшения, в частности полезен для предоставления видеоуслуг через разнородное сетевое окружение на разных скоростях кодирования битов. Скорость кодирования битов сжатого видеосигнала может быть гибко адаптирована к ограничению полосы пропускания для передачи посредством отбрасывания элементов битового потока, или пакетов, слоев улучшения качества.
В одном варианте осуществления слой основного качества в предложенной системе масштабируемого по качеству кодирования дополнительно содержит множество масштабируемых по разрешению слоев, представляя субполосно/вейвлет преобразованный входной видеокадр согласно предложенному способу пространственного масштабируемого кодирования, описанному в Разделе А. Таким образом, слой основного качества может кодироваться в субполосном преставлении в то время как осуществляется поддержание основного слоя совместимым с традиционным немасштабируемым кодированием при сниженном разрешении. Отдельные слои улучшения качества могут также представлены субполосными/вейвлет коэффициентами и являются кодируемыми традиционным кодировщиком межслоевой кадровой текстуры, описанным выше. В нем сигнал межслоевого предсказания формируется из грубо кодированного субполосного представления следующего слоя с более низким качеством.
Способ дополнительно изображен на фиг.22 для масштабируемого кодирования в три слоя качества и два уровня субполосного разложения согласно некоторым вариантам осуществления. Как показано, слой основного качества содержит три масштабируемых по разрешению слоя, каждый для представления субполосных коэффициентов из того же самого масштаба разрешения при уровне грубого качества. Каждое улучшение качества дополнительно кодирует ошибку кодирования из предыдущего слоя с более мелким размером шага квантования, обеспечивая возможность пошагового уточнения грубо кодированных субполос. Таким образом, закодированное видео может быть восстановлено на трех различных уровнях качества из единственного масштабируемого потока в зависимости от количества слоев улучшения, в итоге включенных в состав конечного принятого битового потока.
Обратимся к фиг.23, на которой блок-схема изображает примерный вариант осуществления системы 2300 масштабируемого по качеству кодирования согласно слоистой структуре масштабируемого кодирования, изображенной на фиг.22. В общем вся система состоит из слоя основного качества и двух слоев улучшения качества для создания масштабируемого по качеству битового потока для декодирования на трех разных уровнях видеокачества. Слой основного качества дополнительно содержит три масштабируемых по разрешению слоев и кодируется способом пространственного масштабируемого кодирования, как было изображено ранее на фиг.5, в два слоя. Входной видеокадр сначала обрабатывается 2-D дискретизатором 2305 с понижением частоты для генерирования версии входного видеокадра при сниженном разрешении по каждому пространственному измерению, а выходной кадр с низким разрешением затем 2-D дискретизируется с понижением частоты для генерирования версии 2303 с самым низким разрешением входного видеокадра. Версия 2303 с самым низким разрешением обрабатывается кодировщиком основного слоя, который содержит кодировщик 2310 межслоевой кадровой текстуры. Кодировщик 2310 межслоевой кадровой текстуры генерирует битовый поток 2315 основного слоя в качестве выхода, который соединяется с мультиплексором 2320. На каждом слое 2330 улучшения (указаны пунктирным блоком) наборы 2331 субполосных фильтров анализа берут версию, относящуюся к входному видеокадру, и генерируют субполосные (вейвлет) коэффициенты. Кодировщик 2333 межслоевой кадровой текстуры использует информацию 2335 от предыдущего слоя для удаления межслоевых избыточностей и генерирует битовый поток 2338 слоя улучшения в качестве выхода для представления закодированного входного субполосного представления 2332. Битовый поток 2338 слоя улучшения также соединяется с мультиплексором 2320. Мультиплексор 2320 мультиплексирует битовый поток 2315 основного слоя и битовые потоки 2338 слоя улучшения, чтобы сгенерировать масштабируемый битовый поток 2340, который переносит кодированную информацию, необходимую для восстановления закодированного видео при других уровнях качества и другом разрешении. Будет очевидно то, что в варианте осуществления, имеющем больше слоев улучшения, тот же самый способ кодирования слоя улучшения может быть применен. То есть наборы субполосных фильтров анализа каждого кодировщика слоя улучшения выполнены с возможностью генерирования субполосного представления для версии с конкретным разрешением исходного видеокадра и получающиеся субполосные коэффициенты таких представлений кодируются кодировщиком кадра межслоевой текстуры на каждом слое улучшения с использованием информации, предоставленной предыдущим слоем. Вариант осуществления, изображенный на фиг.23, использует схожие компоненты, что и компоненты, изображенные на фиг.5, но в частности является адаптированным для приложений с масштабируемым по качеству кодированием и объединенному масштабируемому кодированию. Работа этих компонентов системы описывается в Разделе А.
Обратимся к фиг.24, на которой блок-схема 2400 последовательности операций способа показывает несколько этапов способа масштабируемого по качеству видеокодирования для сжатия исходного видеокадра в соответствие с некоторыми вариантами осуществления, основываясь, по меньшей мере, частично на описании выше со ссылкой на фиг.22 и 23. На этапе 2405 генерируется битовый поток слоя основного качества посредством кодирования исходного видеокадра на уровне качества или скорости кодирования битов, заданных самыми низкими. На этапе 2410 генерируется множество битовых потоков слоя улучшения качества посредством кодирования исходного видеокадра на множестве из возрастающих уровней качества или скоростей кодирования битов. В упомянутом множестве может находиться как несколько, так и один битовый поток слоя улучшения. Для каждого улучшения кодирование содержит 1) разложение исходного видеокадра посредством наборов субполосных фильтров анализа на субполосное представление исходного видеокадра; 2) формирование сигнала межслоевого предсказания, который является представлением восстанавливаемого видеокадра из следующего слоя более низкого качества и 3) генерирование битового потока слоя улучшения качества посредством кодирования субполосного представления кодировщиком межслоевой кадровой текстуры, который дополнительно использует сигнал межслоевого предсказания для удаления межслоевой избыточности. На этапе 2415 компонуется масштабируемый битовый поток из битового потока слоя основного качества и множества битовых потоков слоя улучшения качества с использованием мультиплексора битовых потоков.
Обратимся к фиг.25, на которой блок-схема 2500 последовательности операций способа показывает несколько этапов способа масштабируемого по качеству видеодекодирования для разложения закодированного видеокадра в соответствие с некоторыми вариантами осуществления, основываясь, по меньшей мере, частично на описании выше со ссылкой на фиг.22 и 23. На этапе 2505 пакеты, содержащие закодированные коэффициенты, относящиеся к запрашиваемому разрешению и/или уровню качества, извлекаются из масштабируемого битового потока с использованием синтаксического анализатора битового потока. На этапе 2510 версия основного качества декодируемого видеокадра восстанавливается из извлеченных пакетов битового потока слоя основного качества. На этапе 2515 восстанавливается множество декодируемых субполосных представлений возрастающего уровня качества, причем каждое декодируемое субполосное представление во множестве восстанавливается посредством декодирования извлеченных пакетов соответствующего одного из множества битовых потоков слоя улучшения. Для каждого битового потока слоя улучшения декодирование содержит 1) формирование сигнала межслоевого предсказания, который является представлением восстанавливаемого видеокадра из следующего слоя более низкого качества; и 2) восстановление субполосного представления посредством декодирования извлеченных пакетов из соответствующего слоя улучшения декодером межслоевой кадровой текстуры, который дополнительно использует сигнал межслоевого предсказания для удаления межслоевой избыточности. На этапе 2520 декодируемый видеокадр синтезируется из декодируемого субполосного представления на конечном слое улучшения с использованием наборов субполосных фильтров синтеза. На этапе 2525 операция отсечения может быть выполнена над декодируемым видеокадром согласно диапазону пиксельных значений, принятых для пиксельного представления.
Так как слои улучшения качества, представленные субполосами, как изображено на фиг.22, по сути являются масштабируемыми по разрешению, ранее описанный способ может дополнительно применяться для объединенного масштабируемого кодирования. В этом случае субполосные/вейвлет коэффициенты могут дополнительно группироваться согласно субполосному разделению или масштабу разрешения и затем кодироваться в отдельные пакеты битового потока. Например, в предпочтительном варианте осуществления, построенном на инструментах H.264/AVC кодирования, субполосные макроблоки могут разделяться посредством карты группы слайсов, согласующейся со структурой субполосного разложения и представленной отдельными элементами NAL. Таким образом закодированные субполосы содействующие интересам заданных уровней разрешения могут быть легко извлечены из относящихся к этому элементов NAL, и получающийся масштабируемый по качеству битовый поток является дополнительно масштабируемым по разрешению. Мы можем приспособить дополнительную пространственную масштабируемость почти без каких-либо потерь производительности и таким образом способны эффективно достичь масштабируемого декодирования при широком разнообразии битовой скорости и выборами разрешения посредством единственного масштабируемого битового потока, в очевидную противоположность к традиционной системе слоистого основанного на DPCM внутрикадрового видеокодирования, которая может в общем предоставить только маленькое количество разных вариантов битовых скоростей/разрешений масштабируемого декодирования.
Более подробно, в варианте осуществления, построенном на инструментах кодирования MPEG-4 AVC/H.264, предложенная система субполосного/вейвлет кодирования может работать критических установках классической вейвлет дискретизации. Затем получающаяся система имеет то же самое полное число отсчетов (дискретов) для обработки/кодирования как и количество исходных отсчетов и функционирует точно также, как традиционный кодировщик с единственным слоем без какого-либо сжатия и издержек на сложность. Также важно упомянуть, что субполоса в такой системе в действительности кодируется посредством кодирование с преобразованием, когда режим межслоевого предсказания, I_BL, исключительно выбирается для каждого макроблока в пределах субполосной области. Это происходит, потому что I_BL макроблочное кодирование только лишь выполняет уточнение закодированных отсчетов, не привлекая пространственного предсказания из смежных закодированных отсчетов. Таким образом можно выбрать все субполосы, за исключением самой низкочастотной субполосы в основном слое, совместимым с MPEG-4 AVC/AVC, закодированные посредством подхода кодирования с преобразованием. Таким образом, посредством повторно использования существующих инструментов кодирования MPEG-4 AVC/H.264 для работы с добавленными наборами субполосных фильтров, можно обеспечить стандарт MPEG-4 AVC/H.264 новым способом внутрикадрового кодирования, который первоначально основан на альтернативной парадигме кодирования с преобразованием с дополнительной пространственной масштабируемостью и другими желаемыми преимуществами и полезный для приложений как масштабируемого так и традиционного внутрикадрового кодирования с единственным слоем. Кроме того, этот новый способ внутри кадрового кодирования не несет в себе издержки традиционного масштабируемого кодирования и является освобожденным от дрейфа, распространения ошибок и сложного процесса выбора режима, связанного с текущим внутрикадровым гибридным кодированием MPEG-4 AVC/H.264.
В система 2300 масштабируемого по качеству кодирования, воплощенной на фиг.23, в своей упрощенной форме, она может включать в себя: кодировщик слоя основного качества для генерирования битового потока слоя основного качества посредством кодирования исходного видеокадра на уровне качества или скорости кодирования битов, заданных самыми низкими; кодировщик слоя улучшения для генерирования множества битовых потоков слоя улучшения на множестве из возрастающих уровней качества или скоростей кодирования битов, при этом кодировщик слоя улучшения содержит наборы субполосных фильтров анализа для разложения исходного видеокадра посредством наборов субполосных фильтров анализа на субполосное представление исходного видеокадра, и кодировщик межслоевой кадровой текстуры для генерирования битового потока слоя улучшения посредством кодирования субполосного представления с использованием сигнала межслоевого предсказания, при этом кодировщик межслоевой кадровой текстуры дополнительно содержит межслоевой предсказатель для формирования сигнала межслоевого предсказания, который является представлением восстанавливаемого видеокадра из следующего слоя более низкого качества; и мультиплексор битовых потоков для компоновки масштабируемого битового потока из битового потока слоя основного качества и битовых потоков слоя улучшения. Эта система 2300 в частности адаптирована для эффективного приспособления к масштабируемости по качеству и объединенной масштабируемости.
Способ можно использовать для сжатия изображения, видеокадра и тому подобного.
В одном варианте осуществления фильтры в наборах субполосных фильтров анализа принадлежат к одному из семейства вейвлет фильтров и семейству квадратурных зеркальных фильтров (QMF). Это обеспечивает эффективные установки фильтра для приложений сжатия видеоизображения.
В еще одном варианте осуществления кодировщик межслоевой кадровой текстуры содержит кодировщик блочного преобразования. Например, в одном варианте осуществления субполосное представление может быть последовательно разделено на множество блочных субполосных представлений для неперекрывающихся блоков, дополнительно содержится кодирование блочного субполосного представления для каждого неперекрывающегося блока посредством кодировщика межслоевой кадровой текстуры, и кодирование блочного субполосного представления дополнительно содержит: формирование сигнала пространственного предсказания из восстановленных соседних субполосных коэффициентов; выбор сигнала предсказания между сигналом межслоевого предсказания и сигналом пространственного предсказания адаптивно для каждого блока; и кодирование кодировщиком блока преобразования сигнал ошибки предсказания, то есть разницу блочного субполосного представления и выбранного сигнала предсказания для каждого блока. При такой схеме расположения можно обеспечить возможность использования традиционных инструментов кодирования видеоблока, для сжатия субполосных коэффициентов, в приложениях масштабируемого по качеству кодирования, например.
В одном варианте осуществления кодировщик межслоевой кадровой текстуры содержит внутрикадровый кодировщик слоя улучшения, определенный в расширении масштабируемого видео до стандарта MPEG-4 Part 10 AVC/H.264, и макроблочные режимы выбираются в качестве I_BL для всех макроблоков. Преимущественно, этот вариант осуществления совместим с MPEG-4 Part 10 AVC/H.264. В некоторых альтернативных вариантах осуществления способ может дополнительно применяться для других более ранних стандартов масштабируемого кодирования, которые основаны на традиционной базе слоистого DPCM DCT, такого как MPEG-2, 4 и второй версии H.263. Должно быть понятно, что он также может иметь применение за пределами этих частных стандартов. Таким образом, в одном варианте осуществления потребуются минимальные модификации или вообще никаких модификаций не потребуется для совместимости со стандартом.
В одной схеме расположения кодировщик межслоевой кадровой текстуры содержит кодировщик внутрислоевой кадровой текстуры, который кодирует разностный сигнал, то есть разницу между субполосным представлением и сигналом межслоевого предсказания. При такой схеме расположения этот вариант осуществления можно было бы реализовать посредством схемы кодирования с единственным слоем, как это обычно используется на рынке.
В одном варианте осуществления битовые потоки слоя улучшения содержат синтаксический элемент, указывающий количество уровней разложения каждого слоя улучшения, и таким образом количество субполосных уровней может быть по отдельности оптимизировано для каждого кадра слоя улучшения для самой лучшей производительности кодирования.
В одном варианте осуществления каждый слой качества битового потока дополнительно содержит один или более одного масштабируемых по разрешению слоев. Преимущественно это может обеспечить альтернативную схему расположения битовых потоков для кодирования масштабируемого по качеству слоя, полезного в некоторых приложениях. Более подробно битовый поток качества может соответствовать слою низкого разрешения слоя основного качества и может существенно быть совместимым с одним из стандартов MPEG-11, MPEG-2, MPEG-4 и H.264/AVC.
Еще в одном варианте осуществления, блоки субполосных коэффициентов дополнительно сгруппированы согласно карте группы слайсов, как определено в H.264/AVC, которая дополнительно согласуется с субполосным разделением или масштабом разрешения субполосного представления и различные группы коэффициентов кодируются в разные пакеты битового потока. Этот вариант осуществления может быть полезным для применений в различных стандартах.
Как показано на фиг.25 способ масштабируемого по качеству видеодекодирования для распаковки закодированного видеокадра в декодируемый видеокадр, содержащий этапы, на которых: извлекают пакеты, относящиеся к запрашиваемому разрешению и/или уровню качества, из масштабируемого битового потока с использованием синтаксического анализатора битового потока; восстанавливают версию основного качества декодируемого видеокадра из извлеченных пакетов битового потока слоя основного качества; восстанавливают множество декодируемых субполосных представлений возрастающего уровня качества, в котором каждое декодируемое субполосное представление в множестве восстанавливают посредством того, что декодируют извлеченные пакеты из соответствующего одного из множества битовых потоков слоя улучшения, причем для битового потока каждого слоя улучшения формируют сигнал межслоевого предсказания, который является представлением восстанавливаемого видеокадра из следующего слоя более низкого качества, и восстанавливают субполосное представление посредством того, что декодируют слой улучшения декодером межслоевой кадровой текстуры, который использует сигнал межслоевого предсказания для удаления межслоевой избыточности; и синтезируют декодируемый видеокадр из декодируемого субполосного представления на конечном слое улучшения с использованием наборов субполосных фильтров синтеза; и выполняют операцию отсечения над синтезируемым видеокадром согласно диапазону пиксельных значений. Этот способ имеет использование в релевантных стандартах.
В одном варианте осуществления способ может дополнительно содержать синтаксический анализатор битового потока, который берет масштабируемый битовый поток в качестве входного и генерирует выходной битовый поток посредством удаления пакетов высокочастотных субполос, не относящихся к запрашиваемому разрешению для декодируемого видео, в котором входной масштабируемый битовый поток включает в себя пакеты для предоставления закодированных субполосных коэффициентов, сгруппированных согласно карте слайсной группы, как определено в H.264/AVC, которая дополнительно согласуется с субполосным разделением или масштабом разрешения субполосного представления. Этот способ имеет использование в релевантных стандартах. Этот способ имеет применение в релевантных стандартах, а также и в нестандартных приложениях.
Синтаксический анализатор битового потока, согласно некоторым вариантам осуществления, берет масштабируемый битовый поток в качестве входного и генерирует выходной битовый поток посредством удаления пакетов высокочастотных субполос, не относящихся к запрашиваемому разрешению для декодируемого видео, в котором входной масштабируемый битовый поток включает в себя пакеты для предоставления закодированных субполосных коэффициентов, сгруппированных согласно карте слайсной группы, как определено в H.264/AVC, которая дополнительно согласуется с субполосным разделением или масштабом разрешения субполосного представления.
Обратимся теперь к результатам моделирования, изображенных на фиг.26 и 27, некоторые из способов, описанных выше со ссылками на фиг.22-25 были полностью реализованы на основе 9-ой версии опорного программного обеспечения JSVM для SVC (CVS tag JSVM_8_9). Наборы 9/7 фильтров CDF (Добеши) синтеза были приняты предложенным декодером для синтеза закодированного субполосного представления. Все субполосы на слоях улучшения кодировались исключительно с использованием I_BL макроблочного режима. Модифицированное программное обеспечение JSVM, основанное на предложенном алгоритме, оценивалось против первоначального программного обеспечения JSVM посредством обширных экспериментов кодирования. Исходные тестовые последовательности ГОРОД, ЭКИПАЖ, ПОРТ и ФУТБОЛ (CITY, CREW, HARBOUR and SOCCER) при разрешении 4CIF были приняты для моделирования. Каждая тестовая последовательность содержала 150 кадров и была закодирована внутри при 15 кадрах в секунду (fps). Та же самая настройка файлов конфигурации и вариантов кодировщика использовались для генерирования результатов первоначального JSVM и модифицированного JSVM. Кроме того, мы также предоставляем результаты, относящиеся к кодированию с единственным слоем, с использованием того же самого программного обеспечения JSVM с включенной опцией “FRExt” кодировщика (установлены 8х8 внутренних предсказателя и включены 8х8 преобразований DCT), соответствующие внутрикадровому кодированию H.264/AVC при высоком профиле без использования метрик масштабирования.
Фиг.26 сравнивает результаты PSNR предложенного JSVM-SBC и опорного JSVM для последовательностей 4CIF масштабируемого по SNR кодирования на четырех слоях. Результаты JSVM-SBC и JSVM генерировались с использованием режима кодирования энтропии CABAC с опцией “FRExt” кодировщика, включенной для всех слоев. Коэффициенты преобразования квантуются при фиксированных QP на каждом слое CGS со значением QP, установленным равным 42, 36, 30 и 24 от слоя 0 до 3, соответственно. Для дальнейшего сравнения с традиционным немасштабируемым кодированием мы также предоставили результаты, относящиеся к кодированию JSVM единственного слоя, указанными на фигуре как «единственный слой JSVM”. Как показано на фиг.26, предложенный алгоритм, основанный на подходе кодирования с преобразованием, превзошел первоначальный JSVM для всех тестовых результатов, и усовершенствование увеличивается с количеством слоев. Для кодирования последовательностей ПОРТ и ФУТБОЛ результаты RSNR предложенного JSVM-SBC в действительности оказываются очень близки к соответствующим результатам с единственным слоем.
Фиг.27 дополнительно сравнивает производительность скорости кодирования предложенного алгоритма и опорного JSVM для CGS кодирования в четырех слоях с использованием CABAC, где время кодирования измерялось на мобильной рабочей станции Windows с процессором Intel Pentium M 2.0 GHz и 1.0 ГБ оперативной памяти. Как изображено, кодировщик JSVM, вовлекающий сложный процесс режима принятия решения о внутреннем предсказании, является намного медленнее предложенного субполосного кодировщика. Необходимо отметить, что этот эксперимент предназначался лишь для иллюстрации преимущества в скорости предложенного алгоритма. Такая же основа программного обеспечения JSVM, использованная для реализации обоих способов, не оптимизировалась для производительности скорости.
Будет понятным, что в составе вариантов осуществления изобретения, описанного в данном документе, могут содержаться один или более процессоров и уникальные сохраненные программные команды, которые управляют одним или более процессорами для реализации совместно с некоторыми не процессорными схемами несколько, большинство или все функции вариантов осуществления изобретения, описанного в данном документе. Как таковые, эти функции могут интерпретироваться в качестве этапов способа для выполнения распаковки и сжатия видео. В качестве альтернативы некоторые или все функции могли бы быть реализованы на конечном автомате, который не имеет сохраненных программных команд, либо на одном или более интегральных схем под конкретное приложение (ASIC), в которых каждая функция или некоторые комбинации некоторых функции реализуются в качестве логической схемы. Конечно, комбинация этих подходов можно было бы использовать. Таким образом, способы и средства для этих функций были описаны в данном документе. В этих ситуациях, для которых функции вариантов осуществления изобретения могут быть реализованы с использованием процессора и сохраненных программных команд, будет очевидным, что одно средство для реализации таких функций является носителем информации, который хранит сохраненные программные команды, будь это магнитное средство хранения или сигнал переносящий файл. Дополнительно, ожидается, что обычный специалист в данной области техники, несмотря на возможное значительное усилие и множественные выборы конструкций, побужденные, например, доступным временем, текущей технологией и экономическими соображениями, руководствующийся концепциями и принципами, раскрытыми в данном документе, с легкостью сможет создать такие сохраненные программные команды и IC (интегральные схемы) с минимальным экспериментированием.
В предшествующем описании изобретения были описаны конкретные варианты осуществления настоящего изобретения. Однако, для обычного специалиста в уровне техники понятно, что эти различные модификации и изменения можно сделать, не выходя за объем притязаний настоящего изобретения, как упомянуто далее в формуле изобретения ниже. Соответственно, описание изобретения и фигуры должны рассматриваться в качестве иллюстративных, а не ограничительных, и все такие модификации предназначены включаться в состав объема притязаний настоящего изобретения. Выгоды, преимущества, решения проблем и какой-либо элемент (элементы), которые могут привести к выгоде, преимуществу или решению, которые появляются или становятся более резко выраженными, не должны толковаться в качестве критических, требуемых либо существенных признаков или элементов любого либо всех пунктов формулы изобретения. Изобретение определяется исключительно прилагаемой формулой изобретения, включая любые изменения, сделанные в течение зависимости этой заявки, и всеми эквивалентами этих пунктов формулы изобретения как опубликовано.
Реферат и описание предоставляются для того, чтобы позволить читателю быстро выяснить природу технического раскрытия. Они предоставляются с пониманием того, что они не будут использоваться для того, чтобы интерпретировать или ограничивать объем притязаний или значение формулы изобретения. Кроме того, в предшествующем подробном описании, можно увидеть, что различные признаки сгруппированы вместе в одном варианте осуществления с целью придания обтекаемой формы раскрытию. Способ раскрытия не должен интерпретироваться как отражающий намерение того, что заявляемые варианты осуществления требуют больше признаков, вместо того, как они отчетливо перечислены в каждом пункте формулы изобретения. Скорее, как это отражено в следующих пунктах формулы изобретения, объект изобретения лежит в меньшем количестве признаков, чем во всех признаках одного раскрытого варианта осуществления. Таким образом, следующая формула изобретения тем самым содержится в подробном описании, с каждым пунктом формулы изобретения, стоящим самим по себе в качестве отдельно заявленного объекта изобретения.