Сжатие видеоданных без видимых потерь

Иллюстрации

Показать все

Изобретение относится к обработке видеоданных и, более конкретно, к сжатию и декомпрессии видеоданных в видеопамяти перед кодированием или выводом. Техническим результатом является уменьшение необходимой полосы пропускания шины и/или размера накопителя и памяти для потоков видеоданных. Указанный технический результат достигается тем, что предложены устройство и способ выполнения сжатия видеоданных YUV (или YCrCb) для сохранения в памяти и декомпрессии после получения блоков из памяти. Сжатие выполняют с использованием квантователя для сжатия видеоданных до требуемого общего коэффициента R сжатия, даже при том, что вклады данных яркости и цветности в общее сжатие могут отличаться для каждого подблока, каждый из которых, предпочтительно, выбирают в соответствии с оценкой текстуры. Выбор выполняют для каждого подблока для выполнения либо линейного, либо нелинейного квантования во время сжатия. Сжатие выполняют без использования данных из блоков, полученных за пределами сжимаемого блока, в котором блоки видеоданных могут быть получены и восстановлены в любом требуемом порядке. Как вариант кодер непоследовательно выбирает блоки из памяти, которые затем подвергают восстановлению и кодируют. 5 н. и 15 з.п. ф-лы, 17 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение, в общем, относится к обработке видеоданных, и, более конкретно, к сжатию и декомпрессии видеоданных в видеопамяти перед кодированием или выводом.

Уровень техники

Типичная видео архитектура предназначена для предварительной обработки видеоданных перед сохранением их в запоминающее устройстве видео кадра, доступ к которому обычно осуществляется через внешнюю шину. Видеоданные затем получают из видеопамяти во время процесса кодирования и/или для вывода. Количество передаваемых по шине данных между кодером и видеопамятью может быть очень большим, в результате чего возникает потребность в использовании больших объемов видеопамяти, что требует огромной полосы пропускания шины памяти, и, следовательно, приводит к большому потреблению энергии.

На фиг.1 показана обычная архитектура видеокамеры или фотокамеры. Входное видеоизображение, полученное с помощью устройства ввода данных, такого как датчики CCD (ПЗС, прибор с зарядовой связью) или CMOS (КМОП, комплементарная структура металл-оксид-полупроводник), затем сохраняют во внешнем запоминающем устройстве после предварительной обработки. Обычно предварительная обработка содержит снижение шумов и преобразование видеоданных из формата RGB (КЗС, красный, зеленый, синий) в YUV (одно значение яркости Y, два значения цветоразностных сигналов U+V). Другие устройства обработки, такие как видеокодер или устройство дисплея, затем считывают видеоданные из видеопамяти.

Поскольку количество видеоданных обычно велико, требуемая полоса пропускания шины для передачи видеоданных через внешнюю шину существенно большая. В частности, при применении в области видеоизображений HD (ВЧ, высокой четкость) требуемая полоса пропускания шины чрезмерна, при этом стоимость полосы пропускания, а также потребление энергии становится очень высокими, что затрудняет воплощение систем формирования неподвижных/видеоизображений с малой стоимостью.

