EA040379B1 - Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества - Google Patents

Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества Download PDF

Info

Publication number
EA040379B1
EA040379B1 EA201492099 EA040379B1 EA 040379 B1 EA040379 B1 EA 040379B1 EA 201492099 EA201492099 EA 201492099 EA 040379 B1 EA040379 B1 EA 040379B1
Authority
EA
Eurasian Patent Office
Prior art keywords
residuals
signal
resolution
plane
representation
Prior art date
Application number
EA201492099
Other languages
English (en)
Inventor
Лука Россато
Гвидо Меарди
Original Assignee
В-Нова Интернэшнл Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by В-Нова Интернэшнл Лтд. filed Critical В-Нова Интернэшнл Лтд.
Publication of EA040379B1 publication Critical patent/EA040379B1/ru

Links

Description

Уровень техники
В технике известны многочисленные методы сжатия и снятия сжатия многомерных сигналов или сигналов, развивающихся с течением времени. Это имеет отношение к аудиосигналам, видеосигналам и другим многомерным сигналам, например, объемным сигналам, используемым в научных и медицинских областях.
Для достижения высоких коэффициентов сжатия, эти методы предусматривают использование пространственной и временной корреляции внутри сигнала. Например, традиционные способы идентифицируют эталон и пытаются определить разность сигнала между текущим местоположением и данным эталоном. Это осуществляется как в пространственной области, где эталоном является участок (например, блок или макроблок) ранее принятой и декодированной пространственной плоскости, так и во временной области, где единый временной экземпляр сигнала (например, кадр видео в последовательности кадров) используется в качестве эталона в течение определенного промежутка времени. Это имеет отношение, например, к алгоритмам сжатия семейства MPEG (Moving Pictures Expert Group), где ранее декодированные макроблоки используются в качестве эталонных в пространственной области, и I-кадры и Pкадры используются в качестве эталонных для последующих P-кадров во временной области.
Известные методы предусматривают использование пространственной корреляции и временной корреляции разнообразными способами, с применением нескольких разных методов для идентификации, упрощения, кодирования и передачи разностей. В соответствии с традиционными способами, для использования пространственной корреляции остатков в соответствующем блоке элементов изображения осуществляется преобразование области (например, в частотную область) и затем осуществляется удаление и квантование преобразованной информации с потерями, обычно привносящее, в той или иной степени, артефакты блочности. Напротив, во временной области традиционные способы предусматривают передачу квантованной разности между текущей выборкой и эталонной выборкой, подвергнутой компенсации движения. Для достижения максимального сходства между выборками, кодеры пытаются оценить модификации эталонного сигнала, происходящие с течением времени. В традиционных способах кодирования (например, технологиях семейства MPEG, VP8 и т.д.), это называется оцениванием и компенсацией движения.
Современные ЦП (центральные процессоры) и ГП (графические процессоры) обычно очень мощны; единый ГП может включать в себя несколько сотен вычислительных ядер для осуществления параллельной обработки информации. При использовании оборудования, созданного по современным технологиям, очень большие участки изображения могут сохраняться в кэш-памяти процессора для обработки. Необходимость фрагментации изображений на большое количество малых блоков, что было движущим фактором в период создания JPEG и MPEG, поскольку процессоры той эпохи могли единомоментно обрабатывать очень малые фрагменты видеоданных и, опять же, только последовательно, отпадает для современных ЦП и ГП. Таким образом, имеющаяся вычислительная мощность может, по большей части, оставаться неиспользуемой при реализации кодирования/декодирования MPEG-образных типов, притом что в сигнал без необходимости вносятся артефакты блочности.
Кроме того, по сравнению с тем, что имело место, когда разрабатывался MPEG, современные приложения обычно требуют кодирования видеосигнала гораздо более высокой четкости и гораздо более высокого качества воспроизведения в целом. В видеосигналах высокой четкости (например, fullHD, UltraHD) и высокого качества (например, где артефакты относительно незаметны по отношению к исходному сигналу), существует гораздо большее различие между областями с низкой детализацией (потенциально, даже расфокусированными) и областями с очень высокой детализацией. Это делает использование преобразований в частотной области, например, используемые в способах на основе JPEG и на основе MPEG еще менее пригодными для обработки и воспроизведения изображений, поскольку диапазон релевантных частот значительно расширяется.
Кроме того, изображения более высокого разрешения включают в себя в более высокой степени шум камеры и/или зернистость пленки, т.е. очень детализированные высокочастотные пиксельные переходы, которые требуют кодирования большого количества битов, но которые могут быть совершенно нерелевантными для просмотра по сравнению с аналогичными высокочастотными пиксельными переходами границ объектов.
Другой аспект, которому не придается значение в уровне техники, за исключением нескольких попыток, состоит в требовании к масштабируемости качества. Способ кодирования с масштабированием позволяет кодировать единственную версию сжатого сигнала и обеспечивает доставку на разные уровни качества, доступности полосы и сложности декодера. Масштабируемость принималась во внимание в известных способах, таких как MPEG-SVC и JPEG2000, но, до сих пор, не находила достойного применения вследствие вычислительной сложности и, вообще говоря, неэффективности сжатия по сравнению с методами без масштабирования.
Ранее в качестве масштабируемой альтернативы стандартам JPEG/MPEG для кодирования/декодирования, в целях кодирования/декодирования использовались так называемые пирамиды Лапласа изображения. Например, традиционные системы пирамид Лапласа создавали изображения более низкого разрешения с использованием гауссовых фильтров и затем строили пирамиду разностей между
- 1 040379 изображениями, полученные повышающей дискретизацией с помощью жестко запрограммированного декодера обратно от более низких уровней разрешение к исходному уровню. От использования кодирования с традиционными пирамидами Лапласа отказались по причине неэффективности сжатия.
Преобразования областей остатков, используемые до сих пор способами кодирования, отвечающими уровню техники (например, преобразования Фурье, дискретные косинусные преобразования, преобразования Адамара, вейвлетные преобразования и т.д.), страдают рядом недостатков.
Прежде всего, сам выбор преобразования в частотную область не позволяет правильно использовать корреляцию между большими участками сигнала (т.е. участками с большим количеством выборок для каждого из измерений), поскольку сигналы реального мира обычно демонстрируют ограниченную степень периодичности. В результате, преобразования частотной области осуществляются на блоках, которые одновременно слишком велики и слишком малы: слишком велики, чтобы быть вычислительно простыми, слишком малы, чтобы в достаточной степени использовать корреляцию сигнала высокого разрешения. Например, чтобы использовать корреляцию достаточно большого множества выборок, одновременно управляя вычислительными сложностями, традиционные методы кодирования изображения и видеосигнала действуют на блоках 8x8, 16x16 или 32x32 элементов: очевидно, слишком малых для полного захвата корреляции шаблонов изображения в изображении высокой четкости (например, с 8 миллионами пикселей), но достаточно больших для поглощения значительной вычислительной мощности.
Во-вторых, известные способы, использующие преобразования частотной области, неявно предполагают, что люди чувствительны к гармоникам (например, частотам цветовых переходов) вне зависимости от направления перехода, тогда как в ряде исследований было показано, что люди воспринимают четкость перехода гораздо лучше, чем точное направление/угол перехода, в особенности при наблюдении сложных форм.
В-третьих, известные методы кодирования с потерями действуют посредством квантования результатов преобразования, неизбежно создавая две проблемы:
(1) артефакты блочности между одним блоком и соседними, подлежащие коррекции посредством относительно сложных способов противоблоковой обработки изображений;
(2) невозможность легко управлять максимальной ошибкой в кодированном изображении, поскольку фактические пиксельные значения являются результатом обратного преобразования деквантованных параметров, вследствие чего, ошибки квантования в квантованных параметрах блока объединяются друг с другом таким образом, что ими трудно управлять без нескольких повторных операций кодирования и/или чрезвычайно сложных схем квантования.
Предотвращение артефактов блочности и гарантированое управление максимальной ошибкой являются чрезвычайно важными признаками, в особенности в таких областях применения, как формирование изображения в медицинских целях или профессиональная фотография/видеосъемка.
Краткое описание
Рассмотренные здесь варианты осуществления отличаются от традиционных систем и способов, обеспечивая новые способы квантования и/или преобразования информации элемента (например, остаточных данных) для реконструкции представления изображения, обеспечивая способы кодирования, характеризующиеся эффективным энтропийным кодированием, низкой вычислительной сложностью, параллелизмом, масштабируемостью, управлением ошибками и т.д. Рассмотренные здесь способы и варианты осуществления представляют инновационный подход к достижению результатов эффективного энтропийного кодирования, с низкой вычислительной сложностью, параллелизмом, масштабируемостью и управлением ошибками.
Согласно своему самому широкому аспекту, рассмотренные здесь варианты осуществления включают в себя способ преобразования множеств элементов сигнала (т.е. подходящих последовательностей значений) во множества преобразованных элементов сигнала, для их эффективного энтропийного кодирования. Проиллюстрированные здесь варианты осуществления, в особенности, сосредоточены на неограничительном случае использования, в котором упомянутые элементы сигнала соответствуют остаточным данным, подлежащим прибавлению к прогнозируемому (т.е. предварительному) представлению изображения для получения целевого представления того же изображения, причем упомянутое прогнозируемое представление получается, по меньшей мере, частично, повышающей дискретизацией и/или обработкой представления того же изображения на более низком уровне качества (например, с более низким уровнем верности по сравнению с представлением исходного сигнала). Проиллюстрированные здесь варианты осуществления, в особенности, сосредоточены на неограничительных случаях, где более низкий уровень качества означает более низкое разрешение (т.е. более грубую сетку дискретизации) по одному или более из измерений сигнала, хотя специалисты в данной области техники могут без труда адаптировать одни и те же способы к случаям, когда сигнал на более низком уровне качества является сигналом с тем же разрешением и более низким уровнем детализации (например, без ограничения, более грубым квантованием значений элемента).
Рассмотренные здесь варианты осуществления полезны наряду с традиционными способами кодирования и полезны наряду со способами многоуровневого кодирования, в других патентных заявках тех
- 2 040379 же авторов описано множество других новых способов.
Для простоты, проиллюстрированные здесь неограничительные варианты осуществления относятся к сигналу в виде последовательности многомерных выборок (т.е. множеств из одного или более элементов, организованных как массивы в одном или более измерениях, например, в порядке неограничительного примера, множеств элементов изображения, организованных как двухмерные изображения). В описании, термины изображение или плоскость (подразумеваемые в самом широком значении гиперплоскость , т.е. массив элементов с любым количеством измерений и данной сеткой дискретизации) часто будет использоваться для идентификации цифрового представления выборки сигнала вдоль последовательности выборок, причем каждая плоскость имеет данное разрешение для каждого из ее измерений (например, X и Y, в случае двух измерений), и содержит множество элементов плоскости (или элемент или пэл, для двухмерных изображений часто именуемых пикселями, для объемных изображений часто именуемых вокселями, и т.д.), характеризующихся одним или более значениями или настройками (например, в порядке неограничительных примеров, цветовыми настройками в подходящем цветовом пространстве, настройками, указывающими уровень плотность, настройками, указывающими уровни температуры, настройками, указывающими тон аудиосигнала, настройками, указывающими амплитуду, и т.д.). Каждый элемент плоскости идентифицируется подходящим множеством координат, указывающих целочисленные позиции упомянутого элемента в сетке дискретизации изображения. Измерения сигнала могут включать в себя только пространственные измерения (например, в случае изображения) или также временное измерение (например, в случае сигнала, развивающегося с течением времени).
В порядке неограничительных примеров, сигналом может быть изображение, аудиосигнал, многоканальный аудиосигнал, видеосигнал, многовидовой видеосигнал (например, 3D-видео), пленоптический сигнал, мультиспектральный сигнал, объемный сигнал (например, формирование изображения в медицинских целях, формирование изображения в научных целях, формирование голографического изображения и т.д.), объемный видеосигнал, или даже сигналы с более чем четырьмя измерениями.
Для простоты, проиллюстрированные здесь неограничительные варианты осуществления часто относятся к сигналам, которые отображаются как 2D плоскости настроек (например, 2D изображения в подходящем цветовом пространстве), например, изображение или видеосигнал (т.е. последовательность 2D изображений, развивающихся с течением времени). Однако специалисты в данной области техники без труда могут применять те же принципы и способы к любым другим типам многомерного сигнала (например, объемным сигналам, видеосигналам, 3D видеосигналам, пленоптическим сигналам и т.д.). Проиллюстрированные здесь неограничительные варианты осуществления также часто иллюстрируют случаи сигналов, закодированных в многоуровневой иерархии уровней качества (LOQ), причем более высокие уровни качества в многоуровневой иерархии имеют все более высокое разрешение (т.е. увеличенное количество выборок для одного или более из измерений сигнала). Для простоты, проиллюстрированные здесь неограничительные варианты осуществления часто относятся к простому случаю, когда разрешение увеличивается с масштабным коэффициентом два для каждого из измерений сигнала, но специалисты в данной области техники без труда могут применять те же способы также к случаям с разными (и потенциально анизотропными) масштабными коэффициентами. При работе с сигналами, кодированными в многоуровневой иерархии уровней качества, остатки, позволяющие реконструировать настройки элементов данного LOQ, управляемые (например, совмещенные с) тем же элементом более низкого LOQ, демонстрируют важные корреляции, которые эффективно используются проиллюстрированными здесь неограничительными вариантами осуществления. Для простоты, будем называть управляющий элемент плоскости (или управляющий пэл) данного множества элементов плоскости на более высоком LOQ (управляемых пэлов) родительским элементом при более низком LOQ, который совмещен с данным множеством элементов плоскости на более высоком LOQ.
Дополнительно проиллюстрированные здесь неограничительные варианты осуществления предусматривают преобразование остаточных данных (т.е. информации о корректировках для применения к элементам сигнала для получения подходящего представления сигнала при данном уровне качества) для использования как корреляции между самими остатками, так и корреляции, которая существует между остатками и представления сигнала на более низком уровне качества. В частности, чтобы эффективно кодировать остаточные данные в цифровой битовый поток, необходимы две операции: квантование (т.е. присвоение каждому значению символ, принадлежащий данному конечному алфавиту символов) и энтропийное кодирование. Преобразование символов до энтропийного кодирования позволяет снизить изменчивость кодируемых символов, тем самым, повышая эффективность энтропийного кодера. Использование представления сигнала на более низком уровне качества позволяет прогнозировать часть остаточной информации на основании информации, уже имеющейся на декодере, дополнительно повышая эффективность кодирования. Преобразование блока остатков при одновременном использовании представления сигнала на более низком уровне качества, т.е. эффективная реализация многомасштабного преобразования, также позволяет использовать корреляцию сигнала по участку сигнала, который шире самого блока: таким образом, можно оставлять размер блока чрезвычайно малым (например, даже 2x2), одновременно используя корреляцию по гораздо более широкой области, достигая одновременно преимуществ вычислительной сложности и преимуществ эффективности кодирования.
- 3 040379
Проиллюстрированные здесь способы, по существу, позволяют преобразовывать остатки, чтобы минимизировать количество различных символов в совокупности множеств преобразованных квантованных остаточных данных и, таким образом, уменьшить размер битового потока, необходимый для кодирования и передачи упомянутой совокупности множеств. В некоторых описанных здесь неограничительных вариантах осуществления, этап квантования осуществляется после этапа преобразования на стороне кодирования (и, следовательно, до этапа обратного преобразования на стороне декодирования), аналогично тому, как это до сих пор делалось с традиционными способами кодирования. В других описанных здесь новых неограничительных вариантах осуществления, этап квантования осуществляется до этапа преобразования на стороне кодирования (и, следовательно, после этапа обратного преобразования на стороне декодирования), эффективно реализуя способ преобразования без потерь. Осуществление этапа квантования до этапа преобразования позволяет управлять (и, при необходимости, ограничивать) ошибки, вносимые кодированием с потерями, еще до начала более вычислительно интенсивных частей кодирования. Описанный здесь неограничительный вариант осуществления также позволяет эффективно пользоваться известными корреляциями между символами, полученными посредством преобразования без потерь.
Проиллюстрированный здесь неограничительный вариант осуществления часто иллюстрируют преобразования разложения, применяемые к множествам 2x2 остатков. Его следует признать неограничительным, и специалисты в данной области техники без труда могут применять те же способы к множествам остатков другого размера, включающего в себя разные размеры для каждого измерения (например, множествам 2х 1 остатков) или более чем два измерения (например, множествам LxNxM остатков в объемном изображении или в видеосигнале, где третье измерение представляет время).
В описанном здесь неограничительном варианте осуществления, первый процессор сигнала (кодер) выполнен с возможностью кодирования сигнала в иерархии уровней качества, тогда как второй процессор сигнала (декодер) выполнен с возможностью декодирования представления упомянутого сигнала в иерархии уровней качества.
Кодер принимает сигнал на первом уровне качества и создает представление сигнала на втором уровне качества, причем второй уровень качества ниже, чем первый уровень качества. Затем кодер обрабатывает представление сигнала на втором уровне качества, создавая прогнозируемое представление сигнала на первом уровне качества. Затем кодер генерирует остаточные данные, причем упомянутые остаточные данные соответствуют разности между сигналом на первом уровне качества и прогнозируемым представлением сигнала на первом уровне качества. Затем кодер преобразует остаточные данные путем применения преобразования разложения, создавая параметры (компоненты или остаточные компоненты). Разложение остатков для получения остаточных компонент позволяет кодеру лучше использовать корреляцию между остатками; кроме того, некоторые из компонент лучше коррелируют, чем остатки с представлением сигнала на втором уровне качества, что позволяет легче передавать их, чем непреобразованные остатки. Затем кодер обрабатывает упомянутые компоненты, упомянутое прогнозируемое представление сигнала на первом уровне качества и упомянутое представление сигнала на втором уровне качества, создавая преобразованные остатки. Затем кодер кодирует упомянутое представление сигнала на втором уровне качества и упомянутые преобразованные остатки в соответствующие кодированные данные.
Декодер принимает упомянутые кодированные данные и реконструирует, по меньшей мере, частично на основании упомянутых кодированных данных, представления сигнала на втором уровне качества и реконструированных преобразованных остатков. Декодер обрабатывает представление сигнала на втором уровне качества, создавая прогнозируемое представление сигнала на первом уровне качества, причем первый уровень качества выше, чем второй уровень качества. Декодер обрабатывает упомянутое прогнозируемое представление сигнала на первом уровне качества, упомянутое представление сигнала на втором уровне качества и упомянутые реконструированные преобразованные остатки, создавая реконструированные компоненты. Декодер применяет преобразование обратного разложения к реконструированным компонентам, создавая реконструированные остатки. Декодер объединяет прогнозируемое представление сигнала на первом уровне качества с реконструированными остатками, создавая представление сигнала на первом уровне качества.
В описанном здесь неограничительном варианте осуществления, остаточные компоненты получаются путем вычислений, содержащих суммы и/или разности между остатками, и остатки получаются путем вычислений, содержащих суммы и/или разности между остаточными компонентами. В неограничительном варианте осуществления, операции, осуществляемые для кодирования преобразованных остатков, включают в себя выбор подмножества преобразованных остатков, соответствующих подмножеству смежных остатков в плоскости остатков на первом уровне качества, генерацию значения, по меньшей мере, частично на основании представления сигнала на втором (более низком) уровне качества, и объединение упомянутого значения с по меньшей мере одной из остаточных компонент, создавая подмножество преобразованных остатков, соответствующих упомянутому подмножеству остатков.
В других описанных здесь неограничительных вариантах осуществления, декодер обрабатывает ко
- 4 040379 дированные данные, генерируя множество остатков, соответствующих корректировкам, подлежащим осуществлению, в элементы прогнозируемого представления сигнала на первом уровне качества для создания представления сигнала на первом уровне качества, причем упомянутое прогнозируемое представление сигнала на первом уровне качества создается декодером, по меньшей мере, частично на основании представления сигнала на втором уровне качества, причем второй уровень качества ниже, чем первый уровень качества. Декодер принимает кодированные данные, соответствующие преобразованным остаткам, и создает, по меньшей мере, частично на основании упомянутых кодированных данных, реконструированные остаточные компоненты. Затем декодер генерирует множество реконструированных остатков путем применения обратного разложения к реконструированным остаточным компонентам.
В неограничительном варианте осуществления, декодер создает упомянутые реконструированные остаточные компоненты также, по меньшей мере, частично на основании представления сигнала на втором (более низком) уровне качества. В неограничительном варианте осуществления, для каждого подмножества элементов сигнала на первом уровне качества, декодер создает множество параметров (реконструированных преобразованных остатков). Декодер создает значение, соответствующее упомянутому множеству параметров, причем упомянутое значение, по меньшей мере, частично основано на представлении сигнала на втором (более низком) уровне качества.
Затем декодер объединяет один или более параметров с упомянутым значением, создавая множество реконструированных остаточных компонентов, соответствующих упомянутому подмножеству элементов сигнала на первом уровне качества. Затем декодер обрабатывает реконструированные остаточные компоненты путем применения обратного разложения, создавая множество реконструированных остатков. В неограничительном варианте осуществления, каждый реконструированный остаток во множестве получается путем вычисления сумм и/или разностей между реконструированными остаточными компонентами.
В некоторых описанных здесь неограничительных вариантах осуществления, реконструированные преобразованные остатки деквантуются до обработки для создания реконструированных остаточных компонентов, т.е. деквантование осуществляется до применения обратного разложения. В неограничительном варианте осуществления, операции деквантования, применяемые к каждому реконструированному преобразованному остатку (или к каждой реконструированной остаточной компоненте) изменяются на основании относительной позиции соответствующего преобразованного остатка во множестве преобразованных остатков.
В других описанных здесь неограничительных вариантах осуществления, операции деквантования применяются после обратного разложения, деквантуя реконструированные остатки.
В некоторых описанных здесь неограничительных вариантах осуществления, упомянутое значение, объединенное с множеством реконструированных преобразованных остатков для создания соответствующего множества остаточных компонентов, соответствует среднему остатков во множестве (прогнозируемое среднее). В неограничительном варианте осуществления, прогнозируемое среднее множества остатков создается путем усреднения множества элементов прогнозируемого представления сигнала на первом (более высоком) уровне качества и вычитания соответствующего элемента представления сигнала на втором (более низком) уровне качества.
В некоторых описанных здесь неограничительных вариантах осуществления, разложение остатков на первом (более высоком) LOQ пользуется преимуществом того факта, что подмножество остатков, соответствующее данному подмножеству элементов плоскости (управляемых пэлов) коррелирует со значением управляющего пэла на более низком LOQ, поскольку сумма среднего прогнозируемых элементов (известного декодеру) и среднего остатков (реконструируемых декодером) соответствует значению управляющего пэла (также известному декодеру). Фактически, в отсутствие операций квантования, среднее остатков (или, эквивалентно, сумму остатков) можно точно определить по информации, уже известной на стороне декодера еще до начала для обеспечения остаточных данных. Существует несколько способов использования возможности вычисления прогнозируемого среднего остатков для повышения эффективности кодирования и декодирования остатка. В неограничительном варианте осуществления, плоскость остатков на первом LOQ делится на блоки 2x2. Для каждого блока 2x2, один из остатков не кодируется (т.е. не передается на декодер), поскольку декодер реконструирует его из трех других и из прогнозируемого среднего остатков (т.е. декодер имеет информацию, которая необходима для создания недостающих остатков на основании трех других остатков каждого блока 2x2). Когда остаточные данные квантуются, этот вариант осуществления концентрирует все накопленные ошибки квантования на одном из четырех остатков каждого блока 2x2. Другие неограничительные варианты осуществления избегают этой проблемы (по-прежнему сохраняя преимущество эффективности использования информации прогнозируемого среднего) путем применения преобразования разложения к каждому блоку остатков.
В некоторых описанных здесь неограничительных вариантах осуществления, кодер применяет преобразование направленного разложения к каждому блоку 2x2 остатков двухмерной плоскости остатков, соответствующих представлению сигнала на первом уровне качества. В таких вариантах осуществления, четыре остаточных компоненты соответствуют четырем направлениям изменчивости для оста
- 5 040379 точного блока 2x2: среднее (А, соответствующее наклону интенсивности, в принципе, ортогональное плоскости блока 2x2, сумма остатков, деленная на четыре), горизонтальный наклон (H, соответствующая горизонтальной разности остатков, сумма остатков слева минус сумма остатков справа), вертикальный наклон (V, соответствующий вертикальной разности остатков, сумма остатков сверху минус сумма остатков снизу) и диагональный наклон (D, соответствующий оставшимся разностям, не объясняемым простым направленным переходом в блоках 2x2 остатков).
Разность между средней компонентой A и прогнозируемым средним (например, без ограничения, вычисленным как сумма среднего прогнозируемых элементов минус управляющий элемент на более низком LOQ) называется дельта среднего или 5a. δa часто равна нулю для сигналов реального мира, и, в результате, часто бывает предпочтительно вычислять δa и энтропийно кодировать 5a, а не компоненту А. Горизонтальный и вертикальный наклоны блока 2x2 остатков представляют интенсивность и направление перехода: для традиционных сигналов, они, скорее всего, локально коррелируют, что, опять же, повышает эффективность энтропийного кодирования.
Другие неограничительные варианты осуществления применяют другие способы направленного разложения, причем по меньшей мере один из преобразованных остатков в данном множестве преобразованных остатков соответствует направленному наклону значений множества остатков, которое соответствует упомянутому данному множеству преобразованных остатков. Неограничительный вариант осуществления вычисляет преобразованные остатки путем осуществления вычислений, которые включают в себя операции обработки изображений (например, направленные преобразования, вычисления сплайнов, фильтр Собеля, вычисления градиента и т.д.).
В описанном здесь неограничительном варианте осуществления, для каждого блока NxM остатков (например, без ограничения, для каждого блока 2x2 остатков) в плоскости остатков кодер создает множество параметров, соответствующих преобразованным остаткам. Затем кодер делит параметры на подмножества - каждое из упомянутых подмножеств соответствует одному и тому же классу преобразованных остатков, причем каждый элемент подмножества соответствует блоку остатков - и по отдельности кодирует каждое из подмножеств (т.е. подмножества кодируются по отдельности, и параметры, используемые для энтропийного кодирования каждого из подмножеств, не зависят от энтропийного кодирования других подмножеств).
В некоторых описанных здесь неограничительных вариантах осуществления, кодер осуществляет направленное разложение на блоках 2x2 остатков, и по отдельности (т.е. индивидуально) кодирует четыре подмножества параметров δa, H, V и D.
В других неограничительных вариантах осуществления по меньшей мере один кодированный параметр соответствует нескольким преобразованным остаткам одного и того же блока остатков. В неограничительном варианте осуществления, кодер осуществляет направленное разложение на блоках 2x2 остатков, и для каждого блока 2x2 остатков создает единый параметр (т.е. Единый символ), соответствующий четырем параметрам δa, H, V, D, причем упомянутый параметр оказывается единственным кодированным параметром, соответствующим упомянутому блоку остатков. В других неограничительных вариантах осуществления, подмножества параметров δa и параметров D кодируются по отдельности, тогда как параметры H и V обрабатываются для создания единственного подмножества параметров, в котором каждый параметр соответствует параметру H и параметру V данного блока 2x2 остатков.
В других описанных здесь неограничительных вариантах осуществления, декодер принимает данные, соответствующие преобразованным остаткам для управляемых пэлов (т.е. для элементов представления на данном LOQ сигнала, декодированного в многоуровневой иерархии LOQ). Для реконструкции остатков на основании преобразованных остатков, декодер объединяет преобразованные остатки с параметрами, по меньшей мере, частично на основании представления сигнала на более низком LOQ, чем упомянутый данный LOQ. В неограничительном варианте осуществления, декодер объединяет один из преобразованных остатков с разностью между настройкой управляющего пэла на более низком LOQ и средним прогнозируемых настроек (т.е. настроек до прибавления остатков) управляемых пэлов на данном LOQ. В неограничительном варианте осуществления, каждый преобразованный остаток соответствует блоку остатков и влияет на значения всех остатков, которые принадлежат соответствующему ему блоку.
В других описанных здесь неограничительных вариантах осуществления, кодер выбирает блок остатков в плоскости остатков на первом (более высоком) LOQ и создает множество параметров, по меньшей мере, частично на основании остатков в упомянутом блоке и на основании представления сигнала на втором (более низком) LOQ.
В других описанных здесь неограничительных вариантах осуществления, декодер принимает множество параметров, соответствующих блоку остатков в плоскости остатков на первом (более высоком) LOQ и создает множество остатков, по меньшей мере, частично на основании упомянутого множества параметров и на основании реконструированного представления сигнала на втором (более низком) LOQ.
В соответствии с дополнительными неограничительными вариантами осуществления, входной сигнал кодируется и декодируется согласно способу многоуровневого иерархического кодирования, и плос
- 6 040379 кости остатков для соседних выборок во временном измерении создаются, по меньшей мере, частично на основании одного и того же множества элементов (опорная плоскость), путем компенсации движения упомянутой опорной плоскости и путем ее объединения с относительными остатками, согласно способам, описанным в других патентных заявках тех же авторов. В неограничительном варианте осуществления, преобразованные относительные остатки основаны, по меньшей мере, частично на упомянутой опорной плоскости. В неограничительном варианте осуществления, опорная плоскость и плоскости относительных остатков кодируются и декодируются согласно описанным здесь способам.
Заметим, что рассмотренные здесь варианты осуществления можно реализовать в программном обеспечении или оборудовании или можно реализовать с использованием комбинации программного обеспечения и оборудования, и могут включать в себя конфигурацию одного или более компьютеризированных устройств, маршрутизаторов, сети, рабочих станций, карманных или портативных компьютеров, планшетов, мобильных телефонов, игровых консолей, телевизионных приставок и т.д., для осуществления и/или поддержки любой или всех из раскрытых здесь операций способа. Другими словами, одно или более компьютеризированных устройств или процессоров могут быть запрограммированы и/или выполнены с возможностью действовать объясненным здесь образом для осуществления различных вариантов осуществления.
Помимо рассмотренных выше методов, другие рассмотренные здесь варианты осуществления включают в себя программы, реализованные программными средствами, для осуществления этапов и операций, кратко перечисленных выше и подробно раскрытых ниже. Один такой вариант осуществления содержит считываемый компьютером аппаратный ресурс хранения (т.е. нетранзиторные считываемые компьютером среды), на которых закодированы логика, инструкции, и т.д. компьютерной программы, которая, при выполнении на компьютеризированном устройстве, имеющем процессор и соответствующую память, программирует и/или предписывает процессору осуществлять любую из раскрытых здесь операций. Такие конфигурации можно обеспечивать в виде программного обеспечения, кода и/или других данных (например, структур данных), размещенных или кодированных в считываемой компьютером среде, например, оптической среде (например, CD-ROM, DVD-ROM или BLU-RAY), карте флэш-памяти, гибком или жестком диске или любой другой среде, способной хранить считываемые компьютером инструкции, например, микропрограмму или микрокод в одной или более из микросхем ПЗУ или ОЗУ или ППЗУ или в виде специализированной интегральной схемы (ASIC). Программное обеспечение или микропрограмма или другая подобная конфигурации может быть установлена на компьютеризированное устройство, чтобы предписывать компьютеризированному устройству осуществлять объясненные здесь методы.
Соответственно, один конкретный вариант осуществления настоящего раскрытия относится к компьютерному программному продукту, который включает в себя считываемую компьютером аппаратную среду хранения, в которой хранятся инструкции для поддержки операций обработки сигнала.
Для наглядности добавлен порядок выполнения этапов. Эти этапы можно осуществлять в любом подходящем порядке.
Другие варианты осуществления настоящего раскрытия включают в себя программы, реализованные программными средствами, микропрограмму и/или соответствующее оборудование для осуществления любых кратко перечисленных выше и подробно раскрытых ниже этапов и операций варианта осуществления способа.
Кроме того, следует понимать, что рассмотренные здесь систему, способ, устройство, инструкции в считываемых компьютером средах хранения и т.д. можно реализовать строго в виде программы, реализованной программными средствами, в виде комплекса программного обеспечения, микропрограммы и/или оборудования или только аппаратными средствами, например, в процессоре, или в операционной системе или в прикладной программе и т.д.
Как рассмотрено выше, раскрытые здесь методы хорошо подходят для использования программных, микропрограммных и/или аппаратных приложениях, которые обрабатывают сигналы и создают битовые потоки кодированных данных, или которые обрабатывают битовые потоки кодированных данных и создают представления сигналов. Однако следует отметить, что рассмотренные здесь варианты осуществления не ограничиваются использованием в таких приложениях, и что рассмотренные здесь методы хорошо подходят и для других приложений.
Дополнительно, заметим, что хотя каждый из различных описанных здесь признаков, методов конфигураций и т.д., можно рассматривать в разных местах этого раскрытия, предполагается, что каждый из принципов может выполняться независимо друг от друга или совместно друг с другом. Соответственно, одно или более описанных здесь настоящих изобретений, вариантов осуществления и т.д. можно реализовать и рассматривать многими разными способами.
Кроме того, заметим, что в этом предварительном рассмотрении рассмотренных здесь вариантов осуществления не указан каждый вариант осуществления и/или более новый аспект настоящего раскрытия или заявленного(ых) изобретения(й). Напротив, это краткое описание представляет только общие варианты осуществления и соответствующие признаки новизны по сравнению с традиционными методами. Дополнительные детали и/или возможные перспективы (перестановки) изобретения(й) читатель
- 7 040379 сможет найти в разделе Подробное описание и соответствующих фигурах настоящего раскрытия, которые дополнительно рассмотрены ниже.
Краткое описание чертежей
Вышеописанные и другие задачи, признаки и преимущества изобретения явствуют из нижеследующего подробного описания рассмотренных здесь предпочтительных вариантов осуществления, проиллюстрированных в прилагаемых чертежах, в которых аналогичные ссылочные позиции относятся к одним и тем же частям на разных видах. Чертежи не обязательно выполнены в масштабе, но упор делается на иллюстрацию вариантов осуществления, концепций, принципов и т.д.
Фиг. 1А, 1В, 1С, 1D и 1E - иллюстративные схемы, описывающие системы кодирования и декодирования согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 2А и 2В - иллюстративные схемы, описывающие многоуровневое иерархическое декодирование и кодирование согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 3А, 3В, 3С, 3D, 3Е и 3F иллюстрируют разложение и обратное разложение остатков согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 4А, 4В, 4С и 4D - иллюстративные схемы, описывающие обратное разложение согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 5 иллюстрирует операции, осуществляемые декодером согласно проиллюстрированному здесь неограничительному варианту осуществления.
Фиг. 6 иллюстрирует блок-схема операций кодера, осуществляющего направленное разложение согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 7 иллюстрирует блок-схему операций декодера, осуществляющего обратнонаправленное разложение согласно проиллюстрированным здесь неограничительным вариантам осуществления.
Фиг. 8 - иллюстративная схема компьютерной системы, которая обеспечивает обработку данных согласно описанным здесь вариантам осуществления.
Фиг. 9 - иллюстративная схема кодирования информации согласно рассмотренным здесь вариантам осуществления.
Фиг. 10 и 11 - иллюстративные блок-схемы операций иллюстративных способов согласно рассмотренным здесь вариантам осуществления.
Подробное описание и дополнительная сводка вариантов осуществления
Проиллюстрированные здесь способы пригодны для любого типа многомерных сигналов, включающих в себя, без ограничения, звуковые сигналы, многоканальные звуковые сигналы, изображения, двухмерные изображения, видеосигналы, многовидовые видеосигналы, 3D видеосигналы, объемные сигналы, объемное видеосигналы, сигналы формирования изображения в медицинских целях, сигналы с более чем четырьмя измерениями и т.д.
Для простоты, на протяжении описания, проиллюстрированные варианты осуществления обычно предусматривают случай использования 2D изображений (например, либо отдельных изображений, либо кадров/полей видеосигнала), причем каждый элемент (в таком неограничительном примерном случае обычно именуемый пикселем, в более общем случае именуемый пэлом) характеризуется множеством настроек цвета или другого параметра в подходящем цветовом пространстве (например, YUV, RGB, HSV, и т.д.). Разные цветовые плоскости (например, плоскость яркости, Y, и две плоскости цветности, U и V) часто кодируются по отдельности и часто с разными разрешениями (вследствие более низкой чувствительности человеческого глаза к информации цветности).
Способы и проиллюстрированные здесь варианты осуществления можно использовать совместно друг с другом и/или с другими способами. Многие из предпочтительных проиллюстрированных здесь вариантов осуществления описывают методы и алгоритмы с целью достижения сжатия, т.е. кодирования подходящего представления сигнала с минимальным количеством битов. Это также является неограничительным примером: другие неограничительные варианты осуществления преследуют другие цели, например, многомасштабное кодирование и декодирование, адаптивную потоковую передачу, надежную и эффективную фильтрацию, шумоподавление сигнала (например, шумоподавление изображения, шумоподавление видеосигнала и т.д.), улучшения сигнала (например, передискретизацию сигнала, расперемежение и т.д.), генерацию метрик качества сигнала, идентификацию контента, машинное зрение, шифрование сигнала (например, защищенную связь) и т.д.
На фиг. 1А показана иллюстративная схема, описывающая неограничительные варианты осуществления систем кодирования и декодирования, использующих проиллюстрированные здесь способы.
Кодер 110 принимает сигнал 100 (например, двухмерное изображение) и кодирует его в поток 115 данных. Декодер 120 принимает поток 115 данных и создает реконструированный сигнал 130. Реконструированный сигнал 130 может быть идентичен или всего лишь, по существу, аналогичен исходному сигналу 100 в зависимости от того, является ли кодирование/декодирование с потерями или без потерь.
В одном варианте осуществления, кодер 111 принимает исходный сигнал 140 (видеосигнал, т.е. последовательность из нескольких кадров двухмерных изображений) и кодирует его в поток 116 данных, передаваемый по соответствующей линии связи целевому получателю. Декодер 121 на стороне получа- 8 040379 теля принимает поток 116 данных и создает реконструированный сигнал 150, в котором реконструированные изображения 150-1, 150-2,...,150-n являются реконструированными представлениями, соответствующими исходным изображениям 140-1, 140-2,...,140-n. Реконструированные изображения 150-1 могут быть идентичны или, по существу, аналогичны исходным изображениям 140-1 в зависимости от того, является ли соответствующее кодирование и/или декодирование с потерями или без потерь; реконструированные изображения 150-2 могут быть идентичны или, по существу, аналогичны исходным изображениям 140-2 в зависимости от того, является ли соответствующее кодирование и/или декодирование с потерями или без потерь; реконструированные изображения 150-3 могут быть идентичны или, по существу, аналогичны исходным изображениям 140-3 в зависимости от того, является ли соответствующее кодирование и/или декодирование с потерями или без потерь; и т.д.
В соответствии с дополнительными вариантами осуществления, кодер 112 принимает исходный сигнал 160 (объемный сигнал, включающий в себя несколько элементов) и кодирует его в поток 117 данных. Декодер 122 принимает поток 117 данных и создает реконструированный сигнал 170 (например, представление исходного сигнала).
На фиг. 1В показана неограничительная иллюстративная схема, демонстрирующая систему многомасштабного кодирования и декодирования согласно рассмотренным здесь вариантам осуществления.
В одном варианте осуществления, кодер 111 принимает исходный сигнал 140 и кодирует его в многомасштабный поток 116 данных. В этом иллюстративном варианте осуществления, декодер 121-2 принимает поток 116 данных и создает реконструированный сигнал на более низком LOQ 151 (например, включающий в себя кадры 151-1, 151-2 и т.д.) на первом (более низком) уровне качества, чем исходный сигнал и/или сигнал 150.
Дополнительно, в этом иллюстративном варианте осуществления, декодер 121-1 принимает поток 116 данных и создает реконструированный сигнал на более высоком LOQ 150 (например, на втором уровне качества). В этом иллюстративном варианте осуществления, второй уровень качества выше первого.
В неограничительном варианте осуществления, второй уровень качества имеет более высокое разрешение (пространственное и/или временное), чем первый уровень качества. В другом неограничительном варианте осуществления, декодер 121-2 использует методы декодирования на основе MPEG (например, MPEG2, MPEG4, h.264 и т.д.) для декодирования потока 116 данных. В еще одном неограничительном варианте осуществления, декодер 121-1 создает реконструированный сигнал на более низком LOQ 151 и затем реконструирует или выводит реконструированный сигнал на более высоком LOQ 150, по меньшей мере, частично на основании первого воспроизведения реконструированного сигнала на более низком LOQ 151. Другими словами, декодер 121-1 использует первый участок кодированного в потоке 116 данных для воспроизведения представлений сигнала 151 (например, 151-1, 151-2 и т.д.). После этого, декодер 121-1 использует второй участок данных в потоке 116 данных для повышающей дискретизации и модификации представлений сигнала 151 в представления сигнала 150.
В неограничительном варианте осуществления, второй уровень качества имеет разрешение, полученное повышающей дискретизацией с масштабным коэффициентом два в каждом пространственном измерении первого уровня качества. Например, поток 116 данных может быть сконфигурирован для включения первого участка данных реконструкции, указывающего, как воспроизводить исходный элемент представления сигнала на первом уровне качества. Дополнительные данные реконструкции в потоке 116 данных может указывать, как преобразовывать элемент на первом уровне качества в несколько элементов на втором уровне качества. В порядке неограничительного примера, несколько элементов на втором уровне качества обеспечивают более высокое разрешение исходного элемента на первом уровне качества. Повторяя эти этапы, низкое разрешение изображения можно преобразовывать в изображения более высокого разрешения. Изображения более высокого разрешения обеспечивают больше деталей изображения (поскольку оно включает в себя намного больше элементов изображения) и, таким образом, возможно, являются более привлекательными для наблюдателя.
В других неограничительных вариантах осуществления, второй уровень качества имеет разрешение, полученное повышающей дискретизацией с конкретным масштабным коэффициентом (включающим в себя нецелые масштабные коэффициенты и/или масштабные коэффициенты, равные 1) каждого из измерений сигнала.
В порядке примера, в неограничительном иллюстративном варианте осуществления, декодирующий процессор сигнала телевизионного декодера (например, без ограничения, телевизионной приставки) программируется для реализации способа, как показано на фиг. 1В, причем поток 116 данных соответствует принятому широковещательному сигналу. Таким образом, традиционные декодеры принимают один и тот же поток 116 данных, но просто игнорируют дополнительные данные, что позволяет реконструировать представления сигнала на более высоком уровне качества. Как упомянуто, более высокий уровень качества может быть представлением сигнала с более высоким разрешением.
В других неограничительных вариантах осуществления, сервер потоковой передачи обрабатывает кодированный поток 116 данных и, в соответствии с характеристиками декодера и/или с перегрузкой полосы, генерирует версию потока данных, который включает в себя только кодированные данные, не- 9 040379 обходимые для декодирования сигнала, до данного уровня качества (в отличие от максимально возможного уровня качества). В таком примере, полоса не растрачивается на передачу данных, которые не будут использоваться для реконструкции представления исходного сигнала.
Фиг. 1С иллюстрирует неограничительный иллюстративный вариант осуществления многоуровневого иерархического кодирования и декодирования двухмерного изображения, с масштабными коэффициентами два в обоих измерениях между любыми последующими уровнями качества согласно рассмотренным здесь вариантам осуществления.
В этом иллюстративном варианте осуществления, изображение 130-3 является представлением изображения при данном уровне качества, и, в частности, имеет разрешение 8x8 элементов. Изображение 130-4 является представлением того же изображения на ближайшем снизу уровне качества и имеет разрешение 4x4 элемента.
Элемент 130-4-1 более низкого LOQ совмещен с элементами 130-3-1, 130-3-2, 130-3-3 и 130-3-4 более высокого LOQ. В этом иллюстративном варианте осуществления, элемент 130-4-1, таким образом, является управляющим элементом (или управляющим пэлом или родительским элементом) элементов 130-3-1, 130-3-2, 130-3-3 и 130-3-4 (управляемых элементов или подэлементов).
Другие неограничительные варианты осуществления применяют те же способы на изображениях с более чем двумя измерениями, создавая многоуровневые иерархии с подходящими масштабными коэффициентами для каждого уровня, включающими в себя нецелые масштабные коэффициенты и/или разные масштабные коэффициенты для разных измерений и/или разные масштабные коэффициенты по иерархии.
Фиг. 1D иллюстрирует другой неограничительный иллюстративный вариант осуществления многоуровневого иерархического кодирования и декодирования двухмерного изображения, с масштабными коэффициентами два в обоих измерениях между LOQ N-1 и LOQ N согласно рассмотренным здесь вариантам осуществления.
Родительский элемент 130-(N-1)-1 с LOQ N-1 (управляющий элемент) совмещен с соответствующими четырьмя подэлементами 130-N-1 с LOQ N (управляемыми элементами). В общем случае, родительский элемент 130-(N-1)-1 используется как основа для воспроизведения (например, путем повышающей дискретизации, сопровождаемой корректировками с использованием остаточных данных) соответствующих четырех подэлементов 130-N-1.
Фиг. 1E иллюстрирует другой неограничительный иллюстративный вариант осуществления многоуровневого иерархического кодирования и декодирования двухмерного изображения, с нецелыми масштабными коэффициентами 3/2 в обоих измерениях между LOQ N-1 и LOQ N согласно рассмотренным здесь вариантам осуществления.
Родительский блок 130-(N-1)-2 с LOQ N-1 (группа управляющих элементов, поскольку в этом случае ни один элемент с LOQ N-1 точно не совмещен со множеством элементов с LOQ N) совмещен с подэлементами 130-N-2 с LOQ N (множеством управляемых элементов). В этом неограничительном примере, вычисление прогнозируемого среднего для остатков, соответствующих подэлементам 130-N-2 может требовать обработки как прогнозируемого представления подэлементов 130-N-2, так и родительского блока 130-(N-1)-2 (в отличие от единичного родительского элемента).
Для простоты и с целью дополнительной иллюстрации, следующие участки раскрытия включают в себя примеры, использующие масштабные коэффициенты два от одного уровня качества к следующему. Однако специалисты в данной области техники без труда могут приспособить все способы, описанные здесь для многоуровневых иерархий, с любым из нескольких различных типов масштабных коэффициентов, включающих в себя анизотропные и/или нецелые масштабные коэффициенты.
На фиг. 2А показана иллюстративная схема, описывающая декодирование сигнала в многоуровневой иерархии уровней качества согласно рассмотренным здесь вариантам осуществления.
В этом иллюстративном варианте осуществления декодер 210 принимает данные 200-1 реконструкции и создает декодированное изображение 245-(N-1) с LOQ N-1 (в этом примере, нижним уровнем качества или более низким уровнем качества).
Вычислитель прогнозирования для следующего LOQ 220-1 обрабатывает изображение 245-(N-1) операциями, указанными соответствующими параметрами для операций 215-1, создавая прогнозируемое изображение 225-1. Предполагая коэффициент увеличения масштаба 2x2, вычислитель 220-1 создает прогнозируемое изображение 225-1, указывающее настройки для блока 8x8 элементов.
Декодер 230 принимает данные 200-2 реконструкции и создает остатки 240 (т.е. данные реконструкции или остаточные данные). В этом иллюстративном варианте осуществления, остатки 240 могут представлять собой матрицу 8x8 информации настроек элементов, согласующейся с количеством элементов в изображении 245-N.
Прогнозируемое изображение 225-1, также создаваемое вычислителем 220, также может представлять собой матрицу 8x8 информации настроек элементов, согласующейся с количеством элементов в изображении 245-N.
В одном варианте осуществления повышающая дискретизация изображения 245-(N-1) в прогнози- 10 040379 руемое изображение 225-1 является всего лишь изображениями основы, включающими в себя 8x8 элементов. Прогнозируемое изображение 225-1 и остатки 240 объединяются, на поэлементной основе, создавая декодированное изображение 245-N, которое является представлением сигнала с LOQ N (например, 8x8 элементов). В одном варианте осуществления, остатки 240 включают в себя множество 8x8 элементов, которые суммируются или объединяются с элементами в прогнозируемом изображении 225-1 для создания изображения 245-N. Применение остатков 240 к прогнозируемому изображению 225-1 создает более точное представление сигнала на соответствующем уровне качества. Другими словами, представление сигнала 245-N является более точным представлением исходного сигнала, чем прогнозируемое изображение 225-1.
Представления сигнала на каждом следующим в порядке возрастания LOQ можно создавать согласно тому же способу: создание, на основании представления на текущем LOQ, прогнозируемого представления на следующем в порядке возрастания LOQ; декодирование остатков; объединение прогнозируемого представления на более высоком LOQ с декодированными остатками, создавая представление сигнала на более высоком LOQ. Объединение может включать в себя, для каждого элемента в массиве, выбор положения элемента в прогнозируемом изображении 225-1 и остатках 240 и суммирование значений для создания значения для соответствующего элемента в изображении 245-N.
В неограничительном варианте осуществления декодер 210 использует, для декодирования данных 200-1 реконструкции, способ декодирования, который отличается от способа декодирования, используемого декодером 230. В одном неограничительном иллюстративном варианте осуществления, декодер 210 реализует способ декодирования H.264.
В других неограничительных вариантах осуществления декодер 230 создает остатки 240 на основании множества кодированных данных (кодированные данные опорной плоскости) которое используется также для создания остатков для соседнего изображения в последовательности изображений.
Таким образом, любой подходящий алгоритм повышающей дискретизации можно использовать для преобразования сигнала или изображения основы на первом уровне качества в прогнозируемое изображение более высокого разрешения на следующем в порядке возрастания уровне качества.
На фиг. 2В показана иллюстративная схема, описывающая кодер, кодирующий сигнал в многоуровневой иерархии уровней качества согласно рассмотренным здесь вариантам осуществления.
Процессор сигнала, сконфигурированный как кодер, принимает в качестве входного изображения 130-0 с LOQ #0, например, изображение с более высоким разрешением. Изображение 130-0 обрабатывается понижающим дискретизатором 250-0, создавая изображение 130-1 с LOQ #-1. Изображение 130-1 обрабатывается понижающим дискретизатором 251-1, создавая изображение 130-2 на следующем в порядке убывания LOQ #-2. Этот процесс понижающей дискретизации повторяется, пока не будет создано изображение 130-В на нижнем LOQ #В (еще более низком уровне качества).
После создания изображения 130-В на самом низком уровне качества, кодер начинает создавать данные реконструкции (остаточные данные или корректировочные значения), которые потребуются на стороне декодирования (т.е. на декодере) для реконструкции представления исходного сигнала на разных уровнях качества (или, точнее говоря, многоуровневой иерархии представлений сигнала).
В этом иллюстративном варианте осуществления с этой целью кодер создает данные реконструкции для нижнего LOQ (начального LOQ для реконструкция сигнала), и затем имитирует все операции, которые будут осуществляться декодером для постепенной реконструкции, на основании более низкого LOQ, к каждому следующему в порядке возрастания LOQ. Создание корректировочных значений для каждого элемента при перемещении вверх по иерархии, позволяет соответствующему декодеру воспроизводить представление исходного сигнала на каждом из нескольких уровней качества.
В одном варианте осуществления самый низкий уровень качества является самым низким разрешением. Последовательно более высокие уровни качества представляют представления сигнала с более высоким разрешением.
В этом иллюстративном варианте осуществления изображение 130-В обрабатывается вычислителем 260+В остатка, создавая остаточные данные RB 270+В. Остаточные данные 270+В обрабатывается генератором данных 280+В реконструкции, с образованием данных 290+В реконструкции.
Данные 290+В реконструкции обрабатывается имитационным декодером 2100+В, с образованием представления сигнала 245-В на нижнем LOQ #В и прогнозируемого представления 225-(В+1) с LOQ #(В+1). Прогнозируемые представления на любом данном LOQ #N обрабатываются кодером совместно с соответствующим изображением 130-N для создания остаточных данных.
Вычислитель 261 остатка принимает изображение 130-1 с LOQ #-1 и прогнозируемое представление 225-(-1) с LOQ #-1, создавая остаточные данные 271. В одном варианте осуществления, остаточные данные 271 (или данные реконструкции) включают в себя корректировочные значения, подлежащие применению к принятому прогнозируемому представлению 225-(-1) для воспроизведения представления сигнала на соответствующем уровне качества #-1. Остаточные данные 271 обрабатывается генератором данных 281 реконструкции, с образованием данных 291 реконструкции.
Данные 291 реконструкции обрабатывается имитационным декодером 2101, с образованием пред
- 11 040379 ставления сигнала 245-1 с LOQ #-1 и прогнозируемого представления 225-0 с LOQ #0.
Вычислитель 260 остатка принимает исходное изображение 130-0 с LOQ #0 и прогнозируемое представление 225-0 с LOQ #0, создавая остаточные данные 270. В одном варианте осуществления, остаточные данные 270 (или данные реконструкции) включают в себя корректировочные значения, подлежащие применению к принятому прогнозируемому представлению 225-0 для воспроизведения представления сигнала на соответствующем уровне качества #0. Остаточные данные 270 обрабатывается генератором данных 280 реконструкции, с образованием данных 290 реконструкции.
Данные 290 реконструкции обрабатывается имитационным декодером 2100, с образованием представления сигнала 245-0, которое является представлением сигнала на самом высоком LOQ в иерархии представлений, которые будут генерироваться на стороне декодирования.
В неограничительном варианте осуществления кодер удостоверяется в том, что представление 2450 надлежащим образом аналогично исходному изображению 130-0, согласно метрике качества. Если значение метрики качества падает ниже порога, кодер повторно обрабатывает данные реконструкции для одного или более LOQ (например, корректируя подходящие параметры кодирования), пока метрика качества для сходства между 245-0 и 130-0 не превысит порог.
В другом неограничительном варианте осуществления кодер удостоверяется в том, что величина битового потока, необходимая для кодирования данных 290, 291,...,290+В реконструкции, ниже максимального порога. Если необходимая величина битового потока выше порога, кодер повторно обрабатывает данные реконструкции для одного или более LOQ (например, корректируя подходящие параметры кодирования), пока необходимый объем данных, подлежащих передаче в битовом потоке, не окажется ниже порога.
Фиг. 3А и 3В иллюстрируют пример направленного разложения согласно рассмотренным здесь вариантам осуществления. Направленное разложение применяется к группировкам из блоков 2x2 остатков, в случае 2D повышающей дискретизации с масштабным коэффициентом два в обоих измерениях (т.е. для каждого родительского элемента с LOQ #(N-1) существует четыре управляемых пэла (т.е. элемента изображения) на следующем в порядке возрастания LOQ #N, и, следовательно, четыре остатка нужно декодировать, чтобы надлежащим образом реконструировать упомянутые управляемые пэлы.
Направленное разложение представляет способ кодирования данных реконструкции (например, остаточных данных) полезным образом.
В этом примере предполагается, что блок остатков 300 представляет собой участок плоскости остаточных данных на данном LOQ #N, который обрабатывается декодером и объединяется с прогнозируемым представлением сигнала на данном LOQ #N для создания представления сигнала на упомянутом данном LOQ #N. В частности, блок остатков 300 образован четырьмя остатками ri,j, ri,j+1, ri+1,j и ri+1,j+1. Остаток ri,j представляет собой корректировочное значение, указывающее, как модифицировать соответствующий элемент pi,j в прогнозируемом изображении для воспроизведения представления элемента xi,j; данные реконструкции ri,j+1 представляет собой корректировочное значение, указывающее, как модифицировать соответствующий элемент pi,j+1 в прогнозируемом изображении для воспроизведения представления элемента xi,j+1; данные реконструкции ri+1,j представляет собой корректировочное значение, указывающее, как модифицировать соответствующий элемент Pi+1,j в прогнозируемом изображении для воспроизведения представления элемента xi+1,j; данные реконструкции ri+1,j+1 представляет собой корректировочное значение, указывающее, как модифицировать соответствующий элемент Pi+1,j+1 в прогнозируемом изображении для воспроизведения представления элемента xi+1,j+1.
В частности, блок остатков 300 соответствует блоку 305 элементов изображения xi,j, xi,j+1, xi+1,j, xi+1,j+1 c LOQ #N, управляемых родительским элементом y1 306 на более низком LOQ #(N-1), который был сгенерирован кодером на основании элементов изображения с LOQ #N.
В этом неограничительном варианте осуществления настройки y1 родительского элемента генерировались посредством квантования взвешенного среднего настроек элементов, соответствующих блоку 300, согласно одному из нескольких алгоритмов понижающей дискретизации, например, ядра билинейной фильтрации и с позицией дискретизации родительского элемента, находящейся в центре блока (т.е. в неограничительном случае билинейной фильтрации родительский элемент соответствует простому среднему управляемых пэлов). В результате, сумма остатков управляемых пэлов (т.е. сумма ry, ri,j+1, ri+1,j и ri+1,j+1) зависит, по меньшей мере, частично от настройки родительского элемента y1; фактически, в отсутствие операций квантования, она будет точно определяться родительским элементом, который уже известен декодеру из времени начала реконструкции блока 300.
Чтобы надлежащим образом использовать такую информацию, рассмотренный здесь кодер осуществляет преобразование разложения, которое совместно пользуется преимуществом двух типов корреляции:
(1) автокорреляции между остатками блока 300, и (2) корреляции между остатками блока 300, прогнозируемыми элементами, соответствующими блоку 300, и родительскому элементу.
Как упомянуто, разложение является способом кодирования остатков 300 в разные форматы (например, направленные компоненты 320 и затем преобразованные остатки 350, которые больше подходят
- 12 040379 для передачи по линии связи на удаленное целевое устройство, которое декодирует данные для воспроизведения изображения).
В частности, в этом иллюстративном варианте осуществления, чтобы использовать автокорреляцию между остатками, кодер применяет к остаткам преобразование направленного разложения, создавая четыре направленных компонента A, H, V и D:
A - среднее остатков гц, Гц+1, η+υ, Γί+υ+1;
H - горизонтальный/широтный наклон упомянутых остатков;
V - вертикальный/продольный наклон упомянутых остатков;
D - диагональный/наклонный наклон упомянутых остатков. В общем случае, значения H, V, и D включают в себя достаточную информацию декодирования для преобразования значения А в более конкретные настройки для каждого из остаточных компонентов ry, ry+i, ri+1,j, ri+y+i.
С геометрической точки зрения, преобразование эквивалентно замене четырех выборок в пространстве их представлением, заданным плоскостью, находящейся на оси z со средним выборок и наклону, соответственно, для реконструкции 4 выборок, как показано на фиг. 3А.
Как упомянуто выше, преобразование преследует две цели: использование корреляции между остатками (например, направленной корреляции линий и типичных шаблонов изображения) и снижение информационной энтропии, соответствующей среднему А, которое легко прогнозируется на стороне декодера, по меньшей мере, частично на основании прогнозируемых значений.
На стороне кодера, кодер знает, что родительский элемент был вычислен согласно формуле 3.12 на фиг. 3В. Разность δa между y и y1 обусловлена ошибками, генерируемыми в процессах квантования/деквантования. Согласно уравнению 3.14 на фиг. 3В, вычитая из y1 среднее значение прогнозов p для настроек x управляемых пэлов, можно генерировать прогноз (РА, для прогнозируемого среднего) для среднего значения четырех остатков 300, так что разность между А и РА равна δа.
В этом иллюстративном варианте осуществления, кодер, таким образом, генерирует преобразованные остатки 350 следующим образом: обрабатывает остатки 300 с помощью блока 310 направленного разложения, создавая направленные компоненты 320. В частности, направленные компоненты вычисляются согласно вычислениям, проиллюстрированным в формуле 3.11:
создает прогнозируемое среднее 340;
обрабатывает направленные компоненты 320 и прогнозируемое среднее 340 с помощью вычислителя 330 преобразованных остатков, создавая преобразованные остатки 350.
В неограничительном варианте осуществления, δa вычисляется согласно формуле δа=А-РА=А-(у'k,hAvgP), где AvgP - среднее значение прогнозов р для настроек x управляемых пэлов.
В неограничительном варианте осуществления, при вычислении направленных компонент 320 кодер не производит деление на 4 как указано в формуле 3.11 на фиг. 3В, для сокращения вычислений, необходимых для процесса обратного разложения, необходимого на стороне декодирования.
В неограничительном варианте осуществления, декодер принимает преобразованные остатки δa, H, V, D (вычисленные кодером, как описано выше) и вычисляет остатки ri,j, ry+1, ri+1,j, ri+1,j+1, сначала создавая прогнозируемое среднее РА и реконструируя компоненты A, H, V, D, и затем решая уравнение, указанное в формуле 3.11, относительно ri,j, ry+i, ri+1,j, ri+1,j+1.
В другом неограничительном варианте осуществления, декодер принимает преобразованные остатки δa, H, V, D и вычисляет A согласно формуле А=δа+(y'k,h-AvgP), где AvgP - среднее значение прогнозов p для настроек х управляемых пэлов. С точки зрения информационной энтропии, преимущество передачи/приема δa (т.е. разности между фактическим средним остатков и прогнозируемым средним остатков) вместо значения А (среднего) основано на том факте, что δa с большой степенью вероятности равна нулю (или близка к нулю), поэтому нулевой символ становится с большей вероятностью встречается в последовательности кодированных преобразованных остатков, что повышает эффективность кодирования. Другими словами, передача значения δa в отличие от передачи значения А позволяет экономить на количестве битов данных, которые необходимо кодировать остатки 300. Вычислив А в этом примере, декодер вычисляет остатки ri,j, ri,j+1, ri+1,j, ri+1,j+1, решая уравнение, указанное в 3.11, относительно ri,j, ri,j+1, ri+1,j, ri+1j+1Как указано выше, разложение остатков 300 с целью последующего создания преобразованных остатков 350 пользуется преимуществом корреляции между остатками. В неограничительном варианте осуществления, разложение позволяет разделять остатки на постоянную части и одну или более переменных частей. Некоторые из преобразованных элементов могут быть прогнозируемыми, что облегчает их передачу. В одном варианте осуществления, преобразованные остатки 350 получаются на основании комбинации сумм и/или разностей между отдельными компонентами.
Как показывают уравнения, начиная с вектора r (содержащего четыре остатка 300, например ri,j) кодер вычисляет вектор l, где вектор l содержит четыре параметра, выведенных из среднего А, горизонтального наклона H, вертикального наклона V и диагонального наклона D. В частности, вектор l вычисляется путем умножения вектора r на матрицу М. Декодер принимает параметры, позволяющие ему реконструировать вектор l (в частности, в вышеописанном неограничительном варианте осуществления,
- 13 040379 вместо приема параметра А, декодер принимает параметр δω указывающий разность между А и прогнозируемым средним остатков РА). Реконструировав l, декодер реконструирует вектор r путем умножения матрицы, обратной матрице M, на вектор l. Как следует из нижеследующих уравнений на фиг. 3В, в неограничительном варианте осуществления матрица M-1 идентична матрице M:
I — М - г
' 1 1 1 1 Ί roo
-1 -1 1 -1 'Ll
1 1 -1 -1 %
J -1 -1 Cib
В другом неограничительном варианте осуществления разные остатки во множестве преобразованных остатков квантуются согласно разными параметрами квантования. Это объясняется разной относительной важностью направленных компонент для воспринимаемого качества, что позволяет по-разному квантовать определенные преобразованные остатки, чем другие, без заметных различий в качестве. Другими словами, как упомянуто, данные реконструкции или остаточные данные на каждом соответствующем уровне качества, к которому относятся данные, отвечают за добавление деталей обратно в прогнозируемое представление сигнала, благодаря чему, создаваемое представление сигнала более точно отражает исходный сигнал для соответствующего уровня качества.
Например, преобразованные остатки, соответствующие средним или диагональным компонентам, квантуются агрессивнее, чем другие. В одном варианте осуществления декодер деквантует разные остатки согласно разным параметрам деквантования. В другом варианте осуществления разные параметры квантования позволяют повышать точность вертикального наклона и горизонтального наклона остатков (к которым человеческий глаз особенно чувствителен) независимо от точности диагональной/наклонной информации, так что, в случае артефактов квантования (например, ошибок изображения, которые возникают вследствие фильтрации для экономии битов данных), вносимых сжатием, конкретные компоненты остатков привилегированны в отношении выделения битовой скорости.
В другом неограничительном варианте осуществления параметры H и V квантуются по-разному согласно оценке объемов горизонтальной против вертикальной корреляции в сигнале (например, поле в чересстрочном видео часто характеризуется более высокой горизонтальной корреляцией, чем вертикальной корреляцией что позволяет эффективно кодировать его посредством квантования H и V по-разному).
В другом неограничительном варианте осуществления, для последнего уровня качества, декодер принимает только параметры, соответствующие H и V, и реконструирует полное множество направленных компонент (и затем остатки) устанавливая А и D на значения, принятые по умолчанию.
Другие неограничительные варианты осуществления применяют аналогичные способы преобразования остатков для кодирования и/или декодирования остатков для множеств управляемых пэлов, обладающих более чем двумя измерениями (например, в порядке неограничительного примера, остатков для множеств из восьми управляющих пэлов, полученных посредством трехмерной операции повышающей дискретизации), и/или разных масштабных коэффициентов от более низкого LOQ к следующему в порядке возрастания LOQ.
Специалисты в данной области техники без труда может вывести матрицу преобразования, подлежащую использованию в других вариантах осуществления, выполняя операции повышающей дискретизации, предусматривающие более чем два измерения (например, в порядке неограничительного примера, операции, предусматривающие два пространственных измерения и временное измерение, все с масштабным коэффициентом два, реконструкция 8 управляемых пэлов с более высоким LOQ для каждого управляющего пэла с более низким LOQ). В порядке неограничительного примера, объемная повышающая дискретизация с масштабным коэффициентом два во всех измерениях требует матрицы 8x8 преобразование разложения остатка, вычисляющей 8 направленных градиентов/остаточных наклонов. В неограничительном варианте осуществления, для каждого блока сигнала 2x2x2 кодер вычисляет (и декодер принимает и декодирует) один параметр, соответствующий среднему остаточному значению, и 7 параметров, соответствующих 7 значений остаточного наклона.
В другом неограничительном варианте осуществления, и кодер, и декодер действуют по отдельности во временном и пространственных измерениях. Временной наклон передается и декодируется в первую очередь, и затем оставшиеся 6 значений (по 3 для каждой пространственной плоскости) передаются как наклонные пространственные значения.
В другом неограничительном варианте осуществления кодер и декодер используют способ полноценного направленного разложения в двух измерениях (например, на кодере, для каждого блока 2x2 остатков: вычисление среднего А, горизонтального наклона H, вертикального наклона V и диагонального наклона D остатков, и затем кодирование, вместо среднего А, разности δa между средним А и прогнози- 14 040379 руемым средним РА; на декодере: прием разности δα между средним А и прогнозируемым средним РА, горизонтальным наклоном H, вертикальным наклоном V и диагональным наклоном D, и вычисление из таких параметров четырех остатков), и затем частичное направленное разложение в третьем измерении (например, во времени, вычисление, кодирование и декодирование только наклона между двумя средними значениями блоков 2x2 остатков).
В другом неограничительном варианте осуществления кодер может выбирать вариант во избежание передачи одного остатка для каждого множества остатков, соответствующих одному и тому же управляющему пэлу на более низком LOQ. Это эквивалентно квантованию 5a на нуль, независимо от его фак тического значения.
В других неограничительных вариантах осуществления декодер принимает полные множества остатков и использует избыточность в остаточной информации в целях исправления ошибок или обнаружения ошибок, что повышает надежность передачи.
В других неограничительных вариантах осуществления с масштабными коэффициентами среди LOQ, отличных от 2 для одного или более направлений, кодер и декодер вычисляют прогнозируемое среднее для множества остатков, по меньшей мере, частично на основании значений нескольких элемен тов представления сигнала на более низком LOQ.
В других неограничительных вариантах осуществления кодер применяет преобразования разложения на конкретные множества остатков, с целью максимизации количества преобразованных остатков, которым назначается значение, равное нулю. Это обусловлено тем, что энтропийное методы кодирования более эффективны при сжатии потока чисел, которые включают в себя более высокий процент значений, равный нулю. В неограничительном варианте осуществления, параметры, соответствующие применяемым преобразованиям разложения, передаются на декодер, совместно с данными реконструкции.
В неограничительном варианте осуществления кодер выбирает множества остатков разных изображений на одном и том же LOQ в последовательности изображений, упомянутые множества остатков, соответствующих одному и тому же положению (т.е. множеству координат) по нескольким последовательным изображениям (например, нескольким позициям дискретизации во времени). Для каждой данной позиции во множествах остатков, кодер выбирает остатки множеств, которые находятся в этой позиции (например, временная последовательность остатков с течением времени) и генерирует последовательность преобразованных остатков, начиная со значения, соответствующего среднему упомянутых остатков и затем, в соответствии с каждым данным остатком, значений, соответствующих этапу между предыдущим остатком и данным остатком. Таким образом, кодер очень эффективно представляет последовательность нескольких значений, которые постоянны некоторое время, затем меняются на другое значение и после этого снова остаются постоянными: фактически, такая последовательность представляется только двумя значениями, отличными от нуль (т.е. значением, соответствующим среднему, и значением, соответствующим пэлу, где происходит смена этапов). В таком варианте осуществления, для реконструкции исходных остатков, декодер обрабатывает преобразованные остатки и вычисляет остатки путем умножения преобразованных остатков на, например, следующие матрицы (в зависимости от количества остатков в последовательности):
Μ2
32 1
-132 1
-1-221
-1 -2 -3 1
-1 -2 -3 -4? , и т.д.
На фиг. 3F показана иллюстративная схема, демонстрирующая генерацию данных реконструкции согласно рассмотренным здесь вариантам осуществления.
Как показано, оборудование компьютерной обработки на фиг. 3F выполнено с возможностью создания данных реконструкции согласно рассмотренным здесь вариантам осуществления. Как показано, при кодировании, алгоритм 371 понижающей дискретизации принимает и обрабатывает блок 305, включающий в себя X11, Х12, Х21, Х22. Каждое из этих значений X11, Х12, Х21, Х22 представляет соответствующую настройку, связанную с соответствующим элементом.
В одном варианте осуществления алгоритм 371 понижающей дискретизации принимает и обрабатывает массив X на первом уровне качества и преобразует массив значений x (X11, Х12, Х21, Х22) в единое значение у (например, репрезентативное значение 361). Алгоритм 371 квантователя преобразует
- 15 040379 значение у в у1 (например, квантованное репрезентативное значение 362, также указанное как 306 на фиг. 3В). Алгоритм 373 повышающей дискретизации, связанный с кодером, посредством обработки представления сигнала на более низком LOQ #2, инициирует повышающую дискретизацию значения 3 62 (например, y1) в прогнозируемое представление (P11, P12, Р21, Р22), соответствующее исходному представлению сигнала (X11, Х12, Х21, Х22). Разностная функция 376 создает данные реконструкции или остаточные данные 300 как разность между исходным сигналом, указанным посредством X11, Х12, Х21, Х22, и прогнозируемым представлением P11, P12, Р21, Р22 для создания корректировочных значений R11, R12, R21, R22. В одном варианте осуществления, корректировочное значение R11=X11-P11; корректировочное значение R12=X12-P12; корректировочное значение R21=X21-P21; и корректировочное значение R22=X22-P22.
Ресурс 377 процессора принимает первое множество корректировочных значений (например, остаточные данные 300 или корректировочные значения R11, R12, R21, R22). Первое множество корректировочных значений указывает корректировки, которые должны быть осуществлены в отношении прогнозируемого представления (Р11, Р12, Р21, Р22) сигнала, генерируемого на соответствующем уровне #1 для реконструкции представления сигнала (X11, Х12, Х21, Х22) на первом уровне качества. Ресурс 377 процессора обрабатывает первое множество корректировочных значений R11, R12, R21, R22. Ресурс 377 процессора выводит второе множество корректировочных значений (или преобразованные остатки 350 или 5a, H, V, D) на основании первого множества корректировочных значений R11, R12, R21, R22 и представления сигнала, например, у1 на втором уровне качества.
В этом примере, уровень качества #2 ниже уровня качества #1. Сигнал может быть изображением, включающим в себя несколько элементов. В порядке неограничительного примера, уровень качества #1 может быть разрешением первого изображения; уровень качества #2 может быть разрешением второго изображения. Разрешение второго изображения ниже по разрешению, чем разрешение первого изображения.
Заметим, опять же, что сигнал, кодируемый оборудованием кодера на фиг. 3F, может быть любым подходящим типом сигнала. Например, сигналом может быть двухмерное изображение; сигналом может быть видеосигнал; сигналом может быть объемное изображение; и т.д.
В другом конкретном варианте осуществления, ресурс 377 процессора включает в себя процессор 396 данных реконструкции. Процессор 396 данных реконструкции преобразует остаточные данные 300 в компонентные значения А, H, V и D. Как упомянуто, значения А, H, V и D является кодированным представлением остатков 300. По меньшей мере, частично на основании значения y1 и направленных компонент А, H, V и D, преобразователь 397 данных реконструкции создает корректировочные значения 5a, H, V, D (преобразованные остаточные данные 350).
В одном неограничительном иллюстративном варианте осуществления, ресурс 377 процессора выводит множество корректировочных значений 5a, H, V, D (преобразованные остаточные данные 350) посредством обработки множества корректировочных значений R11, R12, R21, R22 для создания нескольких корректировочных компонент А, H, V и D, которые представляют множество корректировочных значений R11, R12, R21, R22. Преобразователь 397 данных реконструкции создает множество корректировочных данных δa, H, V, D (преобразованные остаточные данные 350) на основании комбинации по меньшей мере одного из нескольких корректировочных компонент, например значения А, с по меньшей мере одной настройкой, связанной с представлением сигнала, например у1, на уровне качества #2.
Как упомянуто, одно или более из корректировочных значений δa, H, V, D (преобразованных остаточных данных 350) можно вычислить на основании линейной комбинации множества корректировочных значений R11, R12, R21, R22 с представлением сигнала (например, y1) на уровне качества #2. Например, значение δa можно вычислить на основании разности между средним значением А (средним значений X11, Х12, Х21, Х22), генерируемым алгоритмом 372 квантователя, и прогнозируемым средним, создаваемым, по меньшей мере, частично на основании среднего элементов (P11, P12, Р21, Р22) в блоке 393 (например, [Р11+Р12+Р21+Р22]/4).
В порядке примера предположим, что данные в блоке 305 (соответствующем участке элементов в плоскости элементов, которые дискретизируются с понижением) включает в себя: X11=10, Х12=20, Х21=25, Х22=30. В этом примере, алгоритм 371 понижающей дискретизации создает значение y=21,25 с использованием среднего элементов X11, Х12, Х21, Х22. Единое значение y=21,25 на уровне качества #2 является репрезентативным значением настроек, связанным с элементами X11, Х12, Х21, Х22.
Предположим, что алгоритм 372 квантователя квантует значение y=21,25 для создания y'=21. В одном варианте осуществления, квантование включает в себя сравнение принятого значения, например y=21,25 с несколькими диапазонами. В этом примере предполагается, что любым значениям в диапазоне А1 между 21 и 21,999 назначаются значение 21. Значение y=21,25 попадает в диапазон А1 и, таким образом, квантуется и получает значение 21 в результате квантования алгоритмом 372 квантователя.
Как рассмотрено ранее, рассмотренные здесь варианты осуществления включают в себя повышающую дискретизацию квантованного значения y'=21 (также, по меньшей мере, частично на основании соседних с ним элементов) во множество прогнозируемых значений P11, P12, Р21, Р22. В этом примере
- 16 040379 предполагается, что применение алгоритма 373 повышающей дискретизации создает настройки Р11=10,
Р12=15, Р21=20, Р22=25. Эти значения P аппроксимируют настройки исходных значений X (X11, Х12,
Х21, Х22), но нуждается в некоторой коррекции.
Рассмотренные здесь варианты осуществления включают в себя применение разностной функции 376 для создания значений R (R11, R12, R21, R22). Например, разностная функция 376 задает R11=X11P11 (R11=10-10=0); разностная функция 376 задает R12=X12-P12 (R12=20-15=5); разностная функция 376 задает R21=X21-P21 (R21=25-20=5); разностная функция 376 задает R22=X2-P22 (R22=30-25=5).
В соответствии с предыдущими уравнениями, процессор 396 данных реконструкции создает настройки для А, H, V и D на основании настроек R11, R12, R21, R22 на уровне качества #1. Например, согласно соответствующей матрицы, процессор 396 данных реконструкции создает направленные компоненты 320 следующим образом:
А=[Rl1+R12+R21+R22]/4=[0+5+5+5]/4=3,75
Н=[Rl1-R12+R21-R22]/4=[0-5+5-5]/4=1,25
V=[Rl1+R12-R21-R22]/4=[0+5-5-5]/4=1,25
D=[Rl1-R12-R21+R22]/4=[0-5-5+5 ]/4=-1,25
На основании этих значений для А, H, V и D, преобразователь 397 данных реконструкции создает преобразованные остатки 300 (δa, H, V, D) следующим образом:
5а = среднее - прогнозируемое среднее = {3,75-[у1-(Pl1 + Р12 +Р21+Р22)/4]}=
5а = {3,75- [21- (10 + 15+2 0 + 25)/4] }=3,75-(21-17,5)=3,75-3,5=0,25
В этом примере, ресурс 377 процессора создает преобразованные остаточные данные 350 следующим образом:
ба=0,25
Н=1,25
V=l,25
D=-l,25
Соответственно, оборудование кодера, как рассмотрено здесь, принимает представление сигнала (X11, Х12, Х21, Х22) на уровне качества #1. Алгоритм 371 понижающей дискретизации кодера на фиг. 3F создает представление сигнала у на уровне качества #2 на основании представления сигнала (X11, Х12, Х21, Х22) на уровне качества #1. Алгоритм 373 повышающей дискретизации создает прогнозируемое представление сигнала P11, P12, Р21, Р22 на уровне качества #1 из представления сигнала на уровне качества #2. Например, алгоритм 372 квантователя создает y1 из y. Алгоритм 373 повышающей дискретизации, посредством обработки представления сигнала на уровне качества #2, преобразует y1 в P11, P12, Р21, Р22. Как упомянуто, разностная функция 376 создает множество корректировочных значений R11, R12, R21, R22 как разность между представлением сигнала R11, R12, R21, R22 на уровне качества #1 и прогнозируемое представление сигнала P11, P12, Р21, Р22 на уровне качества #1. Процессор 396 данных реконструкции создает форматированное множество корректировочных значений (например, направленные компоненты 320) из множества корректировочных значений R11, R12, R21, R22. Как следует из его названия, преобразователь 397 данных реконструкции преобразует форматированное множество корректировочных значений во множество корректировочных значений δa, H, V, D.
Рассмотренные здесь варианты осуществления может дополнительно включать в себя дополнительное оборудование кодера и программное обеспечение для кодирования множества корректировочных значений δa, H, V, D и представления сигнала y1 на уровне качества #2 в соответствующую кодированную информацию. Ресурс передатчика передает соответствующую кодированную информацию по линии связи на оборудование обработки декодера (см. фиг. 5 для неограничительного примера декодирования).
В соответствии с фиг. 5, оборудование обработки декодера принимает кодированную информацию. Из кодированной информации, оборудование обработки декодера получает (путем декодирования) данные реконструкции, например, значение y1=21. Значение y1 указывает, как реконструировать представление сигнала для блока 306 (фиг. 3В) на уровне качества #2. Из принятой кодированной информации, оборудование обработки декодера получает (путем декодирования) множество корректировочных значений δa, H, V, D.
Оборудование обработки декодера воспроизводит прогнозируемое представление сигнала Р11=(элемент 500-1-1), Р12 (элемент 500-1-2), Р21 (элемент 500-1-3), Р22 (элемент 500-1-4) на уровне качества #1 по меньшей мере, частично на основании значения у1 в полученных данных реконструкции. Оборудование обработки декодера выводит корректировочное значение (прогнозируемое среднее или РА), например, значение 430-5 на основании обработки настроек, связанных с прогнозируемым представлением сигнала, и полученные данные реконструкции (например, y1=21). В этом иллюстративном варианте осуществления, блок 520 генерирует корректировочное значение 430-5 равным y1 минус сред- 17 040379 нее прогнозов AvgP (например, [(Р11+Р12+Р21+Р22)/4). Напомним, что алгоритм 373 повышающей дискретизации (также используемый оборудованием обработки декодера), применяемый к y1 и соседним с ним элементам в оборудовании обработки декодера, создает значения Р11=10, Р12=15, Р21=20, Р22=25. Заметим, что конкретный алгоритм, подлежащий использованию для повышающей дискретизации значения y1, может быть указан в данных, принятых оборудованием обработки декодера. В частности, для данного элемента предварительного представления сигнала на более высоком уровне качества, создание настроек для упомянутого данного элемента может содержать: прием метаданных, связанных с операциями повышающей дискретизации, которые должны быть использованы для создания, на основании представления сигнала на более низком уровне качества, предварительного представления сигнала на более высоком уровне качества; идентифицируют операцию повышающей дискретизации (например, без ограничения, коэффициенты ядра повышающей дискретизации), как указано метаданными; и применяют операцию к подмножеству элементов представления сигнала на более низком уровне качества для вывода настроек для упомянутого данного элемента предварительного представления сигнала на более высо ком уровне качества.
Таким образом блок 520 обработки создает y1-AvgP=21-[ (10 + 15+20 + 25)/4]=21-17,5=3,5
Функция 562 суммирует дельту 445-1 (например, δα=0,25), полученную путем декодирования, как рассмотрено выше) и значение РА=3.5 для создания сигнала 430-5, например, значения 3,75 (т.е. среднего А=3,75). Таким образом, оборудование обработки декодера использует выведенное корректировочное значение (например, РА=3,5) как основу для модификации значения 5а=0,25 в корректировочное значение А=3,75)
Данные, полученные путем декодирования принятой информации также включает в себя получение значений для H, V и D. В этом примере, значения таковы: H=1,25, V=1,25, и D=-1,25.
Затем оборудование обработки декодера применяет модифицированное множество корректировочных значений (например, А, Н, V, D) к воспроизводимому прогнозируемому представлению сигнала Р11, Р12, Р21, Р22 для создания представления сигнала 550-1 на уровне качества #1. Например, оборудование обработки декодера применяет строку сумматоров, связанных со значениями 532 матрицы для создания:
элемент 550-1-1=элемент 500-1-1+(A 455-1+H 455-2+V 455-3+D 455-4) = 10+(3,75+(-1,25)+(-1,25)+(-1,25))=10=Х11;
элемент 550-1-2=элемент 500-1-2+(А 455-1-Н 455-2+V 455-3-D 455-4) = 15+(3,7 5-(-1,25) + (-1,25)-(-1,25)) =20=Х12;
элемент 550-1-3=элемент 500-1-3+(А 455-1-Н 455-2+V 455-3-D
455-4) = 20+(3,75+(-1,25) - (-1,25) - (-1,25) )=25=Х21; и элемент 550-1-4=элемент 500-1-4+(А 455-1-Н 455-2-V 455-3+D
455-4) = 2 5+(3,7 5-(-1,25)-(-1,25) + (-1,25)) =3 0=Х12 .
Соответственно, получая остаточные данные, например, у1=21 и значения 5а=,25, H=-1,25, V=-1,25 и D=-1,25, оборудование обработки декодера может воспроизводить исходные значения X11, Х12, Х21 и Х22.
В соответствии с дополнительными вариантами осуществления на фиг. 9, рассмотренное здесь оборудование обработки кодера может быть выполнено с возможностью создания нескольких множеств данных 910 реконструкции. Например, первый участок сигнала, например, элементы X можно обрабатывать и кодировать для создания множества данных 910-1 реконструкции, как рассмотрено ранее. Аналогично тому, как рассмотрено ранее, кодер может быть выполнен с возможностью создания множества данных 910-2 реконструкции на основании элементов Z11, Z12, Z21 и Z22.
Как рассмотрено, каждое множество данных 910 реконструкции может включать в себя настройки для нескольких компонент, например, А (первой компоненты), H (второй компоненты), V (третьей компоненты) и D (четвертой компоненты) посредством преобразованного значения δa (первого преобразованного значения), Н (второго преобразованного значения), V (третьего преобразованного значения) и D (четвертого преобразованного значения). Первое преобразованное значение, например, 5a (дельта среднего) в каждом из множеств соответствует первому классу атрибутов; второе преобразованное значение в каждом из множеств соответствует второму классу атрибутов, например, горизонтальному (Н); третье преобразованное значение в каждом из множеств соответствует третьему классу атрибутов, например, вертикальному (V); четвертое преобразованное значение в каждом из множеств соответствует четвертому классу атрибутов, например, диагональному (D).
- 18 040379
В одном варианте осуществления оборудование обработки кодера создает первую группировку 9251 для включения значения первой компоненты из каждого из нескольких множеств данных 910 реконструкции. Например, группировка 925-1 включает в себя компонентные значения Sa1, δa2,... .
Оборудование обработки кодера создает группировку 925-2 для включения значения второй компоненты, например H, из каждого из нескольких множеств данных 910 реконструкции. Например, группировка 925-2 включает в себя компонентные значения H1, H2,... .
Оборудование обработки кодера создает группировку 925-3 для включения значения третьей компоненты, например V, из каждого из нескольких множеств данных 910 реконструкции. Например, группировка 925-3 включает в себя компонентные значения V1, V2,... .
Оборудование обработки кодера создает группировку 925-4 для включения значения третьей компоненты, например D, из каждого из нескольких множеств данных 910 реконструкции. Например, группировка 925-4 включает в себя компонентные значения D1, D2,... .
В одном варианте осуществления оборудование обработки кодера кодирует группировки независимо друг от друга. Например, оборудование обработки кодера энтропийно кодирует первую группировку 925-1 в кодированную информацию 965-1 независимо от энтропийного кодирования второй группировки 925-2 в кодированную информацию 965-2.
В других неограничительных вариантах осуществления группировки преобразованных значений получаются группированием преобразованных значений, соответствующих одному и тому же участку сигнала (например, мозаичному элементу сигнала), и, таким образом, индивидуальным кодированием преобразованных остатков, соответствующих каждому мозаичному элементу сигнала. В других неограничительных вариантах осуществления, преобразованные значения, соответствующие одному и тому же множеству остаточных данных 910, назначаются данному символу, и оборудование обработки кодера кодирует последовательность символов, причем каждый из символов соответствует одному из множеств остаточных данных 910.
Фиг. 3С иллюстрирует неограничительный вариант осуществления направленного разложения, применяемого к группировкам двух остатков, в случае 2D повышающей дискретизации с масштабным коэффициентом два в горизонтальном измерении и один в вертикальном измерении (т.е. для каждого родительского элемента с LOQ #(N-1) существляет два управляемых пэла на следующем в порядке возрастания LOQ #N, и, следовательно, два остатка нужно декодировать, чтобы надлежащим образом реконструировать упомянутые управляемые пэлы) согласно рассмотренным здесь вариантам осуществления.
Кодер вычисляет, согласно формуле 3.21, две направленных компоненты А (для среднего) и Т (для наклона), и затем создает преобразованные остатки δa и Т, где δа вычисляется как разность между А и прогнозируемым средним РА, и РА вычисляется как разность между значением у1 элемента 308 и средним AvgP прогнозируемых значений, соответствующих двум элементам 307.
Фиг. 3D иллюстрирует неограничительный вариант осуществления направленного разложения, применяемого к группировкам блоков 2x2 остатков, в случае 2D повышающей дискретизации с масштабным коэффициентом два в обоих измерениях (т.е. для каждого родительского элемента с LOQ #(N1) существует четыре управляемых пэла на следующем в порядке возрастания LOQ #N, и, следовательно, четыре остатка нужно декодировать, чтобы надлежащим образом реконструировать упомянутые управляемые пэлы) согласно рассмотренным здесь вариантам осуществления.
Блок остатков 300 представляет собой участок плоскости остаточных данных на данном LOQ #N, который обрабатывается декодером и объединяется с прогнозируемым представлением сигнала на данном LOQ #N для создания представления сигнала на упомянутом данном LOQ #N. В частности, блок остатков 300 выполнен из четырех остатков ry, ri,j+1, ri+1,j и ri+1,j+1.
Остатки 300 обрабатываются блоком 310 направленного разложения согласно формуле 3.11, с образованием направленных компонент 320. Затем направленные компоненты 320 и прогнозируемое среднее 340 обрабатываются вычислителем 330 преобразованных остатков, с образованием преобразованных остатков 350. Затем преобразованные остатки 350 квантуются квантователем 360, с образованием квантованных преобразованных остатков 370.
В неограничительном варианте осуществления квантованные преобразованные остатки 370 затем дополнительно обрабатываются и кодируются в кодированные данные реконструкции. В неограничительном варианте осуществления квантованные преобразованные остатки для полного сигнала группируются в отдельные группировки, которые по отдельности энтропийно кодируются в отдельные множества кодированных данных реконструкции. В неограничительном варианте осуществления отдельные группировки соответствуют отдельным классам преобразованных остатков (например, без ограничения, квантованным преобразованным остаткам, соответствующим компонентам H для полного сигнала против квантованных преобразованных остатков, соответствующих компонентам V для полного сигнала, и т.д.). В другом неограничительном варианте осуществления отдельные группировки соответствуют отдельным участкам сигнала (например, без ограничения, мозаичным элементам сигнала).
В соответствии с фиг. 3D блок 310 направленного разложения создает форматированное множество
- 19 040379 корректировочных значений, например, направленные компоненты 320 из множества остатков 300 (например, корректировочных значений). Вычислитель 330 преобразует форматированное множество корректировочных значений, например, направленные компоненты 320, в преобразованные остатки 350 (например, корректировочные значения). Затем кодер применяет алгоритм 360 квантователя к множеству корректировочных значений (преобразованных остатков 350) для создания множества квантованных корректировочных значений, например, квантованного преобразованного остатка 370.
В одном варианте осуществления множество корректировочных значений δa, H, V, D представляет собой вектор, включающий в себя несколько компонент данных реконструкции (например, компоненту 5a, компоненту H, компоненту V, компоненту D). Квантователь 360 квантует каждую из корректировочных компонент для создания квантованного множества корректировочных значений, например остатков 370.
Разные компоненты в преобразованных остатках 350 можно квантовать согласно разным правилам. Например, первое множество диапазонов можно использовать для квантования компоненты 5a в соответствующих остатках 370. Каждому диапазону может назначаться соответствующее значение. В зависимости от того, в какой из диапазонов попадает значение компоненты 5a, соответствующее значение, назначенное диапазону, затем назначается компоненте 5a в качестве квантованного значения для компоненты.
Второе множество диапазонов можно использовать для квантования компоненты H в соответствующих остатках 370. Каждому диапазону во втором множестве может назначаться соответствующее квантованное значение. В зависимости от того, в какой из диапазонов во втором множестве попадает значение компоненты H, соответствующее значение, назначенное диапазону, затем назначается компоненте H в качестве квантованного значения для компоненты.
Таким образом, множество разных диапазонов квантования можно использовать для генерации квантованных значений для каждого из различных типов компонент 5a, H, V, D. Как упомянуто, квантование используется для генерации аналогичных настроек для, в остальном, разных компонентных настроек. Квантование снижает объем данных, который требуется для захвата сигнала.
Соответственно, рассмотренные здесь варианты осуществления включают в себя оборудование компьютерного процессора для квантования первой компоненты корректировочных данных в векторе 5а, H, V, D на основании первых правил квантования. Оборудование компьютерного процессора квантует вторую компоненту корректировочных данных в векторе на основании вторых правил квантования. Вторые правила квантования отличаются от первых правил квантования.
Фиг. 3Е иллюстрирует другой неограничительный вариант осуществления квантования и преобразования блока 2x2 остатков 300, причем остатки квантуются до преобразования согласно рассмотренным здесь вариантам осуществления. Следует подчеркнуть, что квантование до преобразования является важным и дополнительным новым этапом, предусмотренным этим изобретением, поскольку до сих пор, в традиционных способах кодирования квантование применялось после преобразования, по причинам, которые включают в себя возможность квантования определенных преобразованных параметров тяжелее, чем другие, т.е., вообще говоря, придания более высокоприоритетным частям преобразования более высокой битовой скорости.
Как показано на фиг. 3Е, в этом неограничительном варианте осуществления квантование остатка осуществляется до перехода к этапу преобразования, и, в частности, квантователь 380 обрабатывает остатки 300, создавая квантованные остатки 309.
Квантованные остатки 309 обрабатываются блоком 315 направленного разложения без потерь, который создает направленные компоненты 325 (ldc) без потерь посредством обработки вектора четырех квантованных остатков 309 (qr) согласно следующей формуле:
ldc- М дг
Необходимо подчеркнуть, что количество битов, необходимое для направленных компонентов 325 без потерь больше, чем количество битов, используемых для описания квантованных остатков 309, поскольку направленные компоненты 325 без потерь получаются путем осуществления операций сложения и вычитания квантованных остатков 309.
Направленные компоненты 325 без потерь и прогнозируемая сумма 345 обрабатываются вычислителем 335 преобразованных остатков, с образованием преобразованных остатков 355.
В неограничительном варианте осуществления квантование остатков 300 в квантователе 380, по меньшей мере, частично основано на параметрах, создаваемых посредством обработки всей плоскости остатков, к которым принадлежат остатки 300 (т.е. на основании полного сигнала).
В неограничительном варианте осуществления квантование остатков 300 осуществляется квантова
- 20 040379 телем 380 способом оптимизации, который гарантирует, что разность между реконструированным элементом (т.е. комбинацией прогнозируемого элемента и соответствующего ему остатка) и соответствующим элементом в исходном сигнале ниже данного порога максимальной ошибки, эффективно гарантирует управление ошибками представления сигнала, реконструированного на декодере. В некоторых неограничительных вариантах осуществления квантование остатков 300 осуществляется на основании параметров, которые создаются посредством обработки, по существу, полного сигнала и/или всей плоскости остатков, которая содержит остатки 300. В неограничительном варианте осуществления это достигается посредством обработки полного сигнала и всей плоскости остатков, генерации карты приоритетов, которая назначает значение приоритета каждому остатку в плоскости остатков; затем квантование остатков осуществляется, по меньшей мере, частично на основании упомянутых значений приоритета.
В неограничительном варианте осуществления преобразованные остатки представляют собой символы, выбранные в наборах символов, имеющих разное количество битов (т.е. суммарное количество символов) на основании относительной позиции каждого преобразованного остатка в векторе преобразованных остатков 355.
Как рассмотрено выше, при желании, квантование можно осуществлять непосредственно на остатках 300 до разложения на соответствующие значения. Например, алгоритм 380 квантователя принимает первое множество корректировочных значений (остатков 300) и создает квантованное множество корректировочных значений, например, квантованный остаток 309. В одном варианте осуществления блок 315 направленного разложения применяет одну или более не имеющих потерь и обратимых операций на принятом квантованном множестве корректировочных значений для создания промежуточного множества корректировочных значений, например S, V1, Н1, D1. Вычислитель 335 принимает значение (например, прогнозируемая сумма), выведенное, по меньшей мере, частично на основании представления сигнала на втором уровне качества и прогнозируемого представления сигнала на первом уровне качества. Вычислитель 335 использует значение (например, прогнозируемую сумму 345) для преобразования промежуточного множества корректировочных значений S, V1, Н1, D1 в преобразованный остаток 355 (например, 5s, H1, V1, D1).
В одном варианте осуществления настройки квантованного множества корректировочных значений (например, квантованные остатки 309) создаются таким образом, что разности между настройками во множестве из квантованного множества корректировочных значений (например, квантованными остатками 309) и соответствующими настройками во множестве корректировочных значений (например, настройками 300) ниже порогового значения ошибки.
Дополнительные варианты осуществления
Как рассмотрено выше, корректировочные значения можно квантовать в любой подходящий момент в процессе кодирования. Заметим, что в соответствии с другими дополнительными вариантами осуществления множество корректировочных значений относится к реконструкции некоторого конкретного положения в плоскости нескольких элементов, которые кодируются на разных уровнях качества. Каждый из различных участков элементов в плоскости можно квантовать разными объемами в зависимости от упомянутого конкретного положения, где находятся соответствующие элементы. Например, в относительно однородных областях сигнала, соответствующая область можно квантовать в меньшей степени для сохранения хорошего качества сигнала таких областей; области высокой контрастности можно квантовать в меньшей степени для сохранения хорошего качества сигнала таких областей; области в сигнале, где обнаруживаются конкретный объект, например, человек или текст, можно квантовать в меньшей степени для сохранения хорошего качества сигнала таких областей; и т.д. Соответственно, рассмотренные здесь варианты осуществления могут включать в себя квантование корректировочного значения в зависимости от атрибутов сигнала, к которому относится множество корректировочных значений. В соответствии с дополнительными вариантами осуществления, множество корректировочных значений может представлять собой вектор, включающий в себя несколько компонент данных реконструкции (например, компоненту δ, компоненту H, компоненту V, компоненту D). При кодировании, два или более из этих компонентов можно объединять и представлять единым кодированным символом.
Как упомянуто, каждую из нескольких областей исходного сигнала можно кодировать с использованием соответствующего множества корректировочных значений (например, δ, H, V, D). Например, первый участок или область сигнала можно кодировать посредством первого множества корректировочных значений (например, δ1, H1, V1, D1); второй участок или область сигнала можно кодировать посредством второго множества корректировочных значений (например, 52, H2, V2, D2); третий участок или область сигнала можно кодировать посредством третьего множества корректировочных значений (например, δ3, Н3, V3, D3); и т.д. Рассмотренные здесь варианты осуществления могут включать в себя кодирование каждого по меньшей мере из двух из нескольких множеств данных реконструкции (например, δ, H, V, D) или их участков с использованием общего символа. Соответственно, единый символ можно использовать для представления настроек для нескольких множеств корректировочных значений.
Фиг. 4А иллюстрирует неограничительный вариант осуществления обратнонаправленного разложения, осуществляемого устройством декодера согласно рассмотренным здесь вариантам осуществле
- 21 040379 ния.
Блок 410 обратнонаправленного разложения принимает пять плоскостей элементов с разрешением XxY: плоскость 400-5 прогнозируемых средних значений и четыре плоскости преобразованных остатков: плоскость δ 400-1, плоскость H 400-2, плоскость V 400-3 и плоскость D 400-4.
Блок 410 обрабатывает принятые плоскости согласно обратнонаправленному разложению, создавая плоскость остатков с разрешением 2Xx2Y 420.
В неограничительном варианте осуществления, блок 410 выбирает соответствующие элементы в пяти входных плоскостях, и для каждой группировки соответствующих элементов осуществляет обратнонаправленное разложение, реконструируя направленные компоненты и затем надлежащим образом суммируя и вычитая направленные компоненты для создания множества остатков, соответствующих группировке.
Фиг. 4В иллюстрирует другой неограничительный вариант осуществления обратнонаправленного разложения согласно рассмотренным здесь вариантам осуществления. В частности, схема иллюстрирует операции, осуществляемые процессором сигнала, сконфигурированного как декодер, для реконструкции множества остатков 480.
Четыре квантованных параметра Q(δА) 430-1, Q(H) 430-2, Q(V) 430-3 и Q(D) 430-4 обрабатываются, соответственно, деквантователем 440-1, деквантователем 440-2, деквантователем 440-3 и деквантователем 440-4. Деквантователь 440-1 создает параметр деквантованной дельты 445-1, который обрабатывается объединителем 450 и объединяется с прогнозируемым средним 430-5, создавая деквантованную среднюю компоненту 455-1. Деквантователь 440-2 создает деквантованную горизонтальную компоненту 4552. Деквантователь 440-3 создает деквантованную вертикальную компоненту 455-3. Деквантователь 440-4 создает деквантованную диагональную компоненту 455-4.
Параметры 455-1, 455-2, 455-3 и 455-4 обрабатываются блоком 470 обратнонаправленного разложения, согласно вычислениям, соответствующим матрице М 460, с образованием остатков 480.
В неограничительном варианте осуществления, матрица М 460 соответствует шестнадцати коэффициентам, и остатки 480 получаются посредством операций сложения и вычитания параметров 455-1, 4 55-2, 455-3, 455-4, согласно упомянутым коэффициентам. В неограничительном варианте осуществления, остатки 480 являются множеством четырех остатков, и каждый из упомянутых остатков получается путем умножения каждого из параметров 455-1, 455-2, 455-3, 455-4 на коэффициент матрицы М 460 и затем суммирования результатов упомянутых умножений. В другом неограничительном варианте осуществления, матрица М 460 является матрицей 4x4, и вектор остатков 480 получается путем умножения вектора параметров 455-1, 455-2, 455-3, 455-4 на матрицу М 460.
В неограничительном варианте осуществления, каждый из деквантователей 440-1, 440-2, 440-3 и 440-4 осуществляет операции квантования согласно конкретным параметрам квантования (например, операции деквантования, осуществляемые на параметре 430-1 отличаются от операций деквантования, осуществляемых на параметре 430-2).
Как показано на фиг. 4В, разные операции деквантования можно применять к принятым квантованным данным, например, Q(δА) 430-1, Q(H) 430-2, Q(V) 430-3 и Q(D) 430-4. Деквантователь 440-1 применяет первую операцию деквантования для воспроизведения первого корректировочного значения, например, деквантованной дельты 445-1; деквантователь 440-2 применяет вторую операцию деквантования для воспроизведения второго корректировочного значения 455-2; деквантователь 440-3 применяет третью операцию деквантования для воспроизведения третьего корректировочного значения 455-3; деквантователь 440-4 применяет четвертую операцию деквантования для воспроизведения четвертого корректировочного значения 455-4. Каждая операция деквантования может быть уникальна по отношению друг к другу.
Фиг. 4С иллюстрирует другой неограничительный вариант осуществления обратнонаправленного разложения, осуществляемого процессором сигнала, сконфигурированного как декодер, для реконструкции множества четырех остатков 480 согласно рассмотренным здесь вариантам осуществления.
Вариант осуществления, показанный на фиг. 4С, осуществляет операции, которые аналогичны осуществляемым согласно варианту осуществления, проиллюстрированному на фиг. 4В, за исключением того, что в этом случае декодер принимает только два квантованных параметра Q(H) и Q (V) для реконструкции блока 2x2 четырех остатков 480. Это обусловлено тем, что информация, переносимая параметрами 430-1 и 430-4 на фиг. 4В, вообще говоря, менее важна для восприятия качества, поэтому, в соответствии с ограничениями по полосе, декодер, показанный на фиг. 4С, имеет возможность реконструировать остатки 480 только на основании 430-2 и 430-3, подставляя вместо 430-1 и 430-4 значение, принятое по умолчанию (например, без ограничения, нуль).
Параметры 430-2 и 430-3 обрабатываются деквантователями 440-2 и 440-3, создавая параметры 4552 и 455-3. Блок 470 принимает прогнозируемое среднее 430-5, деквантованную горизонтальную компоненту 455-2, деквантованную вертикальную компоненту 455-3 и нулевое значение 440-6, создавая остатки 480 согласно вычислениям, соответствующим матрице М 460.
Фиг. 4D иллюстрирует неограничительный вариант осуществления обратного разложения без по- 22 040379 терь, осуществляемого процессором сигнала, сконфигурированного как декодер, для реконструкции множества четырех остатков 483 согласно рассмотренным здесь вариантам осуществления. Вариант осуществления иллюстрирует обратное разложение с образованием блока из четырех квантованных остатков 481, преобразованных посредством преобразования разложения без потерь, т.е. с помощью операций квантования, осуществляемых до преобразования, а не после преобразования.
Преобразованный остаток Rt 1, 432-1, параметр, образованный 2 битами, принимается объединителем 451 и объединяется с прогнозируемой суммой 432-5, параметром, образованным n+2 битами, с образованием суммы S квантованных остатков 457-1, параметра, образованного n+2 битами.
Преобразованные остатки R/ 432-2, параметр, образованный n+1 битами, Rt3 432-3, параметр, образованный n+1 битами, и R/ 432-4, параметр, образованный n битами, принимаются и обрабатываются реконструктором 495 избыточных битов совместно с суммой S квантованных остатков 457-1. Реконструктор 495 избыточных битов использует известную избыточность информации, генерируемую разложением без потерь, которое осуществлялось на стороне кодера, и создает дополнительные биты для 4322, 432-3 и 432-4 путем использования в качестве младшего бита младший бит 457-1 и в качестве второго после младшего бита, прибавленного к 432-4, результат операции исключающего ИЛИ (XOR) соответствующих битов 457-1, 432-2 и 432-3. Таким образом, реконструктор 495 избыточных битов создает четыре параметра S 457-1, Н1 457-2, V1 457-3 и D1 457-4, образованные n+2 битами и характеризующиеся тем, что все они имеют один и тот же младший бит и вторые после младшего биты, в результате чего, количество единиц в упомянутых вторых после младшего битах является четным числом.
Параметры 457-1, 457-2, 457-3 и 457-4 обрабатываются посредством обратнонаправленного разложения 472 согласно операциям, соответствующим параметрам, включенным в матрицу М 460, с образованием множества из четырех квантованных остатков 482, причем каждый из упомянутых квантованных остатков образован n битами.
Затем квантованные остатки 482 обрабатываются деквантователем 442 с образованием остатков 483.
Описанные операции, осуществляемые блоком 495 реконструкции избыточных битов для реконструкции избыточной информации в параметрах 457-1, 457-2, 457-3 и 457-4 (которая является известным следствием преобразования без потерь, которое осуществлялось на стороне кодера) являются просто неограничительным вариантом осуществления. Специалисты в данной области техники могут предложить несколько других способов выделения упомянутой избыточной информации на стороне кодера (таким образом, избегая кодирования и передачи избыточной информации) и ее реконструкции на стороне декодера.
Как показано, множество корректировочных значений может представлять собой вектор из нескольких корректировочных компонент Rt 1, R/, R/, R‘4. Применяя матрицу 460 и соответствующую обработку к вектору из нескольких корректировочных компонент, оборудование обработки декодера выводит множество квантованных корректировочных значений, например, остатков 482. С помощью деквантователя 442, оборудование обработки декодера применяет алгоритм деквантования к множеству квантованных корректировочных значений, например, остаткам 482 для создания множества деквантованных корректировочных значений, например, остатков 483 (т.е. данных реконструкции). В одном варианте осуществления, оборудование обработки декодера применяет множество из деквантованного множества корректировочных значений, например остатков 483, к предварительному представлению сигнала для создания рассмотренного здесь вторичного представления сигнала.
В одном варианте осуществления для вывода множества деквантованных корректировочных значений, оборудование обработки декодера может быть выполнено с возможностью применения объединителя 451 для модификации конкретной корректировочной компоненты в векторе для создания модифицированного вектора из нескольких корректировочных компонент (например, остатка 457-1, остатка 4322, остатка 432-3, остатка 432-4). Одна или более из нескольких корректировочных компонент в модифицированном множестве могут иметь разные битовые длины. Оборудование обработки декодера применяет первый алгоритм к модифицированному вектору (например, остатку 457-1, остатку 432-2, остатку 4322, остатку 432-4) из нескольких корректировочных компонент для надлежащей корректировки битовых длин компонент в модифицированном множестве до общей длины, например n+2, как в этом неограничительном иллюстративном варианте осуществления.
Фиг. 5 иллюстрирует неограничительный вариант осуществления операций, осуществляемых декодером, согласно рассмотренным здесь вариантам осуществления. Декодер реконструирует, на основании множества из четырех прогнозируемых элементов 500-1 с LOQ #1, на соответствующем элементе представления сигнала с более низким LOQ #2 и на четырех параметрах 445-1, 455-2, 455-3 и 455-4, четыре элемента 550-1 представления сигнала с LOQ #1.
Блок 520 обрабатывает четыре элемента 500-1 и соответствующий элемент представления 510 с LOQ #2, создавая прогнозируемое среднее (РА) 430-5.
Прогнозируемое среднее 430-5 объединяется с параметром дельта 445-1, создавая параметр А 4551.
Параметры 455-1, 455-2, 455-3 и 455-4 объединяются с элементами 500-1-1, 500-1-2, 500-1-3 и 500- 23 040379
1-4 согласно операциям (сложения и/или вычитания), указанным на фиг. 5, создавая элементы 550-1-1,
550-1-2, 550-1-3 и 550-1-4. Например, элемент 550-1-1 получается путем прибавления 455-1, 455-2, 455-3 и 455-4 к 500-1-1; элемент 550-1-2 получается путем прибавления 455-1 и 455-3 и путем вычитания 455-2 и 455-4 к 500-1-2; и т.д.
В неограничительном варианте осуществления, элементы 500-1-1, ..., 500-1-4 имеют n битов, 455-1, ..., 455-4 имеют n+2 бита, и для каждого элемента 550-1-n сложение и вычитание, показанные на фиг. 5, сначала выполняются на параметрах 455-1, ..., 455-4 (образуя результат из n+2 битов), затем результат делится на 4 (т.е. последние два бита исключаются), с образованием параметра из n битов, и затем упомянутый параметр из n битов суммируется с соответствующим элементом 500-1-n, создавая элемент 5501-n.
Соответственно, оборудование обработки декодера, показанное на фиг. 5, принимает информацию настроек или значение y1, связанное с представлением сигнала 510 на уровне качества #2. Оборудование обработки декодера принимает множество корректировочных значений (например, дельту 445-1, H 4552, V455-3 и D 455-4). Оборудование обработки декодера создает предварительное представление сигнала (например, сигнал 500-1) на уровне качества #1 на основании информации настроек элементов представления сигнала 510 на уровне качества #2. Оборудование обработки декодера создает второе представление сигнала, например, представление 550-1 на уровне качества #2 на основании множества корректировочных значений (например, дельты 445-1, H 455-2, V 455-3 и D 455-4) и предварительного представления сигнала 510 на уровне качества #2. Как показано, создание второго представления сигнала, например, сигнала 550-1 может включать в себя: модификацию множества корректировочных значений дельта 445-1, H 455-2, V 455-3 и D 455-4, по меньшей мере, частично на основании предварительного представления сигнала 550-1 на уровне качества #1. Оборудование обработки декодера применяет модифицированное множество корректировочных значений А 455-1, H 455-2, V455-3 и D 455-4 к предварительному представлению сигнала 500-1 для создания второго представления сигнала 550-1.
В соответствии с дополнительными вариантами осуществления, информацию настроек, например у1, можно рассматривать как первую информацию настроек. Модификация множества корректировочных значений, например, дельты 445-1, H 455-2, V455-3 и D 455-4 может включать в себя: на блоке 520 обработки, прием первой информации у1 настроек. Первая информация у1 настроек связана с предварительным представлением сигнала 500-1. Блок 520 обработки принимает вторую информацию настроек, например, настройки элемента 500-1-1 (Р11), элемента 500-1-2 (P12), элемента 500-1-3 (P21) и элемента 500-1-4 (Р22). Вторая информация настроек связана с представлением сигнала на уровне качества #1. Предварительное представление сигнала 500-1 выводится, по меньшей мере, частично на основании первой информации у1 настроек. Блок 520 обработки применяет математический алгоритм к комбинации первой информации у1 настроек и второй информации настроек для создания модификационного значения, например, значения 430-5. Функция 562 применяет модификационное значение 430-5 к множеству корректировочных значений (например, дельте 445-1) для создания модифицированного множества корректировочных значений, которое включает в себя значение А 455-1.
В одном варианте осуществления, функция 562 принимает а компоненту данных, например, дельту 445-1 из множества корректировочных значений, включающих в себя дельту 445-1, H 455-2, V455-3 и D 455-4. В одном варианте осуществления, одна или более из нескольких компонент во множестве корректировочных значений включает в себя информацию направленного наклона.
Функция 562 суммирует модификационное значение 430-5 и извлеченную компоненту дельта 445-1 для модификации компоненты дельта обратно в среднее 455-1. Путем применения значений 532 матрицы (т.е. путем выполнения операций сложения и вычитания согласно значениям 532 матрицы), оборудование обработки декодера модифицирует настройки каждого из нескольких элементов в предварительном представлении сигнала на втором уровне качества с использованием модифицированной компоненты дельта 455-1. Другими словами, оборудование обработки декодера, показанное на фиг. 5 использует значение 430-5 для модификации каждого из предварительного представления сигнала 500-1 для создания второго представления сигнала 550-1.
Как рассмотрено, декодирование можно осуществлять на каждом из нескольких уровней вверх по иерархии из нескольких уровней. Заметим, что второе представление сигнала 550-1 затем можно использовать как основу для создания предварительного представления сигнала на следующем в порядке возрастания уровне качества.
Кроме того, как рассмотрено ранее, представление сигнала 510 на уровне качества #2 может быть первым уровнем качества и представляет разрешение первого изображения. Уровень качества #1 может быть разрешением второго изображения, которое ниже разрешения первого изображения. Таким образом, представление сигнала 510 на одном уровне качества включает в себя первое множество элементов изображения (например, без ограничения, один элемент y1). Представление сигнала, например, сигнала 500-1 и 550-1, включает в себя второе множество элементов изображения (например, без ограничения, четыре элемента x11, x12, x21 и х22).
Как упомянуто выше, данные реконструкции, включающие в себя данные 510 реконструкции, например, у1 и корректировочные значения δА 445-1, H 455-2, V455-3 и D 455-4, могут дополнительно
- 24 040379 включать в себя метаданные. Оборудование обработки декодера, показанное на фиг. 5, может быть выполнено с возможностью приема метаданных, связанных с множеством корректировочных значений. Посредством обработки метаданных, оборудование обработки декодера идентифицирует одну или более операций, подлежащих применению к данным реконструкции для воспроизведения представления сигнала 550-1 с использованием метаданных. Например, в одном варианте осуществления оборудование обработки декодера применяет идентифицированные одну или более операций к множеству корректировочных значений и/или значению у1 для вывода второго представления сигнала 550-1 из предварительного представления сигнала 500-1.
Дополнительно, рассмотренные здесь варианты осуществления могут включать в себя прием метаданных, связанных с множеством корректировочных значений. Оборудование обработки декодера может быть выполнено с возможностью идентификации одной или более операций, указанных метаданными. Оборудование обработки декодера применяет одну или более идентифицированных операций к множеству корректировочных значений для вывода второго представления сигнала 550-1 из предварительного представления сигнала 500-1.
Один рассмотренный здесь вариант осуществления включает в себя линейное применение модифицированного множества корректировочных значений к предварительному представлению сигнала. Например, применение значений 532 матрицы может включать в себя создание второго представления сигнала 550-1 посредством линейного применения (например, с помощью показанных функций суммы и разности) модифицированного множества корректировочных значений, например, среднего А 455-1, H 455-2, V 455-3 и D 455-4 к предварительному представлению сигнала 500-1.
Таким образом, как показано, с помощью значений 532 матрицы, оборудование обработки декодера создает второе представление сигнала 550-1 путем применения модифицированного множества корректировочных значений среднего А 455-1, H 455-2, V455-3 и D 455-4 к предварительному представлению сигнала 500-1. Модифицированное множество корректировочных значений включает в себя вектор взвешенных значений (указанных функциями сложения и функциями вычитания), применяемых к предварительному представлению сигнала 500-1 в соответствии со значениями 532 матрицы.
В соответствии с еще одним иллюстративным вариантом осуществления, вектор, соответствующий среднему А 455-1, H 455-2, V455-3 и D 455-4, представляет модифицированное множество корректировочных значений. Оборудование обработки декодера может быть выполнено с возможностью создания вторичного представления сигнала 550-1 путем применения модифицированного множества корректировочных значений к предварительному представлению сигнала 500-1. Вектор корректировочных значений можно применять оборудованием обработки декодера к предварительному представлению для создания вторичного представления сигнала 550-1 в соответствии с весовыми коэффициентами, указанными значениями 532 матрицы.
Значения матрицы можно изменять и выбирать из группы возможных матриц, содержащих:
р 5 4 3 21 h -1 4 3 21
-1 -2 3 21 ’j 1 -1' -2-32I h -1 -2 -3 -41 (1 _2 -3 -4 -5j
Наподобие рассмотренного ранее, данные реконструкции, включающие в себя данные 510 реконструкции, например, у1 и корректировочные значения дельта 445-1, H 455-2, V455-3 и D 455-4, могут приниматься в качестве кодированной информации.
Оборудование обработки декодера, принимающее такие данные, может быть выполнено с возможностью декодирования кодированной информации в несколько символов. Оборудование обработки декодера может быть выполнено с возможностью извлечения символа из нескольких символов и, в зависимости от кодирования, создавая любую одну или более компонент во множестве корректировочных значений дельта 445-1, H 455-2, V455-3 и D 455-4 из извлеченного символа.
На фиг. 6 показана блок-схема операций, демонстрирующая неограничительный вариант осуществления, реализующий направленное разложение в цикле многоуровневого иерархического кодирования согласно рассмотренным здесь вариантам осуществления.
Процессор сигнала, сконфигурированный как кодер, принимает сигнал при данном уровне качества (самый высокий LOQ), осуществляет операции понижающей дискретизации, пока не будет создано представление сигнала на нижнем LOQ (причем упомянутый нижний LOQ ниже самого высокого LOQ), кодирует представление сигнала на нижнем LOQ подходящим способом кодирования, создавая кодированные данные реконструкции, и затем обрабатывает упомянутые кодированные данные реконструкции
- 25 040379 для имитации операций, осуществляемых на стороне декодирования, создавая декодированное представление сигнала на нижнем LOQ (этап 6.01 на фиг. 6).
Создав декодированное представление сигнала на нижнем LOQ, кодер входит в цикл обработки, который повторяется для каждого следующего в порядке возрастания LOQ, обрабатывая иерархию LOQ уровень за уровнем до самого высокого LOQ.
В частности, кодер обрабатывает декодированное представление сигнала на данном LOQ (более низком LOQ) и создает прогнозируемое представление сигнала на следующем в порядке возрастания LOQ. Затем кодер создает остаточные данные, причем упомянутые остаточные данные соответствуют разности между исходным представлением сигнала на следующем в порядке возрастания LOQ и прогнозируемым представлением сигнала на следующем в порядке возрастания LOQ (этап 6.02).
Затем кодер разделяет остаточные данные на группировки остатков (например, без ограничения, смежные группировки 2x2 остатков) и для каждой группировки осуществляет преобразование направленного разложения, создавая направленные компоненты (этап 6.03).
Затем кодер создает четыре отдельные плоскости направленных компонент (среднюю, горизонтальную, вертикальную, диагональную), причем соответствующие элементы упомянутых четырех плоскостей соответствуют одной и той же группировки остатков (этап 6.04).
Затем кодер создает плоскость прогнозируемых средних компонент, где каждый из элементов упомянутой плоскости является прогнозируемым средним для соответствующей группировки остатков, вычисленной на основании разности между средним соответствующих прогнозируемых элементов на следующем в порядке возрастания LOQ и соответствующим элементом на более низком LOQ. Кодер создает плоскость компонент дельты, причем каждый элемент плоскости вычисляется как разность между соответствующей средней компонентой и соответствующей прогнозируемой средней компонентой. Плоскость дельты заменяется плоскостью средних значений, с образованием множества из четырех преобразованных направленных компонент дельта, H, V и D (этап 6.05).
Затем кодер квантует плоскости преобразованных направленных компонент, создавая плоскости квантованных преобразованных направленных компонентов (этап 6.06).
Затем квантованные преобразованные направленные компоненты кодируются с образованием кодированных данных реконструкции (этап 6.08).
Затем, для перехода на следующий уровень в иерархии, кодер имитирует операции декодирования, которые будут осуществляться на стороне декодирования, создавая декодированное представление сигнала на следующем в порядке возрастания LOQ. С этой целью, кодер деквантует плоскости квантованных преобразованных направленных компонентов; объединяет плоскость деквантованных дельт с плоскостью прогнозируемых средних значений, реконструируя плоскость деквантованных средних компонент; вычисляет остаточные данные путем осуществления, для каждой группировки четырех остатков, обратнонаправленного разложения соответствующих направленных компонент А, H, V и D; объединяет остаточные данные с прогнозируемым представлением сигнала на следующем в порядке возрастания LOQ, создавая декодированное представление сигнала на следующем в порядке возрастания LOQ (этап 6.07).
При этом, если следующий в порядке возрастания LOQ не является самым высоким LOQ, кодер переходит к следующему уровню в иерархии, возвращаясь к этапу 6.02, где, для следующего уровня в иерархии, представление сигнала на следующем в порядке возрастания LOQ, который только что был декодирован, становится декодированным представлением сигнала на более низком LOQ.
В других неограничительных вариантах осуществления операции квантования, применяемые к каждой плоскости преобразованных направленных компонент, основаны на параметрах, которые специфичны для каждого класса преобразованных направленных компонент (например, без ограничения, уровень квантования, применяемый к диагональным компонентам, сильнее, чем уровень квантования, применяемый к горизонтальным и/или вертикальным компонентам).
В других неограничительных вариантах осуществления кодер, вместо создания и кодирования четырех отдельных плоскостей преобразованных компонент, создает и кодирует группировки из четырех преобразованных компонент, причем каждая из упомянутых группировок соответствует группировке из четырех остатков в плоскости остатков.
В других неограничительных вариантах осуществления кодер осуществляет операции квантования на этапе 6.02, создавая квантованные остатки. В таких вариантах осуществления операции разложения и обратного разложения являются операциями без потерь, т.е. к направленным компонентам и/или преобразованным направленным компонентам не применяется никакого дополнительного квантования.
В других неограничительных вариантах осуществления представление сигнала на нижнем LOQ кодируется посредством способа на основе MPEG; таким образом, традиционные декодеры, которые не выполнены с возможностью обработки и реконструкции более высоких LOQ в иерархии, по меньшей мере, способны декодировать представления сигнала на нижнем LOQ.
На фиг. 7 показана блок-схема операций, демонстрирующая неограничительный вариант осуществления, реализующий обратнонаправленное разложение в цикле многоуровневого иерархического декодирования согласно рассмотренным здесь вариантам осуществления.
- 26 040379
Процессор сигнала, сконфигурированный как декодер, принимает и декодирует кодированные данные, соответствующие нижнему уровню качества, создавая декодированное представление сигнала на упомянутом нижнем LOQ (этап 7.01).
Создав декодированное представление сигнала на нижнем LOQ, декодер входит в цикл декодирования, который повторяется для каждого следующего в порядке возрастания LOQ, реконструируя иерархию LOQ уровень за уровнем до самого высокого LOQ.
В частности, декодер обрабатывает декодированное представление сигнала на данном LOQ (более низком LOQ), декодирует данные реконструкции, соответствующие следующему в порядке возрастания LOQ и создает четыре плоскости квантованных параметров. Затем декодер осуществляет подходящие операции деквантования на упомянутых плоскостях квантованных параметров, создавая деквантованные преобразованные параметры (этап 7.02).
Затем декодер создает прогнозируемое представление сигнала на следующем в порядке возрастания LOQ, путем использования операций повышающей дискретизации и/или других операций обработки сигнала, указанных принятым параметрам (этап 7.03).
Для каждой группировки из четырех деквантованных преобразованных параметров (дельта, H, V, D), соответствующих группировке из четырех остатков, декодер создает параметр прогнозируемого среднего, вычисленный на основании разности между соответствующим элементом сигнала на более низком LOQ и средним четырех соответствующих элементов прогнозируемого представления сигнала на следующем в порядке возрастания LOQ. для каждой группировки, прогнозируемое среднее объединяется с деквантованной компонентой дельта, создавая деквантованную среднюю компоненту (этап 7.04).
Затем, для каждой группировки декодер осуществляет обратное соответствующих деквантованных компонент среднего, H, V и D, создавая четыре остатка. В частности, каждый из остатков получается путем осуществления линейной комбинации (т.е. сумм и/или разностей, с подходящими коэффициентами) деквантованных компонент среднего, H, V и D. Таким образом, декодер создает плоскость остатков на следующем в порядке возрастания LOQ (этап 7.05).
Затем декодер объединяет прогнозируемое представление сигнала на следующем в порядке возрастания LOQ с созданными остатками, реконструируя декодированное представление сигнала на следующем в порядке возрастания LOQ (этап 7.06).
При этом, если следующий в порядке возрастания LOQ не является самым высоким LOQ, декодер переходит к декодированию следующего уровня в иерархии, возвращаясь к этапу 7.02, в котором, для следующего LOQ в иерархии, представление сигнала на следующем в порядке возрастания LOQ, которое только что было декодировано, становится декодированным представлением сигнала на более низком LOQ.
В других неограничительных вариантах осуществления операции деквантования осуществляются после преобразования обратного разложения, деквантуя остатки вместо того, чтобы деквантовать преобразованные параметры.
На фиг. 8 показана блок-схема компьютерной системы 800, которая обеспечивает компьютерную обработку согласно рассмотренным здесь вариантам осуществления.
Компьютерная система 800 может представлять собой или, по меньшей мере, включать в себя компьютеризированное устройство, например, персональный компьютер, схему обработки, телевизор, устройство воспроизведения, устройство кодирования, рабочую станцию, портативное вычислительное устройство, мобильный телефон, планшет, консоль, телевизионную приставку, сетевой терминал, устройство обработки, сетевое устройство, действующее как коммутатор, маршрутизатор, сервер, клиент и т.д.
Заметим, что нижеследующее рассмотрение обеспечивает базовый вариант осуществления, указывающий, как осуществлять функциональные возможности, связанные с рассмотренным ранее процессором сигнала. Однако следует отметить, что фактическая конфигурация для осуществления описанных здесь операций может изменяться в зависимости от соответствующего применения.
Как показано, компьютерная система 800 настоящего примера содержит шину 811 связи, которая обеспечивает связь со считываемыми компьютером средами 812 хранения, например, нетранзиторной считываемой компьютером средой хранения и т.д., в которой может храниться и из которой может извлекаться цифровая информация.
Компьютерная система 800 может дополнительно содержать процессор 813, интерфейс 814 вводавывода и интерфейс 817 связи.
В одном варианте осуществления интерфейс 814 ввода-вывода обеспечивает возможность соединения с хранилищем 880 и, при наличии, с экранным дисплеем, громкоговорителями, периферийными устройствами 816, например, клавиатурой, компьютерной мышью и т.д.
Как кратко упомянуто выше, считываемые компьютером среды 812 хранения могут представлять собой любое подходящее устройство и/или оборудование, например, память, оптическое запоминающее устройство, твердотельное запоминающее устройство, жесткий диск, флоппи-диск и т.д. В одном варианте осуществления, среды 812 хранения представляют собой нетранзиторные среды хранения (т.е. среды не на основе несущих волн), выполненные с возможностью хранения инструкций, связанных с приложением 840-1 процессора сигнала. Инструкции выполняются соответствующим ресурсом, например
- 27 040379 процессором 813, для осуществления любой из рассмотренных здесь операций.
Интерфейс 817 связи позволяет компьютерной системе 800 осуществлять связь по сети 890 для извлечения информации из удаленных источников и осуществлять связь с другими компьютерами, коммутаторами, клиентами, серверами и т.д. Интерфейс 814 ввода-вывода также позволяет процессору 813 извлекать или пытаться извлечь сохраненную информацию из хранилища 880.
Как показано, считываемые компьютером среды 812 хранения можно кодировать с помощью приложения 840-1 процессора сигнала, выполняемого процессором 813, как процесса 840-2.
Заметим, что компьютерную систему 800 можно реализовать для включения считываемых компьютером сред 812 хранения для хранения данных и/или логических инструкций.
Код, связанный с приложением 840-1 процессора сигнала, может реализовать функциональные возможности проиллюстрированных здесь процессоров сигнала и/или других ресурсов, необходимых для реализации рассмотренного здесь изобретения.
При выполнении одного варианта осуществления процессор 813 обращается к считываемым компьютером средам 812 хранения через шину 811 связи для запуска, выполнения, исполнения, интерпретации или иного осуществления инструкций приложения 840-1 процессора сигнала, хранящихся в считываемых компьютером средах 812 хранения. Выполнение приложения 840-1 процессора сигнала создает функциональные возможности обработки на процессоре 813. Другими словами, процесс 840-2 процессора сигнала, связанный с процессором 813, представляет один или более аспектов выполнения приложения 840-1 процессора сигнала в или на процессоре 813 в компьютерной системе 800.
Специалистам в данной области техники очевидно, что компьютерная система 800 может включать в себя другие процессы и/или программные и аппаратные компоненты, например, операционную систему или другое программное обеспечение, которое управляет выделением и использованием ресурсов обработки оборудования для выполнения приложения 840-1 процессора сигнала.
В соответствии с различными вариантами осуществления заметим, что компьютерная система может представлять собой любой из различных типов устройств, включающих в себя, но без ограничения, персональную компьютерную систему, настольный компьютер, портативный компьютер, ноутбук, компьютер типа нетбук, универсальную компьютерную систему, карманный компьютер, рабочую станцию, сетевой компьютер, сервер приложений, запоминающее устройство, бытовое электронное устройство, например, камеру, ручную камеру, телевизионную приставку, мобильное устройство, смартфон, планшет, консоль для видеоигр, карманное устройство для видеоигр, периферийное устройство, например, коммутатор, модем, маршрутизатор или, в общем случае, любой тип вычислительного или электронного устройства.
Функциональные возможности, поддерживаемые различными ресурсами, будут проиллюстрированы ниже на блок-схемах операций, представленных на фиг. 10-11. Заметим, что этапы, изображенные на нижеописанных блок-схемах операций, могут выполняться в любом подходящем порядке.
На фиг. 10 показана блок-схема 1000 операций, демонстрирующая иллюстративный способ согласно описанным здесь неограничительным вариантам осуществления. Заметим, что это несколько перекликается с рассмотренными выше принципами.
В блоке обработки 1010, оборудование компьютерного процессора принимает первое множество корректировочных значений, причем первое множество корректировочных значений указывает корректировки, которые должны быть осуществлены в отношении прогнозируемого представления сигнала, генерируемого на первом уровне качества, для реконструкции представления сигнала на первом уровне качества.
В блоке обработки 1020, оборудование компьютерного процессора обрабатывает первое множество корректировочных значений.
В блоке обработки 1030, оборудование компьютерного процессора выводит второе множество корректировочных значений на основании первого множества корректировочных значений и на основании представления сигнала на втором уровне качества. Второй уровень качества ниже, чем первый уровень качества.
На фиг. 11 показана блок-схема 1100 операций, демонстрирующая иллюстративный способ согласно описанным здесь неограничительным вариантам осуществления. Заметим, что это несколько перекликается с рассмотренными выше принципами.
В блоке обработки 1110, оборудование компьютерного процессора принимает информацию настроек, связанную с представлением сигнала на первом уровне качества.
В блоке обработки 1120, оборудование компьютерного процессора принимает множество корректировочных значений.
В блоке обработки 1130, оборудование компьютерного процессора создает предварительное представление сигнала на втором уровне качества на основании информации настроек. Второй уровень качества выше первого уровень качества.
В блоке обработки 1140, оборудование компьютерного процессора создает вторичное представление сигнала на втором уровне качества на основании множества корректировочных значений и предварительного представления сигнала на втором уровне качества.
- 28 040379
Заметим, опять же, что раскрытые здесь методы хорошо подходят для кодирования и декодирования в иерархических системах. Однако следует отметить, что рассмотренные здесь варианты осуществления не ограничиваются использованием в таких приложениях, и что рассмотренные здесь методы хорошо подходят и для других приложений.
На основании изложенного здесь описания, многочисленные конкретные детали изложены для обеспечения полного понимания заявленного предмета изобретения. Однако специалистам в данной области техники понятно, что заявленный предмет изобретения можно осуществлять на практике без этих конкретных деталей. В других случаях, способы, устройства, системы и т.д., известные специалистам, не описаны подробно, чтобы не затемнять заявленный предмет изобретения. Некоторые участки подробного описания были представлены в отношении алгоритмов или символических представлений операций на битах данных или двоичных цифровых сигналов, хранящихся в памяти вычислительной системы, например, памяти компьютера. Эти алгоритмические описания или представления являются примерами методов, используемых специалистами в области обработки данных для передачи предмета своей работы другим специалистам в технике. Описанный здесь алгоритм, в общем случае, считается самосогласованной последовательностью операций или аналогичной обработки, приводящей к нужному результату. В этом контексте, операции или обработка предусматривают физическую манипуляцию физических величин. Обычно, хотя не обязательно, такие величины могут принимать форму электрических или магнитных сигналов, допускающих сохранение, перенос, объединение, сравнение или другое манипулирование. Иногда бывает удобно, в основном, по причинам общего использования, рассматривать такие сигналы как биты, данные, значения, настройки, элементы, символы, знаки, термины, числа, цифры и т.п. Однако следует понимать, что все эти и аналогичные термины должны быть связаны с надлежащими физическими величинами и являются всего лишь удобными ярлыками.
Если конкретно не указано обратное, как следует из нижеследующего рассмотрения, очевидно, что на протяжении это описание изобретения использование таких терминов, как обработка, вычисление, вычисление, создание, определение и т.п. относятся к действиям или процессам вычислительной платформы, например, компьютера или аналогичного электронного вычислительного устройства, которое манипулирует данными или преобразует данные, представленные в качестве физических электронных или магнитных величин в блоках памяти, регистрах или других устройствах хранения информации, устройствах передачи или устройствах отображения вычислительной платформы.
Хотя это изобретение было конкретно показаны и описаны со ссылками на его предпочтительные варианты осуществления, специалистам в данной области техники понятно, что можно предложить различные изменения в форме и деталях, не выходящие за рамки сущности и объема настоящей заявки которые определяются нижеследующей формуле изобретения. Такие изменения подлежат включению в объем настоящей заявки. Поэтому вышеприведенное описание вариантов осуществления настоящей заявки не подлежит ограничению. Напротив, любые ограничения изобретения представлены в нижеследующей формуле изобретения.

Claims (16)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ кодирования видеосигнала, содержащий посредством оборудования компьютерной обработки прием (6.01) плоскости видеосигнала с первым разрешением, причем плоскость содержит плоскость пикселей;
    понижающую дискретизацию (6.01) плоскости видеосигнала для генерирования представления плоскости со вторым разрешением, причем второе разрешение ниже, чем первое разрешение;
    создание (6.01, 6.02) предсказанной плоскости сигнала с первым разрешением посредством получения кодированной плоскости сигнала со вторым разрешением и повышающей дискретизации сымитированного декодирования кодированной плоскости сигнала со вторым разрешением;
    создание (6.02) остаточных данных как разности между принятой плоскостью видеосигнала с первым разрешением и предсказанной плоскостью видеосигнала с первым разрешением;
    обработку (6.03, 6.04) остаточных данных с использованием направленного разложения для генерирования наборов направленных компонент (320), причем направленное разложение применяется к 2x2 блокам остатков для генерирования, для каждого 2x2 блока, четырех направленных компонент:
    А - среднее значение блока остатков,
    Н - горизонтальная разность в пределах блока остатков,
    V - вертикальная разность в пределах блока остатков и
    D - диагональная разность в пределах блока остатков;
    выведение (6.05) наборов преобразованных остатков (350) из наборов направленных компонентов (320) посредством корректировки средней направленной компоненты каждого набора направленных компонент (320), включающее в себя определение предсказанного среднего значения для каждого 2x2 блока как разности между квантованным пиксельным значением при втором разрешении, представляющим блок, и средним значением
    - 29 040379 соответствующего блока в предсказанной плоскости сигнала, и вычитание предсказанного среднего значения из средней направленной компоненты для блока остатков;
    квантование (6.06) наборов преобразованных остатков (350); и кодирование (6.08) квантованных наборов преобразованных остатков для вывода кодированных данных реконструкции для передачи в оборудование обработки декодера для декодирования.
  2. 2. Способ по п.1, дополнительно содержащий этап, на котором передают кодированные данные реконструкции в оборудование обработки декодера.
  3. 3. Способ по п.1, в котором каждый набор преобразованных остатков относится к реконструкции конкретного положения в плоскости видеосигнала с первым разрешением; и в котором наборы преобразованных остатков квантуются в зависимости от атрибутов изображения в конкретных положениях.
  4. 4. Способ по п.1, в котором наборы преобразованных остатков квантуются в зависимости от атрибутов изображения частей кадра видеосигнала, которые соответствуют наборам преобразованных остатков, причем одно или более из однородных областей изображения, областей изображения с резким контрастом и областей изображения с обнаруженным объектом квантуются в меньшей степени.
  5. 5. Способ по п.1, содержащий кодирование по меньшей мере двух направленных компонент с использованием одного символа.
  6. 6. Способ декодирования видеосигнала, содержащий посредством оборудования компьютерной обработки прием (7.01) декодированных пиксельных значений, связанных с плоскостью видеосигнала с первым разрешением;
    прием (7.02) кодированных данных реконструкции для видеосигнала;
    декодирование (7.02) кодированных данных реконструкции для получения квантованных наборов преобразованных остатков;
    деквантование (7.02) квантованных наборов преобразованных остатков для получения наборов преобразованных остатков;
    создание (7.03) предварительного представления плоскости видеосигнала со вторым разрешением посредством повышающей дискретизации упомянутых пиксельных значений, причем второе разрешение выше, чем первое разрешение;
    генерирование (7.04, 7.05) плоскости остатков из наборов преобразованных остатков посредством выполнения обратнонаправленного разложения, при этом каждый набор преобразованных остатков содержит четыре направленных компоненты, соответствующих соответствующим 2x2 блокам плоскости остатков, причем направленные компоненты содержат δ - скорректированное среднее значение блока остатков,
    H - горизонтальная разность в пределах блока остатков,
    V - вертикальная разность в пределах блока остатков и
    D - диагональная разность в пределах блока остатков, и создание (7.06) вторичного представления плоскости видеосигнала со вторым разрешением посредством объединения плоскости остатков и предварительного представления плоскости видеосигнала со вторым разрешением, при этом способ дополнительно содержит создание (7.05) предсказанного среднего параметра для каждого 2x2 блока, выводимого из набора преобразованных остатков, причем предсказанный средний параметр вычисляется как разность между соответствующим пиксельным значением для блока с первым разрешением и средним значением соответствующего блока в предварительном представлении плоскости видеосигнала со вторым разрешением; и выполнение объединения посредством сложения предсказанных средних параметров с соответствующими скорректированными средними направленными компонентами во время создания вторичного представления плоскости видеосигнала, чтобы восстановить средние направленные компоненты для плоскости остатков.
  7. 7. Способ по п.6, в котором выполнение объединения предсказанных средних параметров включает в себя суммирование каждого предсказанного среднего параметра и соответствующего скорректированного среднего направленного компонента для модификации скорректированного среднего направленного компонента.
  8. 8. Способ по п.7, дополнительно содержащий модификацию настроек каждого из множества пиксельных элементов в предварительном представлении плоскости видеосигнала со вторым разрешением на основе модифицированной направленной компоненты.
  9. 9. Способ по п.6, в котором предварительное представление плоскости видеосигнала со вторым разрешением является предсказанным представление плоскости видеосигнала со вторым разрешением; и в котором вторичное представление плоскости видеосигнала со вторым разрешением используется в качестве основы для создания предварительного представления плоскости видеосигнала с третьим разре-
    - 30 040379 шением, причем третье разрешение выше, чем второе разрешение.
  10. 10. Способ по п.6, дополнительно содержащий прием метаданных, связанных с кодированными данными реконструкции; идентификацию операцию повышающей дискретизации, которая определена метаданными; и применение операции повышающей дискретизации для выведения предварительного представления плоскости видеосигнала со вторым разрешением.
  11. 11. Способ по п.6, дополнительно содержащий создание вторичного представления плоскости видеосигнала со вторым разрешением посредством линейного применения плоскости остатков к предварительному представлению плоскости видеосигнала.
  12. 12. Способ по п.6, в котором направленные компоненты представляются в виде вектора значений, и каждый блок остатков извлекается из направленных компонент с использованием весовых коэффициентов, которые определены матрицей.
  13. 13. Способ по п.6, дополнительно содержащий прием кодированных данных реконструкции; декодирование кодированных данных реконструкции в множество символов; извлечение символа из множества символов и создание квантованных преобразованных остатков из извлеченного символа.
  14. 14. Способ по п.6, дополнительно содержащий применение первой операции деквантования для воспроизведения первого преобразованного остатка; и применение второй операции деквантования для воспроизведения второго преобразованного остатка, причем первая операция деквантования отличается от второй операции деквантования.
  15. 15. Устройство кодирования/декодирования видеосигнала, содержащее процессор и память, в которую помещают программные инструкции для процессора для осуществления способа по любому из пп.114.
  16. 16. Машиночитаемый носитель информации, содержащий инструкции для процессора устройства кодирования/декодирования видеосигнала для осуществления операций способа по любому из пп.1-14.
EA201492099 2012-05-14 2013-05-13 Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества EA040379B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61/646,797 2012-05-14
US61/647,426 2012-05-15

Publications (1)

Publication Number Publication Date
EA040379B1 true EA040379B1 (ru) 2022-05-25

Family

ID=

Similar Documents

Publication Publication Date Title
US11622112B2 (en) Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US9313495B2 (en) Encoding and decoding based on blending of sequences of samples along time
TW201531745A (zh) 用於全視差壓縮光場三維成像系統之方法
EP4104444A1 (en) Use of tiered hierarchical coding for point cloud compression
EP4042695A1 (en) Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling
JP2023546392A (ja) マルチレイヤ信号符号化の分散解析
JP2022172137A (ja) 適応乗算係数を用いた画像フィルタリングのための方法および装置
US20240040160A1 (en) Video encoding using pre-processing
KR20230107627A (ko) 후처리 제어를 이용한 비디오 디코딩
JP2013128260A (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US11259005B1 (en) Method for compressing light-field data
EA040379B1 (ru) Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества
Sahooinst et al. Haar wavelet transform image compression using various run length encoding schemes
GB2614054A (en) Digital image processing
EP2698996A2 (en) Decoder and method