Другая техническая задача в системах видеокамеры в этом отношении связана с требуемым размером памяти. Большинство видеоустройств воплощены в форме Soc (Система на кристалле). Обычно стоимость внешней памяти (такой как SDRAM (СДОЗУ,синхронное динамическое оперативное запоминающее устройство), как правило, выше, чем у других устройств. Поэтому уменьшение требуемого размера памяти позволяет уменьшить общую стоимость системы.

В соответствии с этим, существует потребность в способе уменьшения необходимой полосы пропускания шины и/или размера накопителя и памяти для потоков видеоданных, и, в частности, когда его выполняют перед процессом кодирования видеоданных. Настоящее изобретение выполняет эту и другие задачи, и преодолевает ограничения решений предшествующего уровня техники.

Сущность изобретения

Описаны устройство и способ для сжатия видеоданных без видимых потерь, в которых используется способ сжатия/декомпрессии видеоданных YUV. Для простоты здесь будет использоваться термин YUV видеоданные, хотя следует понимать, что такие сокращения, как YCrCb видеоданные или другие аналогичные схемы кодирования в равной степени применимы к приведенным здесь описанию и формуле изобретения. Входные видеоданные сжимают путем разделения каждого кадра на набор сжатых блоков, имеющих заданное количество пикселей, для каждого компонента (например, N пикселей для Y, М пикселей для U, V). Блоки сжатия не перекрываются с другими блоками сжатия и, таким образом, их можно обрабатывать независимо друг от друга без необходимости обращения к информации из других блоков сжатия, в котором к видеоданным можно обращаться случайным образом, что особенно хорошо подходит для использования в видеокодере. В результате сохранение блоков сжатия в запоминающем устройстве требует меньшего объема памяти, а также меньшей полосы пропускания шины, с учетом малого размера сжатых блоков. После этого сжатые видеоданные получают в любом требуемом порядке (например, непоследовательно) из памяти и восстанавливают их с помощью, например, кодера и/или, менее предпочтительно, для вывода на дисплей. Декомпрессия позволяет восстановить данные в их исходном формате, в котором в устройстве или приложении, в котором используются восстановленные данные, не требуется иметь информацию о том, что эти данные были когда-либо сжаты.

Перед сжатием предпочтительно выполняют оценку сложности таким образом, что могут быть определены оптимальные уровни и режимы сжатия.

Во время сжатия выполняют прогнозирование для прогнозирования значения текущего пикселя на основе предыдущих пикселей, затем определяют размер подблока, и выполняют разделение на подблоки. После этого принимают решение в отношении типа квантования (например, линейное или нелинейное), например, предпочтительно, для каждого подблока. Для нелинейного квантования в варианте воплощения изобретения предусматривается оценка параметра квантования (QP, ПК), в ходе которой не требуется выполнять поиск всех возможных значений ПК. Квантование затем выполняют на основе описанного выше определения, и, наконец, подблоки сжатых данных упаковывают в блоки. Во время сжатия в одном варианте воплощения изобретения вначале выполняют сжатие данных цветности, в которых информация сжатия данных цветности становится доступной и используется во время сжатия данных яркости. Варианты воплощения настоящего изобретения предусматривают выбор разных уровней сжатия в ответ на сложность видеоданных и количество доступных битов. Сжатые данные яркости и цветности комбинируют в конечный сжатый блок.

Поскольку типы и уровни квантования определяют в соответствии со сложностью данных, сжатые видеоданные после их декомпрессии (хотя они не всегда точно соответствуют оригинальным видеоданным) все еще будут визуально выглядеть для зрителя - человека, как данные без потерь. Таким образом, устройство и способ в соответствии с изобретением работают с пониженными требованиями к запоминающему устройству и с уменьшенной полосой пропускания, обеспечивая при этом требуемое качество, вплоть до того, что данные не содержат видимые потери.

Цели уменьшения полосы пропускания шины и/или размера памяти приведены выше в качестве примера. Применение способа сжатия не ограничивается такими конкретными преимуществами вариантов применения, но их можно применять для обеспечения преимуществ в любых других вариантах применения, в которых требуется использовать сжатие видеоданных, например, при передаче сжатых видеоданных по сети перед декомпрессией или при сохранении сжатых видеоданных в любом другом мультимедийном устройстве, перед декомпрессией, например, на жестких дисках или в запоминающем устройстве.

Изобретение может быть выполнено множеством способов, включающих в себя, но без ограничений, следующие.

Вариант воплощения изобретения представляет собой устройство видеопамяти, выполненное с возможностью передачи данных видеопикселей в одном или больше видеомодулях, содержащее: (а) модуль сжатия видеоизображения, соединенный через шину передачи сигналов с видеопамятью и выполненный с возможностью (a) (i) сжатия входных видеоданных яркости и цветности YUV, используя квантователь, без использования данных пикселя из пикселей, находящихся за пределами каждого блока, в сжатые видеоданные, имеющие уменьшенное количество битов на пиксель, (a) (ii) сохранения сжатых видеоданных в видеопамяти; и (b) модуль декомпрессии видеоданных данных, выполненный с возможностью получения блоков сжатых видеоданных в любом порядке и декомпрессии сжатых видеоданных, содержащихся в видеопамяти, получая восстановленные видеоданные, которые имеют тот же формат и приближаются к оригинальным видеоданным, которые были приняты и сжаты с помощью модуля сжатия видеоданных, в котором упомянутый модуль декомпрессии видеоданных выполнен с возможностью вывода восстановленных видеоданных.

В видеоустройстве сжатие предпочтительно выполняют в соответствии с общим коэффициентом R сжатия, который управляет в пределах блока сжатием и который может быть выражен ратиометрически или по количеству битов, содержащихся в полученном в результате блоке. По меньшей мере, в одном предпочтительном варианте воплощения одни и те же или разные уровни сжатия выбирают для данных яркости и данных цветности, при поддержании общего коэффициента R сжатия. По меньшей мере, в одном предпочтительном режиме, если только данные цветности не имеют высокий уровень сжатия, устройство выбирает степень сжатия так, чтобы свести к минимуму использование битов в данных цветности при оптимизации использования битов в данных яркости.

По меньшей мере, в одном варианте воплощения видеоустройства выполняют оценку сложности текстуры для блоков сжатия перед сжатием. Выделяют пространство сжатия для данных яркости и данных цветности в каждом блоке, таким образом, что количество битов, выделяемых для данных яркости и данных цветности в сжатом блоке, определяют в ответ на обработку оценки сложности текстуры.

По меньшей мере, в одном варианте воплощения информацию яркости и цветности комбинируют в блоки сжатых видеоданных, которые предпочтительно заполняют битами наполнения, для поддержания фиксированного размера сжатых блоков.

По меньшей мере, в одной конфигурации устройства при сжатии данных яркости для данного блока используют информацию, определенную во время процесса сжатия данных цветности этого же блока. По меньшей мере, в одном режиме изобретения сжатие видеоданных выполняют с использованием нелинейного квантования, такого как в пределах комбинации линейного и нелинейного квантования. В предпочтительном варианте воплощения размер шага квантования с разной точностью используют при выполнении нелинейного квантования.

По меньшей мере, в одном варианте воплощения изобретения выполняют прогнозирование пикселя во время сжатия. Прогнозирование пикселя начинается от исходного опорного пикселя, выбранного в середине блока, от которого определяют направления прогнозирования вправо и влево, которые могут обрабатываться параллельно, если это требуется. Следует понимать, что при выборе среднего пикселя (или близкого к среднему) для начала прогнозирования опорный пиксель должен оставаться одним и тем же, как для правого, так и для левого направлений прогнозирования. Прогнозирование значений пикселя выполняют путем прогнозирования текущих значений пикселя на основе предыдущих значений пикселя, в течение которого прогнозирование в этих двух направлениях выполняют независимо, обеспечивая возможность, таким образом, параллельного выполнения процесса прогнозирования в правом и в левом направлениях, чтобы, таким образом, позволяет уменьшить требуемое время обработки.

По меньшей мере, в одном варианте воплощения выполняют разделение на подблоки в соответствии с требуемой конфигурацией. Для определения разделения на подблоки вначале рассчитывают значение стоимости подблока, по меньшей мере, для части возможных конфигураций подблока, после чего отбрасывают конфигурации подблоков, стоимость которых превышает заданное пороговое значение стоимости, и/или количество битов которых превышает количество битов, доступных в блоке сжатия.

По меньшей мере, в одном варианте воплощения изобретения входные видеоданные для устройства принимают от датчика изображения, такого, который может быть интегрирован в видеокамеру или фотокамеру, или в другое устройство формирования изображений. Форматирование входных видеоданных выполняют так, чтобы они включали в себя, как информацию яркости, так и информацию цветности.

По меньшей мере, одна цель изобретения состоит в том, чтобы сжатие и декомпрессию выполнять в направлении уменьшения требований к полосе пропускания шины и/или видеопамяти, используемых в ходе предварительной обработке видеоданных YUV, выполняемой перед кодированием блоков, которые получают из памяти в специфичном для кодера виде, которые типично следуют непоследовательно (например, не по порядку номера блока). В качестве альтернативы, или в дополнение, сжатие и декомпрессия в соответствии с изобретением можно выполнять на практике при передаче сжатых видеоданных по сети перед декомпрессией или для сохранения видеоданных в мультимедийном устройстве перед декомпрессией.

Один из вариантов воплощения изобретения направлен на устройство видеокодера, предназначенное для кодирования видеоданных YUV, содержащее: (а) видеопамять, выполненную с возможностью обмена видеоданными пикселя с одним или больше видеомодулями; (b) модуль видеосжатия, соединенный через шину передачи сигналов с видеопамятью и выполненный с возможностью (b) (i) сжатия видеоданных яркости и цветности YUV, с использованием квантователя с получением сжатых видеоданных, имеющих уменьшенное количество битов на пиксель, без необходимости обращения к данным из других блоков; (b) (ii) сохранения сжатых видеоданных в видеопамяти; и (с) модуль декомпрессии видеоданных, выполненный с возможностью получения блока из видеопамяти в любом требуемом порядке и декомпрессии сжатых видеоданных с получением восстановленных видеоданных, которые имеют тот же формат и приближаются к оригинальным видеоданным, которые были приняты и сжаты с помощью модуля видеосжатия; и (d) модуль кодирования, который непоследовательно выбирает блоки видеоданных из памяти и который принимает и кодирует восстановленные видеоданные.

В одном из вариантов воплощения изобретение направлено на способ сжатия и декомпрессии видеоданных YUV, содержащий: (а) сжимают входные видеоданные, с коэффициентом R сжатия, используя квантователь, с получением блоков сжатых видеоданных, имеющих уменьшенное количество битов данных яркости и/или данных цветности для каждого блока видеоданных; (b), в котором сжатие входных видеоданных выполняют без использования данных из пикселей за пределами сжимаемого блока; (с) сохраняют сжатые видеоданные в видеопамяти; и (d), выполняют декомпрессию сжатых видеоданных для любых из блоков видеоданных, выбранных в порядке следования или без учета порядка следования, для генерирования выходных восстановленных видеоданных. В одном варианте воплощения, сжатие и декомпрессию выполняют в комбинации с процессом кодирования видеоданных, в котором, непоследовательно поступающие блоки видеоданных из запоминающего устройства выбирают, восстанавливают в соответствии с изобретением и принимают для кодирования.

В одном варианте воплощения изобретение направлено на способ сжатия и декомпрессии видеоданных YUV, содержащий: (а) сжимают входные видеоданные с коэффициентом R сжатия, используя квантователь, с получением блоков сжатых видеоданных, имеющих уменьшенное количество битов данных яркости и/или цветности для каждого блока видеоданных; (b) сжатие выполняют для каждого блока видеоданных без использования данных, полученных вне пределов каждого сжимаемого блока; (с) выбирают, либо линейное, или нелинейное квантование для каждого подблока в пределах заданного блока, для которого выполняют сжатие; (d) сохраняют сжатые видеоданные в видеопамяти; и (е) выполняют декомпрессию сжатых видеоданных для любых блоков видеоданных, полученных из видеопамяти, выбранных в любом порядке, для генерирования выходных восстановленных видеоданных.

В одном варианте воплощения изобретение направлено на способ сжатия и декомпрессии видеоданных YUV, содержащий: (а) выполняют сжатие входных видеоданных с коэффициентом R сжатия, используя квантователь, с получением блоков сжатых видеоданных, имеющих уменьшенное количество битов данных яркости и/или цветности для каждого блока видеоданных; (b) выполняют сжатие в блоках видеоданных, без использования данных из блоков, находящихся за пределами сжимаемого блока; (с) выполняют оценку сложности текстуры данных яркости и сложности текстуры данных цветности; (d) выбирают одинаковые или разные уровни сжатия для данных яркости и цветности, при поддержании общего коэффициента R сжатия; (е) выбирают либо линейное, или нелинейное квантование для каждого подблока в пределах заданного блока, в котором выполняют сжатие, в ответ на характеристики, детектируемые в блоке; (f) в котором, во время сжатия, в процессе сжатия данных яркости используют информацию из процесса сжатия данных цветности для того блока; (g) сохраняют сжатые видеоданные в видеопамяти; (h) получают блоки видеоданных из видеопамяти в любом желаемом порядке и в любой момент времени после упомянутого сохранения сжатых видеоданных; (i) выполняют декомпрессию сжатых видеоданных для полученных блоков для генерирования восстановленных выходных видеоданных.

Настоящее изобретение направлено на множество предпочтительных вариантов воплощения, которые могут быть воплощены, либо по отдельности, или в любой требуемой комбинации, без выхода за пределы настоящего описания.

Вариант воплощения изобретения содержит устройство и способ для сжатия и декомпрессии блоков видеоданных YUV.

Другой вариант воплощения изобретения состоит в том, что каждый сжатый блок не перекрывается с другими сжатыми блоками, и каждый сжатый блок сжимают независимо, без обращения к информации из других блоков.

Другой вариант воплощения изобретения состоит в том, что, если количество битов сжатой информации после сжатия будет меньше, чем целевое количество битов, которое соответствует желаемому коэффициенту (R) сжатия, тогда используют биты наполнения, для увеличения общего количества выходных битов до требуемого количества так, чтобы оно оставалось фиксированным. Поскольку размер генерируемых битов каждого блока сжатия фиксирован, можно обращаться к сжатому блоку в любом положении и выполнять его декомпрессию, без обращения к информации из других блоков. Поэтому, при использовании предложенного способа, можно непосредственно выполнять доступ к видеоданным и декомпрессию видео блоков видеоданных из произвольного положения в видеоданных, например, в случаях, когда требуется обеспечить доступ к произвольной области видеокадра для обработки или кодирования видеоизображения.

В другом варианте воплощения изобретение направлено на сжатие данных яркости с использованием информации, определенной как результат сжатия данных цветности. В этом способе в соответствии с изобретением вначале сжимают данные цветности. После сжатия данных цветности, по меньшей мере, часть информации передают в модуль яркости для подготовки к сжатию данных яркости. Информационные биты могут удерживаться любой требуемый период времени, или некоторое количество битов, после сжатия. При сжатии данных яркости используют эту информацию сжатия. Наконец, сжатые данные яркости и цветности упаковывают в один сжатый блок. При этом гарантируется, что размер данных будет находиться в пределах диапазона, определенного целевым коэффициентом сжатия.

В другом варианте воплощения изобретение направлено на то, что вначале, перед сжатием, выполняют оценку сложности текстуры блоков сжатия данных яркости и цветности. Каждый модуль сжатия (данные яркости и цветности) может автоматически обеспечивать разные уровни (или степени) сжатия (например, слабая, средняя или сильная). Степень сжатия определяют на основе сложности текстуры, в соответствии с которой определенное количество битов затем выделяют для полей яркости и цветности в сжатом блоке.

В другом варианте воплощения изобретение направлено на использование общего коэффициента сжатия, определенного по значению R, которое управляет общей степенью, в которой сжимают блоки видеоданных. Значение R, в качестве примера, составляет отношение (количество входных битов/количество выходных битов) для данного блока. Коэффициент R, равный двум (2) обозначает, что сжатые блоки содержат половину количества битов, использовавшихся для исходных данных. Следует понимать, однако, что сжатие может быть выражено в любом требуемом формате, например, в любой форме ратиометрического обозначения, или в отношении выбора заданного количества битов на блок выходных видеоданных.

Другой вариант воплощения изобретения позволяет выбирать степень, в которой сжимают значения Y, U и V при поддержании общего коэффициента R сжатия. Следует отметить, что это не означает, что коэффициент сжатия является фиксированным для Y, U и V в отдельном блоке сжатия, поскольку возможно выделять биты на основе разных коэффициентов сжатия между данными цветности и яркости.

В другом варианте воплощения изобретение направлено на процесс автоматического определения наилучшего коэффициента сжатия между данными яркости и цветности при поддержании общего коэффициента R сжатия. В общих чертах, глаз человека является более чувствительным к шумам сигнала яркости, чем к шумам сигнала цветности. Поэтому предпочтительная стратегия выделения битов минимизирует использование битов для данных цветности, и обеспечивает максимальное использование битов для данных яркости. Однако когда определяют, что данные цветности должны иметь определенную степень сложности, в частности, когда определяют, что они являются очень сложными, тогда, по меньшей мере, один вариант воплощения изобретения позволяет использовать для данных цветности достаточное количество битов для предотвращения появления визуальных искажений. Такое сведение к максимуму и к минимуму использования битов определяют в соответствии с полученной информацией о сложности текстуры данных яркости и цветности.

В другом варианте воплощения изобретение выбирает разные уровни сжатия. Например, можно определить низкий, средний и высокий режимы качества сжатия. Режим низкого качества основан на использовании большого коэффициента сжатия, в то время как в режиме высокого качества используют малый коэффициент сжатия. В одном варианте воплощения изобретения выполняют определение конечного наилучшего режима сжатия. Следует отметить, что уровень сжатия можно определять как для сжатии данных яркости, так и данных цветности, в которых определяют участок блока, используемый для яркости, и участок блока, используемый для цветности.

Другой вариант воплощения изобретения состоит в том, что решение при определении наилучшего режима сжатия принимают по полученной информации о сложности текстуры и количеству доступных битов.

В другом варианте воплощения изобретения начинают прогнозирование пикселя от среднего пикселя строки пикселей вместо первого пикселя, в котором другие пиксели прогнозируют относительно этого начального пикселя. Рассчитывают два направления прогнозирования, при этом можно уменьшить требуемое время обработки.

Другой вариант воплощения изобретения направлен на разделение на подблоки в соответствии с квантованием и принятыми решениями о конфигурации подблока. Общий коэффициент R сжатия определяют в соответствии с количеством N пикселей, используемых для данных яркости, и количеством М пикселей, используемых для сжатия данных цветности (U и V, или Сr и Сb). Для заданного значения (N, М) сжатия данных яркости и цветности существует ряд разных конфигураций подблоков. Модуль определения размера подблока или аналогичное устройство определяет оптимальную конфигурацию подблока, используя заданный набор входных данных и условий.

В другом варианте воплощения изобретение направлено на расчет стоимости, по меньшей мере, для части разных возможных конфигураций подблока, (например, или всех разных комбинаций подблока) на основе заданной информации, такой как получают из Information_from_chroma, R, точности ПК и т.п. В качестве примера, оценку стоимости можно выполнять в отношении количества генерируемых выходных битов. Если количество выходных битов для заданной конфигурации подблока превышает пороговое значение стоимости, предпочтительно определяемое по количеству доступных битов, тогда конфигурацию подблока отбрасывают, и проверяют следующую возможную конфигурацию подблока. По меньшей мере, в одном варианте воплощения, если ни одна из возможных конфигураций не будет доступна, тогда N пикселей исходного блока сжатия используют как подблок.

В другом варианте воплощения изобретение направлено на выбор либо линейного, или нелинейного квантования во время сжатия блока.

Другой вариант воплощения изобретения направлен на оценку параметра (ПК) квантования для использования при нелинейном квантовании, как описано здесь.

Другие варианты воплощения изобретения будут представлены в следующих частях описания, в которых представлено подробное описание изобретения с целью полного раскрытия предпочтительных вариантов воплощения изобретения, без наложения ограничений на него.

Краткое описание чертежей

Изобретение будет более понятным при рассмотрении следующих чертежей, которые представлены только с целью иллюстрации:

на фиг.1 показана блок-схема обычной архитектуры видеокамеры или фотокамеры, представляющая накопитель данных изображения после предварительной обработки в видеопамяти;

на фиг.2 показана блок-схема архитектуры видеокамеры или фотокамеры в соответствии с одним вариантом воплощения настоящего изобретения, представляющая сжатие данных изображения перед сохранением в видеопамяти;

на фиг.3 показана блок-схема подвергаемого сжатию блока, в соответствии с вариантом воплощения настоящего изобретения;

на фиг.4 показана блок-схема декомпрессии блока в соответствии с вариантом воплощения настоящего изобретения;

на фиг.5 показана блок-схема сжатия данных цветности и данных яркости в соответствии с вариантом воплощения настоящего изобретения, представляющая информацию для сжатия данных цветности, используемых в процессе сжатия данных яркости;

на фиг.6 показана блок-схема последовательности операций общего сжатия в соответствии с вариантом воплощения настоящего изобретения;

на фиг.7 показана блок-схема последовательности операций поддержки разных режимов сжатия в соответствии с вариантом воплощения настоящего изобретения;

на фиг.8 показана блок-схема принятия решений об уровне сжатия в соответствии с вариантом воплощения настоящего изобретения, представляющая оценку сложности текстуры и анализ при подготовке к принятию решения об уровне сжатия и выполнении способа сжатия;

на фиг.9 показана блок-схема последовательности операций способа сжатия в соответствии с вариантом воплощения настоящего изобретения, представляющая, либо линейное или нелинейное Q, выполняемое для блока в ответ на решение о квантовании;

на фиг.10 показана схема пикселей для прогнозирования пикселя в соответствии с вариантом воплощения настоящего изобретения, представляющая выбор опорного пикселя в середине пикселей;

на фиг.11 показана схема пикселей для правого и левого направлений прогнозирования в ответ на выбор опорного пикселя, как показано на фиг.10;

на фиг.12 показана блок-схема выбора размера подблока в соответствии с вариантом воплощения настоящего изобретения;

на фиг.13 показана блок-схема последовательности выполнения операций при определении размера подблока в соответствии с вариантом воплощения настоящего изобретения;

на фиг.14 показана блок-схема последовательности выполнения операций нелинейного квантования в ответ на оценку значения ПК и остаточных данных в соответствии с вариантом воплощения настоящего изобретения;

на фиг.15 показана блок-схема последовательности выполнения операций оценки ПК в соответствии с вариантом воплощения настоящего изобретения, показанная при выполнении в ответ на определение остаточных данных;

на фиг.16 показана блок-схема выбора линейного или нелинейного квантования в соответствии с вариантом воплощения настоящего изобретения;

на фиг.17 показана блок-схема последовательности выполнения операций при принятии решения о линейном или нелинейном квантовании в соответствии с вариантом воплощения настоящего изобретения.

Подробное описание изобретения

Обращаясь более конкретно к чертежам, с целью иллюстрации, настоящее изобретение воплощено в виде устройства, в общем, представленного на фиг.2 - фиг.17. Следует понимать, что возможно изменение конфигурации и деталей частей устройства, и что можно менять конкретные этапы способа и последовательность их выполнения, без выхода за пределы основных раскрытых здесь концепций.

Способ сжатия/декомпрессии видеоданных YUV

На фиг.2 иллюстрируется вариант 10 воплощения настоящего изобретения, для выполнения сжатия и декомпрессии видеоданных YUV (или YCrCb). Сжатие можно использовать для получения множества преимуществ, связанных с данным вариантом применения, например, для уменьшения требований к полосе пропускания шины и объему видеопамяти.

Устройство и способ в соответствии с настоящим изобретением принимает входные сигналы из видеоустройства 12, например, через шину 18, обрабатывает данные 14, и затем сжимает видеоданные 16 перед их сохранением во внешней видеопамяти 20. Видеокодер 24 или устройство 28 дисплея принимает сжатые видеоданные из видеопамяти и выполняет их декомпрессию 22, 26 перед использованием видеоданных. Поскольку видеоданные сжимают перед их сохранением в видеопамяти, требуемая полоса пропускания шины намного меньше, чем оригинальная, в то время как необходимый размер видеопамяти (например, СДОЗУ) аналогично уменьшается.

На фиг.3 иллюстрируется пример варианта 30 воплощения YUV или аналогичного блока, сжимаемого в соответствии с настоящим изобретением. Формат входных видеоданных блока 32 сжатия способа сжатия в соответствии с изобретением представляет собой YUV (или YCrCb). Во время процесса сжатия кадр (который в данном примере состоит из видеоданных Y, Сr и Сb) разделяют на набор блоков сжатия. Блок сжатия определяют как N пикселей для данных 34 яркости (Y) и М пикселей для каждых из данных 26, 38 цветности (Сr, Сb), как показано на чертеже. Поэтому общее количество пикселей в каждом блоке сжатия составляет (N+2M). Если В бит используют для представления пикселя, тогда общее количество битов составит (N+2M)×В битов.

Блок сжатия не перекрывается с другими блоками сжатия, и каждый блок сжатия сжимают независимо, без обращения к информации в других блоках.

Поскольку коэффициент сжатия R принимают как входные данные, один вариант воплощения способа 40 сжатия генерирует сжатые блоки 42 с фиксированным размером. Количество генерируемых битов рассчитывают по формуле:

Общее количество выходных битов = (N+2M)*B/R.

Например, если R равняется 2, общее генерируемое количество выходных битов составит половину оригинального количества битов YUV.

Если количество битов сжатой информации после сжатия будет меньше, чем

целевое количество битов, определенное по R, тогда предпочтительно вставляют биты наполнения для поддержания постоянного фиксированного суммарного количества выходных битов. Поскольку размер генерируемых битов каждого блока сжатия фиксирован, сжатый блок в любом положении может быть получен и восстановлен без обращения к информации из других блоков. Поэтому, используя способ в соответствии с изобретением, становится возможным доступ к видеоданным в случайном положении (как к модулю блока сжатия). Это необходимо в вариантах применения, в которых требуется обращаться к произвольной области кадра для другой видеообработки.

На фиг. 4 представлен вариант 50 воплощения способа восстановления. Способ восстановления принимает блок 52 сжатия, который восстанавливают 54 до блока 56 сжатия, который вернулся к исходному разрешению YUV, к такому как N пикселей для Y 58, М пикселей для U 60 и М пикселей для V. Восстановленные данные YUV также можно использовать в других устройствах для обработки видеоизображения. Поскольку размеры видеоданных после восстановления будут такими же, как и у оригинальных данных, другие устройства обработки не будут способны распознать на основе видеоформата какую-либо разницу, введенную алгоритмом сжатия.

На фиг. 5 иллюстрируются вариант 70 воплощения блока сжатия и соотношения между модулями сжатия яркости и цветности. По меньшей мере, в одном варианте воплощения сжатие данных яркости выполняют в ответ на информацию, полученную во время сжатия данных цветности для того же блока. Как можно видеть, данные 72 цветности (UV) принимают вначале для сжатия 74 данных цветности, при этом информацию сжатия данных цветности, Information Jrom_chroma, передают и используют в комбинации с данными 76 яркости (Y) для выполнения сжатия 78 данных яркости. Таким образом, предпочтительно, чтобы сжатие данных цветности выполняли вначале в соответствии со способом в соответствии с данным изобретением. Следует понимать, что информацию, полученную для данных цветности, можно содержать в течение любого требуемого времени или количества битов после сжатия, например, для использования во время сжатия данных яркости. Наконец, сжатые данные яркости и цветности упаковывают, как представлено блоком 80, в один сжатый блок 82. В соответствии с, по меньшей мере, одним предпочтительным вариантом воплощения, гарантируется, что размер данных будет находиться в пределах диапазона, определенного целевым коэффициентом сжатия.

На фиг.6 иллюстрируется вариант 90 воплощения общего способа сжатия в соответствии с изобретением. Здесь показаны прием блока 92 сжатия данных цветности и блока 94 сжатия данных яркости. Перед сжатием выполняют 96 оценку сложности текстуры данных цветности и выполняют 100 оценку сложности текстуры данных яркости (какой-либо конкретный порядок не предполагается). Сжатие 98 данных цветности и сжатие 102 данных яркости выполняют с данными, принятыми после обеих оценок сложности данных яркости и данных цветности, в то время как сжатие яркости дополнительно принимает информацию из сжатия данных цветности. Сжатые данные яркости и цветности затем принимают и упаковывают 104, и генерируют сжатый блок 106.

Возвращаясь к процессу сжатия, следует понимать, что каждый модуль сжатия (яркости и цветности) в настоящем изобретении может обеспечивать разные уровни (степень) сжатия (например, слабый, средний, сильный). В соответствии с, по меньшей мере, одним вариантом воплощения изобретения, степень сжатия предпочтительно выбирают в ответ на уровень сложности текстуры.

Коэффициент сжатия, представленная переменной R, управляет коэффициентом сжатия блоков сжатия Y, U и V. Следует отметить, что отсюда вовсе не следует, что Y, U и V подвергают фиксированному сжатию с коэффициентом R; поскольку Y, U и V (или Y, Сr и Сb) каждый могут быть по отдельности сжаты с любым требуемым коэффициентом, если только полученная в результате степень сжатия блока соответствует общему коэффициенту R сжатия. Поэтому, становится возможным распределять биты на основе разных коэффициентов сжатия между данными цветности и яркости.

В одном варианте воплощения изобретения воплощенный способ пытается оптимизировать (то есть, найти наилучший коэффициент сжатия в пределах ограничений технологии и доступной информации) коэффициент сжатия между данными яркости и цветности при поддержании общего коэффициента сжатия равным R. Этот вариант воплощения изобретения учитывает то, что глаз человека обычно более чувствителен к шумам в данных яркости, чем к шумам в данных цветности. Поэтому, в предпочтительной стратегии разделения битов, для данных цветности используют минимальное количество битов таким образом, чтобы можно было сделать максимальным количество битов, используемых для данных яркости. Однако, в некоторых случаях, например в случае, когда определяют, что данные цветности очень сложные, режим изобретения позволяет использовать для данных цветности достаточное количество битов для предотвращения возникновения визуальных искажений.

По меньшей мере, в одном варианте воплощения соотношение выделяемых битов выбирают на основе определения сложности текстуры данных яркости и данных цветности. Сложность текстуры, как показано на фиг. 6, может быть получена, например, путем расчета среднего значения остатков блока сжатия.

На фиг.7 иллюстрируется вариант 110 воплощения способа изобретения для поддержки разных режимов качества сжатия, в зависимости от уровня сжатия. Например, блок 112 сжатия может подвергаться режим