СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ОСТАТОЧНЫХ КОЭФФИЦИЕНТОВ
METHOD AND DEVICE FOR ENCODING/DECODING RESIDUAL COEFFICIENTS

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способу и устройству для кодирования/декодирования видеосигнала.
Уровень техники
[0002] Спрос на высококачественное видео высокого разрешения возрастает в различных вариантах применения. По мере того, как данные изображений приобретают высокое разрешение и высокое качество, объем данных увеличивается относительно традиционных данных изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, либо сохраняются с использованием традиционного носителя хранения данных, затраты на передачу и затраты на хранение увеличиваются. Технологии высокоэффективного сжатия изображений могут использоваться для того, чтобы разрешать эти проблемы, вызываемые посредством высокого разрешения и высокого качества данных изображений.
Сущность изобретения
Техническая задача
[0003] Цель настоящего изобретения заключается в том, чтобы повышать эффективность кодирования/декодирования остаточных блоков.
[0004] Цель настоящего изобретения заключается в том, чтобы повышать эффективность кодирования/декодирования через адаптивное разделение на блоки.
Техническое решение
[0005] Способ и устройство кодирования/декодирования видео согласно настоящему изобретению могут извлекать остаточный коэффициент остаточного блока, вычислять параметр квантования для остаточного блока, выполнять деквантование над остаточным коэффициентом с использованием вычисленного параметра квантования для остаточного блока и выполнять обратное преобразование над деквантованным остаточным коэффициентом, чтобы восстанавливать остаточную выборку остаточного блока.
[0006] Способ и устройство кодирования/декодирования видео согласно настоящему изобретению могут масштабировать остаточный коэффициент на основе весового коэффициента квантования предварительно определенного списка масштабирования.
[0007] Список масштабирования согласно настоящему изобретению может означать компоновку весовых коэффициентов квантования, заданных для каждой частоты в остаточном блоке.
[0008] Список масштабирования согласно настоящему изобретению может передаваться в служебных сигналах в форме NxM в устройстве кодирования.
[0009] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению по меньшей мере одно из обратного преобразования или масштабирования может выполняться отдельно в горизонтальном направлении и вертикальном направлении.
[0010] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, обратное преобразование может выполняться на двух этапах в виде первого обратного преобразования и второго обратного преобразования.
[0011] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, обратное преобразование может выполняться в порядке первого обратного преобразования, и масштабирование может выполняться перед вторым обратным преобразованием или между вторым обратным преобразованием и первым обратным преобразованием.
[0012] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточные блоки могут разделяться на одну или более энтропийных групп.
[0013] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может задаваться как группа остаточных коэффициентов, принадлежащих идентичной/схожей полосе частот.
[0014] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению по меньшей мере одно из порядка сканирования, схемы энтропийного декодирования или схемы бинаризации, связанных с одной из множества энтропийных групп, может отличаться от другой из множества энтропийных групп.
[0015] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, число энтропийных групп может переменно определяться на основе информации кодирования, связанной с остаточным блоком.
[0016] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может определяться на основе по меньшей мере одного из числа остаточных коэффициентов, принадлежащих энтропийной группе, или порядка сканирования.
[0017] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может определяться на основе одного, двух или более фрагментов информации позиции.
[0018] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, информация позиции может указывать позицию конкретного остаточного коэффициента, принадлежащего остаточному блоку.
[0019] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточные коэффициенты извлекаются посредством сканирования согласно предварительно определенному порядку сканирования, и сканирование может выполняться для каждой энтропийной группы.
[0020] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, сканирование может выполняться с использованием различного порядка сканирования для каждой энтропийной группы.
[0021] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, сканирование может выполняться из предварительно определенной начальной позиции в остаточном блоке.
[0022] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, начальная позиция может определяться на основе по меньшей мере одной из информации, указывающей начальную позицию сканирования, или информации, указывающей энтропийную группу, включающую в себя начальную позицию сканирования.
[0023] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, этап извлечения остаточного коэффициента дополнительно может включать в себя задание остаточного коэффициента частичной зоны в остаточном блоке равным значению по умолчанию, предварительно заданному в устройстве декодирования.
[0024] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, частичная зона может представлять собой зону за исключением по меньшей мере одного из N столбцов с левой стороны или одной из M строк с верхней стороны относительно остаточного блока либо может представлять собой зону за исключением зоны NxM в остаточном блоке.
[0025] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, N и M могут извлекаться на основе информации, кодированной для того, чтобы указывать частичную зону.
[0026] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточный блок может представлять собой блок, разделенный согласно переменному размеру/форме на основе по меньшей мере одного из дерева квадрантов, двоичного дерева или троичного дерева.
Преимущества изобретения
[0027] Согласно настоящему изобретению, эффективность кодирования/декодирования остаточного блока может повышаться на основе весового коэффициента квантования предварительно определенного списка масштабирования.
[0028] Согласно настоящему изобретению, эффективность кодирования/декодирования остаточного блока может повышаться на основе предварительно определенной энтропийной группы.
[0029] Согласно настоящему изобретению, эффективность кодирования/декодирования остаточного блока может повышаться посредством задания остаточного коэффициента предварительно определенной зоны в остаточном блоке равным предварительно заданному значению по умолчанию.
[0030] Кроме того, согласно настоящему изобретению, эффективность кодирования/декодирования может повышаться через разделение на блоки древовидной структуры.
Описание чертежей
[0031] Фиг. 1 является блок-схемой, иллюстрирующей устройство кодирования согласно одному варианту осуществления настоящего изобретения.
[0032] Фиг. 2 является блок-схемой, иллюстрирующей устройство декодирования согласно примерному варианту осуществления настоящего изобретения.
[0033] Фиг. 3 иллюстрирует тип разделения на блоки согласно варианту осуществления, к которому применяется настоящее изобретение.
[0034] Фиг. 4 иллюстрирует способ разделения на блоки на основе древовидной структуры согласно варианту осуществления, в котором применяется настоящее изобретение.
[0035] Фиг. 5 иллюстрирует способ восстановления остаточной выборки согласно варианту осуществления настоящего изобретения.
[0036] Фиг. 6 иллюстрирует способ извлечения прогнозного значения параметра квантования (QPpred) согласно варианту осуществления настоящего изобретения.
[0037] Фиг. 7 иллюстрирует способ извлечения прогнозного значения параметра квантования для компонента сигнала цветности блока T согласно варианту осуществления настоящего изобретения.
[0038] Фиг. 8 иллюстрирует способ извлечения параметров квантования на основе единицы передачи в служебных сигналах значения разности параметров квантования (deltaQP) согласно варианту осуществления настоящего изобретения.
[0039] Фиг. 9 иллюстрирует процесс обратного преобразования остаточного коэффициента согласно варианту осуществления настоящего изобретения.
[0040] Фиг. 10 иллюстрирует форму списка масштабирования, связанного с процессом масштабирования согласно варианту осуществления настоящего изобретения.
[0041] Фиг. 11 иллюстрирует процесс масштабирования на основе весовых коэффициентов квантования и обратного преобразования согласно варианту осуществления настоящего изобретения.
[0042] Фиг. 12 и 13 иллюстрируют способ определения энтропийной группы остаточного блока согласно варианту осуществления настоящего изобретения.
[0043] Фиг. 14 иллюстрирует взаимосвязь между сканированием остаточных коэффициентов и энтропийной группой согласно варианту осуществления настоящего изобретения.
[0044] Фиг. 15 иллюстрирует способ сканирования остаточного коэффициента согласно варианту осуществления настоящего изобретения.
[0045] Фиг. 16 иллюстрирует способ обработки остаточных коэффициентов частичной зоны в остаточном блоке согласно варианту осуществления настоящего изобретения.
Оптимальный режим осуществления изобретения
[0046] Способ и устройство кодирования/декодирования видео согласно настоящему изобретению могут извлекать остаточный коэффициент остаточного блока, вычислять параметр квантования для остаточного блока, выполнять деквантование над остаточным коэффициентом с использованием вычисленного параметра квантования для остаточного блока и выполнять обратное преобразование над деквантованным остаточным коэффициентом, чтобы восстанавливать остаточную выборку остаточного блока.
[0047] Способ и устройство кодирования/декодирования видео согласно настоящему изобретению могут масштабировать остаточный коэффициент на основе весового коэффициента квантования предварительно определенного списка масштабирования.
[0048] Список масштабирования согласно настоящему изобретению может означать компоновку весовых коэффициентов квантования, заданных для каждой частоты в остаточном блоке.
[0049] Список масштабирования согласно настоящему изобретению может передаваться в служебных сигналах в форме NxM в устройстве кодирования.
[0050] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению по меньшей мере одно из обратного преобразования или масштабирования может выполняться отдельно в горизонтальном направлении и вертикальном направлении.
[0051] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, обратное преобразование может выполняться на двух этапах в виде первого обратного преобразования и второго обратного преобразования.
[0052] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, обратное преобразование может выполняться в порядке первого обратного преобразования, и масштабирование может выполняться перед вторым обратным преобразованием или между вторым обратным преобразованием и первым обратным преобразованием.
[0053] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточные блоки могут разделяться на одну или более энтропийных групп.
[0054] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может задаваться как группа остаточных коэффициентов, принадлежащих идентичной/схожей полосе частот.
[0055] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению по меньшей мере одно из порядка сканирования, схемы энтропийного декодирования или схемы бинаризации, связанных с одной из множества энтропийных групп, может отличаться от другой из множества энтропийных групп.
[0056] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, число энтропийных групп может переменно определяться на основе информации кодирования, связанной с остаточным блоком.
[0057] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может определяться на основе по меньшей мере одного из числа остаточных коэффициентов, принадлежащих энтропийной группе, или порядка сканирования.
[0058] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, энтропийная группа может определяться на основе одного, двух или более фрагментов информации позиции.
[0059] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, информация позиции может указывать позицию конкретного остаточного коэффициента, принадлежащего остаточному блоку.
[0060] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточные коэффициенты извлекаются посредством сканирования согласно предварительно определенному порядку сканирования, и сканирование может выполняться для каждой энтропийной группы.
[0061] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, сканирование может выполняться с использованием различного порядка сканирования для каждой энтропийной группы.
[0062] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, сканирование может выполняться из предварительно определенной начальной позиции в остаточном блоке.
[0063] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, начальная позиция может определяться на основе по меньшей мере одной из информации, указывающей начальную позицию сканирования, или информации, указывающей энтропийную группу, включающую в себя начальную позицию сканирования.
[0064] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, этап извлечения остаточного коэффициента дополнительно может включать в себя задание остаточного коэффициента частичной зоны в остаточном блоке равным значению по умолчанию, предварительно заданному в устройстве декодирования.
[0065] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, частичная зона может представлять собой зону за исключением по меньшей мере одного из N столбцов с левой стороны или одной из M строк с верхней стороны относительно остаточного блока либо может представлять собой зону за исключением зоны NxM в остаточном блоке.
[0066] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, N и M могут извлекаться на основе информации, кодированной для того, чтобы указывать частичную зону.
[0067] В способе и устройстве кодирования/декодирования видео согласно настоящему изобретению, остаточный блок может представлять собой блок, разделенный согласно переменному размеру/форме на основе по меньшей мере одного из дерева квадрантов, двоичного дерева или троичного дерева.
Оптимальный режим осуществления изобретения
[0068] Настоящее изобретение может изменяться и модифицироваться различными способами и иллюстрироваться в отношении различных примерных вариантов осуществления, некоторые из которых описаны и показаны на чертежах. Тем не менее, эти варианты осуществления не имеют намерение ограничения изобретения, а истолковываются как включающие в себя все модификации, эквиваленты и замены, которые принадлежат сущности и объему изобретения. Аналогичные ссылки с номерами на всех чертежах означают аналогичные элементы.
[0069] Хотя термины "первый", "второй" и т.д. могут использоваться для того, чтобы описывать различные элементы, данные элементы не должны быть ограничены посредством этих терминов. Эти термины используются только для того, чтобы отличать один элемент от другого элемента. Например, первый элемент может называться "вторым элементом", и второй элемент аналогично может называться "первым элементом" без отступления от идей настоящего изобретения. Термин "и/или" включает в себя все без исключения комбинации множества ассоциированных перечисленных элементов.
[0070] Следует понимать, что, когда элемент упоминается как "соединенный (connected to)" или "соединенный (coupled to)" с другим элементом, элемент может непосредственно соединяться (be connected) или соединяться (be coupled) с другим элементом или промежуточными элементами. Напротив, когда элемент упоминается как "непосредственно соединенный (directly connected to)" или "непосредственно соединенный (directly coupled to)" с другим элементом, отсутствуют промежуточные элементы.
[0071] Терминология, используемая в данном документе, служит только для цели описания конкретных вариантов осуществления и не имеет намерение ограничивать изобретение. При использовании в данном документе, формы единственного числа "a", "an" и "the" служат для того, чтобы включать в себя также формы множественного числа, если контекст явно не указывает иное. Следует дополнительно подчеркнуть, что термины "включает в себя" и "имеет" при использовании в данном подробном описании задают наличие изложенных признаков, целых частей, этапов, операций, элементов или компонентов, однако не препятствуют наличию или добавлению одного или более других признаков, целых частей, этапов, операций, элементов, компонентов или их групп.
[0072] Далее подробно описываются примерные варианты осуществления изобретения со ссылками на прилагаемые чертежи. Аналогичные ссылки с номерами на всех чертежах означают аналогичные элементы, и избыточные описания аналогичных элементов опускаются в данном документе.
[0073] Фиг. 1 является блок-схемой, иллюстрирующей устройство кодирования согласно одному варианту осуществления настоящего изобретения.
[0074] Ссылаясь на фиг. 1, устройство 100 кодирования включает в себя модуль 110 разделения кадров, модули 120 и 125 прогнозирования, модуль 130 преобразования, модуль 135 квантования, модуль 160 переупорядочения, модуль 165 энтропийного кодирования, модуль 140 обратного квантования, модуль 145 обратного преобразования, модуль 150 фильтрации и запоминающее устройство 155.
[0075] Каждый из элементов, показанных на фиг. 1, показывается независимо для того, чтобы представлять различные характеристические функции в устройстве кодирования, и может означать то, что каждый элемент состоит из отдельных аппаратных средств. Иными словами, элементы размещаются независимо для удобства описания, при этом, по меньшей мере, два элемента могут комбинироваться в один элемент, или один элемент может разделяться на множество элементов для того, чтобы выполнять функции. Следует отметить, что варианты осуществления, в которых некоторые элементы интегрируются в один комбинированный элемент, и/или элемент разделяется на несколько отдельных элементов, включаются в объем настоящего изобретения без отступления от сущности настоящего изобретения.
[0076] Некоторые элементы не являются важными для существенных функций в изобретении и могут представлять собой необязательные составляющие просто для повышения производительности. Изобретение может осуществляться посредством включения только составляющих, важных для варианта осуществления изобретения, за исключением составляющих, используемых просто для того, чтобы повышать производительность. Структура, включающая в себя только важные составляющие, за исключением оптических составляющих, используемых для того, чтобы просто повышать производительность, принадлежит объему изобретения.
[0077] Модуль 110 разделения кадров может разделять входной кадр, по меньшей мере, на один блок. В этом случае, блок может означать единицу кодирования (CU), единицу прогнозирования (PU) или единицу преобразования (TU). Разделение может выполняться на основе по меньшей мере одного из дерева квадрантов, двоичного дерева или троичного дерева. Дерево квадрантов представляет собой способ разделения верхнего блока на субблоки, ширина и высота которых составляет половину от верхнего блока. Двоичное дерево представляет собой способ разделения верхнего блока на субблоки, ширина или высота которых составляет половину от верхнего блока. В двоичном дереве, блок может иметь неквадратную форму, а также квадратную форму посредством разделения верхнего блока на основе вышеописанного разделения на основе двоичного дерева.
[0078] В вариантах осуществления изобретения, единица кодирования может использоваться для того, чтобы означать не только единицу кодирования, но также и единицу декодирования.
[0079] Модули 120 и 125 прогнозирования могут включать в себя модуль 120 внешнего прогнозирования для того, чтобы выполнять внешнее прогнозирование, и модуль 125 внутреннего прогнозирования для того, чтобы выполнять внутреннее прогнозирование. Модули 120 и 125 прогнозирования могут определять то, какое из внешнего прогнозирования и внутреннего прогнозирования выполняется над PU, и могут определять конкретную информацию (например, режим внутреннего прогнозирования, вектор движения и опорный кадр) определенного способа прогнозирования. Здесь, единица обработки, над которой выполняется прогнозирование, может отличаться от единицы обработки, для которой определяются способ прогнозирования и конкретная информация. Например, способ прогнозирования и режим прогнозирования могут определяться для каждой PU, в то время как прогнозирование может выполняться для каждой TU. Остаточное значение (остаточный блок) между сформированным прогнозированным блоком и исходным блоком может вводиться в модуль 130 преобразования. Дополнительно, информация режима прогнозирования, информация вектора движения и т.п., используемая для прогнозирования, может кодироваться вместе с остаточным значением посредством модуля 165 энтропийного кодирования и передаваться в устройство декодирования. Когда используется конкретный режим кодирования, исходный блок может кодироваться и передаваться в устройство декодирования без формирования блока прогнозирования посредством модулей 120 и 125 прогнозирования.
[0080] Модуль 120 внешнего прогнозирования может прогнозировать PU на основе информации о по меньшей мере одном кадре из числа предыдущего кадра относительно текущего кадра и последующего кадра относительно текущего кадра. В некоторых случаях, модуль 120 внешнего прогнозирования может прогнозировать PU на основе информации частично кодированной области в текущем кадре. Модуль 120 внешнего прогнозирования может включать в себя модуль интерполяции опорных кадров, модуль прогнозирования движения и модуль компенсации движения.
[0081] Модуль интерполяции опорных кадров может снабжаться информацией опорных кадров из запоминающего устройства 155 и формировать пиксельную информацию, меньшую или равную целочисленному пикселу, для опорного кадра. В случае пикселов сигнала яркости, 8-отводный интерполяционный фильтр на основе DCT с переменным коэффициентом фильтрации может использоваться для того, чтобы формировать пиксельную информацию, меньшую или равную целочисленному пикселу, в единице в 1/4 пиксела. В случае пикселов сигнала цветности, 4-отводный интерполяционный фильтр на основе DCT с переменным коэффициентом фильтрации может использоваться для того, чтобы формировать пиксельную информацию, меньшую или равную целочисленному пикселу, в единице в 1/8 пиксела.
[0082] Модуль прогнозирования движения может выполнять прогнозирование движения на основе опорного кадра, интерполированного посредством модуля интерполяции опорных кадров. Различные способы, такие как алгоритм поблочного сопоставления на основе полного поиска (FBMA), алгоритм трехэтапного поиска (TSS) и алгоритм обновленного трехэтапного поиска (NTS), могут использоваться для того, чтобы вычислять вектор движения. Вектор движения имеет значение вектора движения в единице в 1/2 или 1/4 пиксела на основе интерполированного пиксела. Модуль прогнозирования движения может прогнозировать текущую PU с использованием различных способов прогнозирования движения. Различные способы, такие как режим пропуска, режим объединения и режим усовершенствованного прогнозирования векторов движения (AMVP) и т.д., могут использоваться в качестве способа прогнозирования движения.
[0083] Модуль 125 внутреннего прогнозирования может формировать PU на основе информации относительно опорного пиксела, соседнего с текущим блоком. Когда опорный пиксел представляет собой пиксел, для которого выполнено внешнее прогнозирование, поскольку блок, соседний с текущей PU, представляет собой блок, для которого выполнено внешнее прогнозирование, информация относительно опорного пиксела в блоке, для которого выполнено внешнее прогнозирование, может заменяться информацией относительно опорного пиксела в блоке, для которого выполнено внутреннее прогнозирование. Иными словами, когда опорный пиксел недоступен, информация относительно недоступного опорного пиксела может заменяться информацией относительно по меньшей мере одного опорного пиксела из доступных опорных пикселов.
[0084] Режим прогнозирования внутреннего прогнозирования включает в себя режим направленного прогнозирования, в котором информация опорного пиксела используется согласно направлению прогнозирования, и режим ненаправленного прогнозирования, в котором информация относительно направления не используется при выполнении прогнозирования. Режим для прогнозирования компонента сигнала яркости и режим для прогнозирования компонента сигнала цветности могут отличаться друг от друга. Дополнительно, компонент сигнала цветности может прогнозироваться посредством использования режима внутреннего прогнозирования, используемого для того, чтобы получать либо компонент сигнала яркости, либо прогнозированный/восстановленный компонент сигнала яркости.
[0085] В способе внутреннего прогнозирования, прогнозированный блок может формироваться посредством применения адаптивного внутреннего сглаживающего фильтра (AIS) к опорным пикселам согласно режиму внутреннего прогнозирования. Различные типы AIS-фильтров могут применяться к опорным пикселам. В способе внутреннего прогнозирования, режим внутреннего прогнозирования текущей PU может прогнозироваться из режима внутреннего прогнозирования PU, соседней с текущей PU. При прогнозировании режима прогнозирования текущей PU с использованием информации режима, прогнозированной из соседней PU, когда текущая PU и соседняя PU имеют идентичный режим внутреннего прогнозирования, информация, указывающая то, что текущая PU и соседняя PU имеют идентичный режим внутреннего прогнозирования, может передаваться с использованием предварительно определенной информации флага. Когда текущая PU и соседняя PU имеют различные режимы внутреннего прогнозирования, информация относительно режима внутреннего прогнозирования текущего блока может кодироваться посредством энтропийного кодирования.
[0086] Остаточный блок, включающий в себя остаточную информацию, может формироваться. Остаточная информация представляет собой разность между исходным блоком и прогнозированным блоком, сформированными посредством модулей 120 и 125 прогнозирования. Сформированный остаточный блок может вводиться в модуль 130 преобразования.
[0087] Модуль 130 преобразования может преобразовывать остаточный блок, включающий остаточные данные, посредством использования типа преобразования, такого как DCT, DST и т.п. В этом случае, тип преобразования может определяться на основе режима внутреннего прогнозирования модуля прогнозирования, используемого для того, чтобы формировать остаточный блок.
[0088] Модуль 135 квантования может квантовать значения, преобразованные в частотную область посредством модуля 130 преобразования. Коэффициент квантования может изменяться в зависимости от блока или значимости изображения. Значения, выводимые из модуля 135 квантования, могут предоставляться в модуль 140 обратного квантования и модуль 160 перекомпоновки.
[0089] Модуль 160 перекомпоновки может выполнять перекомпоновку значений коэффициентов над квантованным остаточным блоком.
[0090] Модуль 160 перекомпоновки может изменять коэффициенты из двумерного блока коэффициентов на коэффициенты из одномерного вектора коэффициентов через способ сканирования коэффициентов. Например, модуль 160 перекомпоновки может сканировать DC-коэффициент в коэффициент в высокочастотной области с использованием предварительно определенного типа сканирования и изменять его на одномерную векторную форму.
[0091] Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование на основе значений, полученных посредством модуля 160 перекомпоновки. Различные способы кодирования, такие как экспоненциальное кодирование кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (CABAC), могут использоваться для энтропийного кодирования.
[0092] Модуль 165 энтропийного кодирования может кодировать различную информацию, к примеру, информацию остаточных коэффициентов и информацию типа блока относительно CU, информацию режима прогнозирования, информацию единицы сегментации, информацию PU, информацию единицы передачи, информацию вектора движения, информацию опорного кинокадра, информацию интерполяции блоков и информацию фильтрации, из модуля 160 перекомпоновки и модулей 120 и 125 прогнозирования.
[0093] Модуль 165 энтропийного кодирования может энтропийно кодировать коэффициенты CU, вводимые из модуля 160 перекомпоновки.
[0094] Модуль 140 обратного квантования и модуль 145 обратного преобразования деквантуют значения, которые квантуются посредством модуля 135 квантования, и обратно преобразуют значения, которые преобразуются посредством модуля 130 преобразования. Восстановленный блок может формироваться посредством суммирования остаточных значений с прогнозированной PU. Остаточные значения могут формироваться посредством модуля 140 обратного квантования и модуля 145 обратного преобразования. Прогнозированная PU может прогнозироваться посредством модуля прогнозирования векторов движения, модуля компенсации движения и модуля внутреннего прогнозирования модулей 120 и 125 прогнозирования.
[0095] Модуль 150 фильтрации может включать в себя по меньшей мере одно из фильтра удаления блочности, модуля вычисления смещения и адаптивного контурного фильтра (ALF).
[0096] Фильтр удаления блочности может удалять искажение в виде блочности, сформированное в силу границ между блоками в восстановленном кадре. То, следует или нет применять фильтр удаления блочности к текущему блоку, может определяться на основе пикселов, включенных в несколько строк или столбцов блока. Когда фильтр удаления блочности применяется к блоку, сильный фильтр или слабый фильтр может применяться в зависимости от требуемой силы фильтрации для удаления блочности. Когда горизонтальная фильтрация и вертикальная фильтрация выполняются при применении фильтра удаления блочности, горизонтальная фильтрация и вертикальная фильтрация могут выполняться параллельно.
[0097] Модуль вычисления смещения может применять смещение относительно исходного изображения к подвергнутому фильтрации для удаления блочности изображению в единицах пикселов. Область, к которой может применяться смещение, может определяться после сегментации пикселов кадра на предварительно определенное число областей. Смещение может применяться к определенной области с учетом информации краев относительно каждого пиксела или способа применения смещения к определенной области.
[0098] ALF может выполнять фильтрацию на основе результата сравнения фильтрованного восстановленного изображения и исходного изображения. Пикселы, включенные в изображение, могут сегментироваться на предварительно определенные группы, фильтр, который должен применяться к каждой группе, может определяться, и дифференциальная фильтрация может выполняться для каждой группы. Информация относительно того, следует или нет применять ALF, может передаваться посредством каждой единицы кодирования (CU), и форма и коэффициенты фильтрации ALF, который должен применяться к каждому блоку, могут варьироваться. Дополнительно, ALF с идентичной формой (фиксированной формой) может применяться к блоку независимо от характеристик блока.
[0099] Запоминающее устройство 155 может сохранять восстановленный блок или кадр, выводимый из модуля 150 фильтрации, и сохраненный восстановленный блок или кадр может предоставляться в модули 120 и 125 прогнозирования при выполнении внешнего прогнозирования.
[0100] Фиг. 2 является блок-схемой, иллюстрирующей устройство декодирования согласно примерному варианту осуществления настоящего изобретения.
[0101] Ссылаясь на фиг. 2, устройство 200 декодирования может включать в себя модуль 210 энтропийного декодирования, модуль 215 перекомпоновки, модуль 220 деквантования, модуль 225 обратного преобразования, модули 230 и 235 прогнозирования, модуль 240 фильтрации и запоминающее устройство 245.
[0102] Каждый из элементов, показанных на фиг. 2, показывается независимо для того, чтобы представлять различные характеристические функции в устройстве декодирования, и может означать то, что каждый элемент состоит из отдельных аппаратных средств. Иными словами, элементы размещаются независимо для удобства описания, при этом, по меньшей мере, два элемента могут комбинироваться в один элемент, или один элемент может разделяться на множество элементов для того, чтобы выполнять функции. Следует отметить, что варианты осуществления, в которых некоторые элементы интегрируются в один комбинированный элемент, и/или элемент разделяется на несколько отдельных элементов, включаются в объем настоящего изобретения без отступления от сущности настоящего изобретения.
[0103] Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование над входным потоком битов. Например, различные способы, такие как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, могут использоваться для энтропийного кодирования.
[0104] Модуль 210 энтропийного декодирования может декодировать информацию, ассоциированную с внутренним прогнозированием и внешним прогнозированием, выполняемым посредством устройства кодирования.
[0105] Модуль 215 перекомпоновки может выполнять перекомпоновку над потоком битов, энтропийно декодированным посредством модуля 210 энтропийного декодирования. Модуль 215 перекомпоновки может восстанавливать и перекомпоновывать коэффициенты одномерного вектора в коэффициенты двумерного блока. Модуль 215 перекомпоновки может снабжаться информацией относительно сканирования коэффициентов, выполняемого посредством устройства кодирования, и может выполнять перекомпоновку с использованием способа обратного сканирования коэффициентов, на основе порядка сканирования, выполняемого посредством устройства кодирования.
[0106] Модуль 220 деквантования может выполнять деквантование на основе параметра квантования и перекомпонованных коэффициентов блока.
[0107] Модуль 225 обратного преобразования может выполнять обратное преобразование деквантованных коэффициентов преобразования на основе предварительно определенного типа преобразования. В этом случае, тип преобразования может определяться на основе по меньшей мере одного из режима прогнозирования (внешнее/внутреннее прогнозирование), размера/формы блока, режима внутреннего прогнозирования, типа компонента (компонент сигнала яркости/сигнала цветности) или типа сегментации (QT, BT, TT и т.д.).
[0108] Модули 230 и 235 прогнозирования могут формировать блок прогнозирования на основе предоставленной информации для формирования блока прогнозирования и информации относительно ранее декодированного блока или кадра. Информация для формирования блока прогнозирования может предоставляться из модуля 210 энтропийного декодирования. Информация относительно ранее декодированного блока или кадра может предоставляться из запоминающего устройства 245.
[0109] Модули 230 и 235 прогнозирования могут включать в себя модуль определения PU, модуль внешнего прогнозирования и модуль внутреннего прогнозирования. Модуль определения PU может принимать различную информацию, к примеру, информацию PU, связанную с режимом внутреннего прогнозирования информацию для способа внутреннего прогнозирования и связанную с прогнозированием движения информацию для способа внешнего прогнозирования и т.д. из модуля 210 энтропийного декодирования, может определять PU для текущей CU. Модуль определения PU может определять то, какое из внешнего прогнозирования и внутреннего прогнозирования выполняется над PU. Модуль 230 внешнего прогнозирования может выполнять внешнее прогнозирование над текущей PU на основе информации о по меньшей мере одном кадре из числа предыдущего кадра и последующего кадра относительно текущего кадра, включающего в себя текущую PU. Модуль 230 внешнего прогнозирования может использовать информацию, необходимую для внешнего прогнозирования для текущей PU, предоставленную из устройства кодирования. Внешнее прогнозирование может выполняться на основе информации предварительно восстановленной частичной области в текущем кадре, включающем в себя текущую PU. С этой целью, предварительно восстановленная частичная область может добавляться в список опорных кадров.
[0110] Чтобы выполнять внешнее прогнозирование, может определяться, в единице CU, то, представляет собой способ прогнозирования движения для PU, включенной в CU, режим пропуска, режим объединения, AMVP-режим или опорный режим на основе текущих кадров.
[0111] Модуль 235 внутреннего прогнозирования может формировать блок прогнозирования на основе пиксельной информации в текущем кадре. Когда PU представляет собой PU, для которой выполняется внутреннее прогнозирование, внутреннее прогнозирование может выполняться на основе информации режима внутреннего прогнозирования относительно PU, предоставленной из устройства кодирования. Модуль 235 внутреннего прогнозирования может включать в себя AIS-(адаптивный внутренний сглаживающий) фильтр, модуль интерполяции опорных пикселов и DC-фильтр. AIS-фильтр выполняет фильтрацию над опорными пикселами текущего блока. AIS-фильтр может определять то, следует применять фильтр или нет, в зависимости от режима прогнозирования для текущей PU. AIS-фильтрация может выполняться над опорными пикселами текущего блока с использованием режима прогнозирования для единицы прогнозирования и информации относительно AIS-фильтра, предоставленной из устройства кодирования. Когда режим прогнозирования для текущего блока представляет собой режим, не выполняющий AIS-фильтрацию, AIS-фильтр может не применяться.
[0112] Когда режим прогнозирования для PU указывает режим прогнозирования для выполнения внутреннего прогнозирования на основе пиксельных значений, полученных посредством интерполяции опорных пикселов, модуль интерполяции опорных пикселов может формировать опорные пикселы в единице дробного пиксела, меньшей целочисленного пиксела (т.е. полного пиксела), посредством интерполяции опорных пикселов. Когда режим прогнозирования для текущей PU указывает режим прогнозирования для формирования блока прогнозирования без интерполяции опорных пикселов, опорные пикселы не могут интерполироваться. DC-фильтр может формировать блок прогнозирования посредством фильтрации, когда режим прогнозирования для текущего блока представляет собой DC-режим.
[0113] Восстановленный блок или кадр может предоставляться в модуль 240 фильтрации. Модуль 240 фильтрации включает в себя фильтр удаления блочности, модуль вычисления смещения и ALF.
[0114] Устройство кодирования может предоставлять информацию относительно того, применяется фильтр удаления блочности к соответствующему блоку или кадру, и информацию относительно того, какой из сильного фильтра и слабого фильтра применяется, когда используется фильтр удаления блочности. Фильтр удаления блочности устройства декодирования может снабжаться информацией относительно фильтра удаления блочности из устройства кодирования и может выполнять фильтрацию для удаления блочности над соответствующим блоком.
[0115] Модуль вычисления смещения может применять смещение к восстановленному кадру на основе информации относительно типа смещения и значения смещения, применяемой к кадру в процессе кодирования.
[0116] ALF может применяться к CU на основе информации относительно того, применяется или нет ALF, и информации ALF-коэффициентов и т.д., предоставленной из устройства кодирования. ALF-информация может быть включена и предоставлена в конкретном наборе параметров.
[0117] Запоминающее устройство 245 может сохранять восстановленный кадр или блок для использования в качестве опорного кадра или опорного блока и может предоставлять восстановленный кадр в модуль вывода.
[0118] Фиг. 3 иллюстрирует тип разделения на блоки согласно варианту осуществления, к которому применяется настоящее изобретение.
[0119] Один блок (в дальнейшем называемый "первым блоком") может разделяться на множество субблоков (в дальнейшем называемых "вторым блоком), по меньшей мере, посредством одной из вертикальной линии или горизонтальной линии. Число каждых из вертикальных и горизонтальных линий может составлять одну, две или более. Здесь, первый блок может представлять собой блок кодирования (CU), который представляет собой базовую единицу кодирования/декодирования изображений, блок прогнозирования (PU), который представляет собой базовую единицу прогнозного кодирования/декодирования, или блок преобразования (TU), который представляет собой базовую единицу кодирования/декодирования с преобразованием. Первый блок может представлять собой квадратный блок или неквадратный блок.
[0120] Разделение первого блока может выполняться на основе дерева квадрантов, двоичного дерева, троичного дерева и т.д. и подробно описывается со ссылкой на фиг. 3.
[0121] Фиг. 3(a) иллюстрирует разделение на дерево квадрантов (QT). QT представляет собой тип разделения, в котором первый блок разделяется на четыре вторых блока. Например, когда первый блок 2Nx2N разделяется посредством QT, первый блок может разделяться на четыре вторых блока, имеющих размер NxN. QT может быть ограничено применением только к квадратному блоку, но оно также является применимым к неквадратному блоку.
[0122] Фиг. 3(b) иллюстрирует разделение на горизонтальное двоичное дерево (в дальнейшем называемое "горизонтальным BT"). Горизонтальное BT представляет собой тип разделения, в котором первый блок разделяется на два вторых блока посредством одной горизонтальной линии. Это разделение может выполняться симметрично или асимметрично. Например, когда первый блок 2Nx2N разделяется на основе горизонтального BT, первый блок может разделяться на два вторых блока с отношением высоты в (a:b). Здесь, a и b могут быть идентичным значением, и a может быть больше или меньше b.
[0123] Фиг. 3(c) иллюстрирует разделение на вертикальное двоичное дерево (в дальнейшем называемое "вертикальным BT"). Вертикальное BT представляет собой тип разделения, в котором первый блок разделяется на два вторых блока посредством одной вертикальной линии. Это разделение может выполняться симметрично или асимметрично. Например, когда первый блок 2Nx2N разделяется на основе вертикального BT, первый блок может разделяться на два вторых блока с отношением ширины в (a:b). Здесь, a и b могут быть идентичным значением, и a может быть больше или меньше b.
[0124] Фиг. 3(d) иллюстрирует разделение на горизонтальное троичное дерево (в дальнейшем называемое "горизонтальным TT"). Горизонтальное TT представляет собой тип разделения, в котором первый блок разделяется на три вторых блока посредством двух горизонтальных линий. Например, когда первый блок 2Nx2N разделяется на основе горизонтального TT, первый блок может разделяться на три вторых блока с отношением высоты в (a:b:c). Здесь, a, b и c могут быть идентичным значением. Альтернативно, a и c могут быть идентичными, и b может быть больше или меньше a.
[0125] Фиг. 3(e) иллюстрирует разделение на вертикальное троичное дерево (в дальнейшем называемое "вертикальным TT"). Вертикальное TT представляет собой тип разделения, в котором первый блок разделяется на три вторых блока посредством двух вертикальных линий. Например, когда первый блок 2Nx2N разделяется на основе вертикального TT, первый блок может разделяться на три вторых блока с отношением ширины в (a:b:c). Здесь, a, b и c могут быть идентичным значением или различными значениями. Альтернативно, a и c могут быть идентичными, в то время как b может быть больше или меньше a. Альтернативно, a и b могут быть идентичными, в то время как c может быть больше или меньше a. Альтернативно, b и c являются идентичными, в то время как a может быть больше или меньше b.
[0126] Разделение, описанное выше, может выполняться на основе информации разделения, передаваемой в служебных сигналах из устройства кодирования. Информация разделения может включать в себя по меньшей мере одно из информации типа разделения, информации направления разделения или информации отношения разделения.
[0127] Информация типа разделения может указывать любой из типов разделения, которые предварительно задаются в устройстве кодирования/декодирования. Предварительно заданный тип разделения может включать в себя по меньшей мере одно из QT, горизонтального BT, вертикального BT, горизонтального TT, вертикального TT или режима без разделения (без разбиения). Альтернативно, информация типа разделения может означать информацию относительно того, применяется QT, BT или TT, и может кодироваться в форме флага или индекса. В случае BT или TT, информация направления разделения может указывать то, разделяется она горизонтально или вертикально. В случае BT или TT, информация отношения разделения может указывать отношение ширины и/или высоты второго блока.
[0128] Фиг. 4 иллюстрирует способ разделения на блоки на основе древовидной структуры согласно варианту осуществления, в котором применяется настоящее изобретение.
[0129] Блок 400, проиллюстрированный на фиг. 4, предположительно представляет собой квадратный блок (в дальнейшем называемый "первым блоком"), имеющий размер в 8Nx8N и глубину k разделения. Когда информация разделения первого блока указывает QT-разделение, первый блок может разделяться на четыре субблока (в дальнейшем называемые "вторым блоком"). Второй блок может иметь размер в 4Nx4N и может иметь глубину (k+1) разделения.
[0130] Четыре вторых блока могут разделяться снова на основе QT, BT, TT либо на основе режима без разделения. Например, когда информация разделения второго блока указывает горизонтальное двоичное дерево (горизонтальное BT), второй блок разделяется на два субблока (в дальнейшем называемые "третьим блоком") в качестве второго блока 410 по фиг. 4. В этом случае, третий блок может иметь размер в 4Nx2N и может иметь глубину (k+2) разделения.
[0131] Третий блок также может разделяться снова или на основе QT, BT, TT или на основе режима без разделения. Например, когда информация разделения третьего блока указывает вертикальное двоичное дерево (вертикальное BT), третий блок разделяется на два субблока 411 и 412, как проиллюстрировано на фиг. 4. В этом случае, субблоки 411 и 412 могут иметь размер в 2Nx2N и глубину (k+3) разделения. Альтернативно, когда информация разделения третьего блока указывает горизонтальное двоичное дерево (горизонтальное BT), третий блок может разделяться на два субблока 413 и 414, как проиллюстрировано на фиг. 4. В этом случае, субблоки 413 и 414 могут иметь размер в 4NxN и глубину (k+3) разделения.
[0132] Разделение может выполняться независимо или параллельно с соседним блоком либо может выполняться последовательно согласно предварительно определенному порядку приоритетов.
[0133] Информация разделения текущего блока может определяться в зависимости, по меньшей мере, от одного из информации разделения верхнего блока относительно текущего блока или информации разделения соседнего блока. Например, когда второй блок разделяется на основе горизонтального BT, и верхний третий блок разделяется на основе вертикального BT, нижний третий блок не должен разделяться на основе вертикального BT. Если нижний третий блок разделяется посредством вертикального BT, это представляет собой идентичный результат с тем, когда второй блок разделяется посредством QT. Следовательно, кодирование для получения информации разделения (в частности, информации направления разделения) нижнего третьего блока может пропускаться, и устройство декодирования может задаваться таким образом, что нижний третий блок разделяется в горизонтальном направлении.
[0134] Верхний блок может означать блок, имеющий меньшую глубину разделения, чем глубина разделения текущего блока. Например, когда глубина разделения текущего блока составляет (k+2), глубина разделения верхнего блока может составлять (k+1). Соседний блок может представлять собой блок, смежный с верхней или левой стороной текущего блока. Соседний блок может представлять собой блок, имеющий глубину разделения, идентичную глубине разделения текущего блока.
[0135] Вышеописанное разделение может многократно выполняться вплоть до минимальной единицы кодирования/декодирования. При разделении на минимальную единицу, информация разделения для блока более не передается в служебных сигналах из устройства кодирования. Информация относительно минимальной единицы может включать в себя по меньшей мере одно из размера или формы минимальной единицы. Размер минимальной единицы может выражаться посредством ширины, высоты, минимального или максимального значения ширины и высоты, суммы ширины и высоты, числа пикселов или глубины разделения. Информация относительно минимальной единицы может передаваться в служебных сигналах, по меньшей мере, в одном из единицы видеопоследовательности, кадра, слайса или блока. Альтернативно, информация относительно минимальной единицы может быть значением, предварительно заданным в устройстве кодирования/декодирования. Информация относительно минимальной единицы может передаваться в служебных сигналах для каждой из CU, PU и TU. Информация относительно одной минимальной единицы может применяться к CU, PU и TU одинаково.
[0136] Фиг. 5 иллюстрирует способ восстановления остаточной выборки согласно варианту осуществления настоящего изобретения.
[0137] Ссылаясь на фиг. 5, остаточный коэффициент остаточного блока может извлекаться посредством энтропийного декодирования потока битов (S500).
[0138] Устройство кодирования может выполнять преобразование и/или квантование над остаточными выборками остаточного блока, чтобы извлекать остаточные коэффициенты, и может кодировать извлеченные остаточные коэффициенты на основе предварительно определенной схемы кодирования. Схема кодирования может включать в себя по меньшей мере одно из порядка сканирования, схемы энтропийного кодирования или схемы бинаризации. Примеры схемы энтропийного кодирования могут включать в себя экспоненциальный код Голомба, CAVLC, CABAC и т.п. Примеры схемы бинаризации могут включать в себя бинаризацию усеченным кодом Райса (TR), бинаризацию экспоненциальным кодом Голомба k-ого порядка (EGk), бинаризацию кодом фиксированной длины (FL) и т.п.
[0139] В этом случае, остаточный блок может разделяться на одну или более групп (в дальнейшем называемых "энтропийными группами"), и каждая энтропийная группа может включать в себя по меньшей мере один остаточный коэффициент. Энтропийная группа может означать группу остаточных коэффициентов, имеющих идентичную/схожую полосу частот. Полоса частот может разделяться на полосу низких частот и полосу высоких частот либо может разделяться на три полосы, к примеру, на полосу низких частот, промежуточную полосу частот и полосу высоких частот. Тем не менее, это представляет собой просто пример, и полоса частот может дополнительно подразделяться с учетом свойства частоты. Кодирование остаточных коэффициентов может выполняться для каждой энтропийной группы в остаточном блоке.
[0140] Устройство декодирования может извлекать остаточный коэффициент из потока битов на основе предварительно определенной схемы декодирования. Схема декодирования основана на вышеописанной схеме кодирования, и ее подробное описание опускается.
[0141] Декодирование остаточного блока может выполняться для каждой энтропийной группы. Например, энтропийная группа, которой принадлежит остаточный коэффициент декодироваться, может идентифицироваться, и остаточный коэффициент может извлекаться на основе схемы декодирования, соответствующей энтропийной группе. По меньшей мере, одно из порядка сканирования, схемы энтропийного декодирования или схемы бинаризации, связанных с одной из множества энтропийных групп, может отличаться от другой из множества энтропийных групп. В дальнейшем описывается способ извлечения остаточных коэффициентов на основе энтропийных групп со ссылкой на фиг. 12-15.
[0142] Процесс извлечения остаточных коэффициентов дополнительно может включать в себя задание остаточного коэффициента частичной зоны (например, высокочастотной зоны) в остаточном блоке равным значению по умолчанию, предварительно заданному в устройстве декодирования. Это описывается со ссылкой на фиг. 16.
[0143] Извлечение остаточного коэффициента может выполняться посредством декодирования по меньшей мере одного из информации относительно присутствия или отсутствия ненулевого остаточного коэффициента, абсолютного значения (abs) или знака кодированного остаточного коэффициента.
[0144] Извлечение дополнительно может включать в себя процесс задания остаточного коэффициента высокочастотной области в остаточном блоке равным 0. Высокочастотная область может задаваться как область за исключением по меньшей мере одного из n столбцов слева относительно остаточного блока или одной из m строк сверху относительно остаточного блока. N и m могут быть значениями, предварительно зафиксированными в устройстве кодирования/декодирования, или могут переменно определяться согласно размеру/типу остаточного блока. Например, когда остаточный блок составляет 64×32, зона за исключением 32 столбцов (здесь, n=32, m=0) с левой стороны относительно остаточного блока может задаваться как высокочастотная зона. Когда остаточный блок составляет 32×64, зона за исключением 32 строк (здесь, n=0, m=32) сверху относительно остаточного блока может задаваться как высокочастотная область. Альтернативно, N и M могут извлекаться на основе информации, кодированной для того, чтобы указывать высокочастотную область.
[0145] Помимо этого, процесс задания остаточного коэффициента равным 0 может избирательно выполняться с учетом по меньшей мере одного из размера или формы остаточного блока. Например, вышеуказанный процесс может применяться только тогда, когда размер остаточного блока превышает или равен предварительно определенному пороговому значению. Размер остаточного блока может выражаться как по меньшей мере одно из ширины или высоты остаточного блока. Пороговое значение может означать минимальный размер, разрешенный для того, чтобы задавать остаточный коэффициент равным 0. Пороговое значение может быть значением, предварительно зафиксированным при кодировании/декодировании остаточного блока, либо может кодироваться и передаваться в служебных сигналах посредством кодирования остаточного блока. Пороговое значение может составлять 32, 64, 128, 256 или более.
[0146] Процесс задания остаточного коэффициента равным 0 может избирательно выполняться на основе информации флага. Информация флага может указывать то, задается или нет остаточный коэффициент высокочастотной зоны в остаточном блоке равным 0. Информация флага может извлекаться из устройства декодирования на основе размера/типа остаточного блока либо может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Тем не менее, вышеуказанный процесс может быть ограничен выполнением только тогда, когда остаточный блок не кодируется в режиме пропуска преобразования. Соответственно, когда остаточный блок кодируется в режиме пропуска преобразования, устройство кодирования может не кодировать информацию, необходимую для того, чтобы задавать остаточный коэффициент равным 0.
[0147] Ссылаясь на фиг. 5, параметр квантования для остаточного блока может вычисляться (S510).
[0148] Параметр квантования может извлекаться с использованием по меньшей мере одного из прогнозного значения параметра квантования (QPpred) или значения разности параметров квантования (deltaQP). Другими словами, параметр квантования может задаваться в качестве прогнозного значения параметра квантования (QPpred) либо может извлекаться посредством суммирования значения разности параметров квантования (deltaQP) с прогнозным значением параметра квантования (QPpred).
[0149] Например, когда деквантование является необязательным для блока (например, режим объединения, режим пропуска, режим без преобразования, PCM-режим, случай, в котором отсутствуют ненулевые коэффициенты в блоке (т.е. флаг кодированного блока=0) и т.п.), значение разности параметров квантования (deltaQP) может не кодироваться. В этом случае, прогнозное значение параметра квантования (Qppred) может задаваться равным параметру квантования.
[0150] В дальнейшем описывается способ извлечения прогнозного значения параметра квантования (QPpred) со ссылкой на фиг. 6 и 7. Между тем, значение разности параметров квантования (deltaQP) может передаваться в служебных сигналах в предварительно определенной единице, и в дальнейшем описывается способ извлечения параметров квантования на основе единицы передачи в служебных сигналах значения разности параметров квантования (deltaQP) со ссылкой на фиг. 8.
[0151] Вычисление параметра квантования дополнительно может включать в себя процесс модификации извлеченного параметра квантования на основе предварительно определенного смещения параметров квантования (QPoffset).
[0152] Смещение параметров квантования (QPoffset) может составлять фиксированное значение, которое предварительно задается в устройстве кодирования/декодирования, либо может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Смещение параметров квантования (QPoffset) может передаваться в служебных сигналах, по меньшей мере, на одном уровне для единицы видеопоследовательности, кадра, слайса, мозаичного фрагмента или блока. Единица, в которой передается в служебных сигналах смещение параметров квантования, может превышать единицу, в которой передается в служебных сигналах значение разности параметров квантования. Значение и число смещения параметров квантования (Qpoffset) могут адаптивно определяться согласно размеру/форме блока, числу разделений, режиму прогнозирования, режиму внутреннего прогнозирования, типу компонента (например, сигнал яркости, сигнал цветности) и т.п.
[0153] Число смещений параметров квантования может составлять одно, два, три или более. Например, смещение параметров квантования может задаваться, по меньшей мере, на одном из уровня кадров, уровня слайса или уровня блока. Смещение параметров квантования может задаваться для каждого из внутреннего режима и внешнего режима либо может задаваться для каждого компонента сигнала яркости и компонента сигнала цветности. Альтернативно, может задаваться отдельное смещение для LM-режима в режиме внутреннего прогнозирования. Здесь, LM-режим может означать режим, в котором блок сигналов цветности прогнозируется с использованием выборок прогнозирования/восстановления блока сигналов яркости.
[0154] Ссылаясь на фиг. 5, деквантование может выполняться над остаточным коэффициентом с использованием вычисленного параметра квантования (S520).
[0155] В частности, деквантование может выполняться на основе по меньшей мере одного из параметра квантования или предварительно определенного значения деления шкалы уровня. Значение деления шкалы уровня может быть значением, предварительно заданным в устройстве кодирования/декодирования, либо может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Значение деления шкалы уровня может состоять из k целочисленных значений одномерного массива. Например, значение деления шкалы уровня может задаваться как {40, 45, 51, 57, 64, 72}. Тем не менее, это не ограничивает число значений деления шкалы уровня и целочисленных значений. Таким образом, значение деления шкалы уровня может задаваться как другое значение, и число значений деления шкалы уровня может задаваться как 4, 5, 7, 8 или более.
[0156] Между тем, предварительно определенный весовой коэффициент m квантования дополнительно может применяться к результату деквантования, и этот процесс называется "масштабированием". В дальнейшем описывается масштабирование со ссылкой на фиг. 10 и 11.
[0157] Дополнительно, когда остаточный блок включает в себя множество энтропийных групп, различные параметры квантования могут применяться для каждой энтропийной группы. Например, каждая энтропийная группа в остаточном блоке совместно использует идентичное значение разности параметров квантования, но могут использоваться различные прогнозные значения параметров квантования. С другой стороны, каждая энтропийная группа остаточного блока совместно использует идентичное прогнозное значение параметра квантования, но могут использоваться различные значения разности параметров квантования. Таким образом, единица для вычисления прогнозного значения параметра квантования может отличаться от единицы для вычисления значения разности параметров квантования. В этом случае, деквантование может выполняться для каждой энтропийной группы. Процесс деквантования может пропускаться для энтропийной группы, имеющей только остаточный коэффициент в нуль.
[0158] Ссылаясь на фиг. 5, остаточная выборка может восстанавливаться посредством выполнения обратного преобразования над деквантованным остаточным коэффициентом (S530).
[0159] Обратное преобразование может выполняться на основе предварительно определенного типа преобразования, и тип преобразования остаточного блока может определяться на основе набора возможных вариантов преобразования. Набор возможных вариантов преобразования может включать в себя n типов преобразования. Например, набор возможных вариантов преобразования может содержать по меньшей мере одно из DCT-II, DCT-V, DCT-VIII, DST-I или DST-VII.
[0160] В устройстве кодирования/декодирования, могут задаваться m наборов возможных вариантов преобразования. Здесь, m может быть равным 1, 2, 3 или более. Число и/или вид типов преобразования, принадлежащих одному из m наборов возможных вариантов преобразования (в дальнейшем называемому "первым набором возможных вариантов преобразования"), могут отличаться от другого (в дальнейшем называемого "вторым набором возможных вариантов преобразования"). Например, первый набор возможных вариантов преобразования может состоять из p типов преобразования, и второй набор возможных вариантов преобразования может состоять из q типов преобразования, меньших p. Альтернативно, даже когда первый и второй наборы возможных вариантов преобразования состоят из идентичного числа типов преобразования по меньшей мере один тип преобразования, принадлежащий первому набору возможных вариантов преобразования, может отличаться от типа преобразования, принадлежащего второму набору возможных вариантов преобразования.
[0161] Любой из m наборов возможных вариантов преобразования может избирательно использоваться.
[0162] Выбор набора возможных вариантов преобразования может выполняться на основе размера остаточного блока. Например, если размер остаточного блока меньше или равен пороговому значению, выбирается первый набор возможных вариантов преобразования, состоящий из p типов преобразования, а если нет, может выбираться второй набор возможных вариантов преобразования, состоящий из q типов преобразования. Пороговое значение может составлять 32, 64, 128, 256 или больше, и p может быть значением, большим q.
[0163] Альтернативно, выбор набора возможных вариантов преобразования может выполняться на основе информации, которая должна передаваться в служебных сигналах из устройства кодирования. Информация может указывать любой из m наборов возможных вариантов преобразования. Информация может передаваться в служебных сигналах, по меньшей мере, на одном уровне кадра, слайса или блока.
[0164] Когда набор возможных вариантов выбранного преобразования включает в себя множество типов преобразования, устройство кодирования может кодировать информацию, указывающую любой из множества типов преобразования. Устройство декодирования может определять тип преобразования остаточного блока посредством декодирования кодированной информации.
[0165] Между тем, обратное преобразование может избирательно выполняться на основе предварительно определенного флага. Здесь, флаг может указывать то, пропускается или нет обратное преобразование для остаточного блока. Например, если флаг равен 1, обратное преобразование не выполняется над остаточным блоком, а если флаг равен 0, обратное преобразование может выполняться над остаточным блоком. Следовательно, тип преобразования остаточного блока может извлекаться только тогда, когда флаг равен 0. Альтернативно, обратное преобразование может избирательно выполняться на основе свойств остаточного блока. На основе свойств остаточного блока, устройство декодирования может определять то, пропускается или нет обратное преобразование. Свойства могут означать размер/тип остаточного блока, тип разделения, режим прогнозирования, тип компонента или другие связанные с остаточными коэффициентами параметры кодирования.
[0166] Дополнительное обратное преобразование (в дальнейшем называемое "вторым обратным преобразованием") в дополнение к обратному преобразованию (в дальнейшем называемому "первым обратным преобразованием") может выполняться, и это описывается со ссылкой на фиг. 9.
[0167] Фиг. 6 иллюстрирует способ извлечения прогнозного значения параметра квантования (QPpred) согласно варианту осуществления настоящего изобретения.
[0168] Ссылаясь на фиг. 6, прогнозное значение параметра квантования (QPpred) для блока T может извлекаться на основе параметра квантования соседнего блока. Блок T представляет собой блок размера NxM и может быть квадратным или неквадратным.
[0169] Соседний блок может представлять собой блок, пространственно/временно смежный с блоком T, и может представлять собой блок, ранее декодированный перед блоком T. Например, соседний блок может включать в себя по меньшей мере одно из левого блока, верхнего блока, верхнего левого блока, правого верхнего блока или левого нижнего блока относительно блока T. Альтернативно, соседний блок дополнительно может включать в себя совместно размещенный блок, который временно соответствует блоку T. Совместно размещенный блок может задаваться как блок, принадлежащий кадру, отличающемуся от блока T, и включающий себя позицию по меньшей мере одной из верхней левой угловой выборки, правой нижней угловой выборки или центральной выборки блока T.
[0170] Позиция соседнего блока может представлять собой предварительно заданную позицию в устройстве кодирования/декодирования. Например, предварительно заданная позиция может представлять собой левый блок и верхний блок либо может представлять собой левый блок, верхний блок и левый верхний блок. Тем не менее, настоящее изобретение не ограничено этим и дополнительно может включать в себя левый нижний блок, правый верхний блок и т.п. Позиция соседнего блока может переменно определяться на основе по меньшей мере одного свойства (например, размера, формы, глубины разделения, типа разделения, типа компонента и т.д.) по меньшей мере одного из блока T или соседнего блока. Например, соседний блок может определяться как представляющий собой блок, имеющий наибольшую зону из числа блоков, смежных с блоком T, либо может определяться как представляющий собой блок, длина границы который рядом друг с другом является наибольшей. Это может выполняться для верхнего блока и левого блока относительно блока T, соответственно.
[0171] Альтернативно, информация, указывающая позицию соседнего блока, может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Информация может кодироваться в форме флага, индекса и т.п. Например, если информация представляет собой индекс 0, прогнозное значение параметра квантования (QPpred) блока T может извлекаться с использованием параметра квантования левого блока. Если информация представляет собой индекс 1, прогнозное значение параметра квантования (QPpred) блока T может извлекаться с использованием параметра квантования верхнего блока.
[0172] Число соседних блоков составляет n, где n может быть натуральным числом в 1, 2, 3, 4 или более. Число может составлять фиксированное значение, предварительно заданное в устройстве кодирования/декодирования. Альтернативно, число может переменно определяться на основе свойств (например, размера, типа, глубины разделения, типа разделения, типа компонента и т.д.) по меньшей мере одного из блока T или соседнего блока. Альтернативно, информация максимального числа для соседних блоков, используемых для того, чтобы извлекать прогнозное значение параметра квантования (QPpred) блока T, может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Таким образом, блок T может использовать соседние блоки в диапазоне чисел согласно информации максимального числа. Информация максимального числа может передаваться в служебных сигналах на уровне по меньшей мере одного из видеопоследовательности, кадра и другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования, блока).
[0173] Как описано выше, прогнозное значение параметра квантования (QPpred) блока T может извлекаться с использованием одного или более соседних блоков.
[0174] Когда множество соседних блоков используется, прогнозное значение параметра квантования (QPpred) блока T может извлекаться через рабочий процесс, к примеру, через промежуточное значение, среднее значение, минимальное значение, максимальное значение или значение моды параметров квантования множества соседних блоков.
[0175] Альтернативно, прогнозированное значение параметра квантования (QPpred) блока T может извлекаться посредством вычитания QP левого верхнего блока из суммы QP верхнего блока и QP левого блока. В том случае, если предусмотрено множество верхних блоков или левых блоков, QP верхнего блока или левого блока может определяться через рабочий процесс, к примеру, через промежуточное значение, среднее значение, минимальное значение, максимальное значение или значение моды.
[0176] Если имеется недоступный блок из числа соседних блоков, прогнозное значение параметра квантования блока T может извлекаться только с использованием доступных соседних блоков. Альтернативно, когда соседний блок является недоступным, параметр квантования соседнего блока может извлекаться на основе параметра квантования, заданного в предварительно определенной фрагментной зоне. Фрагментная зона может представлять собой слайс, мозаичный фрагмент, строку блоков дерева кодирования, блок и т.п. Фрагментная зона может обозначать кодированную/декодированную зону перед блоком T или зону, которой принадлежит блок T, который должен кодироваться/декодироваться. Недоступность может представлять собой случай, в котором соседний блок не существует физически, или случай, в котором ссылка является невозможной согласно правилам устройства кодирования/декодирования. Например, если блок T и соседний блок принадлежат различным параллельным зонам обработки (например, слайсам, мозаичным фрагментам и т.д.), блоку T может не разрешаться ссылаться на соседний блок.
[0177] Фиг. 7 иллюстрирует способ извлечения прогнозного значения параметра квантования для компонента сигнала цветности блока T согласно варианту осуществления настоящего изобретения.
[0178] В дальнейшем в этом документе, компонент сигнала яркости и компонент сигнала цветности блока T называются "блоком сигналов яркости" и "блоком сигналов цветности", соответственно.
[0179] В случае цветового формата 4:2:0, блок TC сигналов цветности может соответствовать блоку TY сигналов яркости. Прогнозное значение параметра квантования блока сигналов цветности может извлекаться с использованием параметра квантования соответствующего блока сигналов яркости.
[0180] Тем не менее, как проиллюстрировано на фиг. 7, структура разделения между блоком сигналов яркости и блоком сигналов цветности может отличаться. В этом случае, блок сигналов цветности может соответствовать множеству блоков сигналов яркости. Прогнозное значение параметра квантования блока сигналов цветности может извлекаться с использованием параметра квантования одного из множества блоков сигналов яркости. В этом случае, может использоваться блок сигналов яркости, соответствующий позиции центральной выборки или позиции левой верхней выборки блока сигналов цветности. Блок сигналов яркости, имеющий наибольшую зону, перекрывающую блок сигналов цветности, может использоваться. Альтернативно, прогнозное значение параметра квантования блока сигналов цветности может извлекаться посредством вычисления среднего значения, срединного значения, минимального значения, максимального значения, значения моды и т.п. параметров квантования множества блоков сигналов яркости.
[0181] Прогнозное значение параметра квантования блока сигналов цветности может извлекаться с использованием параметра квантования соседнего блока, который описывается подробно со ссылкой на фиг. 6, и его подробное описание опускается здесь.
[0182] Как описано выше, прогнозное значение параметра квантования блока сигналов цветности может извлекаться посредством использования как способа с использованием параметра квантования соответствующего блока сигналов яркости (первого способа), так и способа с использованием параметра квантования соседнего блока относительно блока сигналов цветности (второго способа). Альтернативно, прогнозное значение параметра квантования блока сигналов цветности может извлекаться посредством выбора первого способа либо второго способа.
[0183] Выбор может выполняться с учетом того, имеют или нет блок сигналов яркости и блок сигналов цветности идентичную структуру разделения, режим прогнозирования, режим внутреннего прогнозирования, цветовой формат или размер/форму, связанные с блоком T. Например, если блок T кодируется во внешнем режиме, и структура разделения блока сигналов цветности является идентичной структуре разделения блока сигналов яркости, параметр квантования блока сигналов цветности может прогнозироваться с использованием первого способа. Альтернативно, если структура разделения блока сигналов цветности является идентичной структуре разделения блока сигналов яркости, используется первый способ; в противном случае, может использоваться второй способ. Альтернативно, если режим внутреннего прогнозирования блока T представляет собой LM-режим, параметр квантования блока сигналов цветности может прогнозироваться с использованием первого способа.
[0184] Альтернативно, выбор может выполняться на основе информации, указывающей первый способ либо второй способ. Информация может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Информация может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра или другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования и блока).
[0185] Параметр квантования блока сигналов цветности может извлекаться как идентичный прогнозному значению извлеченного параметра квантования блока сигналов цветности, либо может извлекаться посредством суммирования значения разности параметров квантования с прогнозным значением параметра квантования. Помимо этого, извлеченный параметр квантования может модифицироваться с использованием предварительно определенного смещения параметров квантования, как проиллюстрировано на фиг. 5.
[0186] Например, в случае блока сигналов цветности, кодированного в LM-режиме, прогнозное значение параметра квантования может задаваться равным параметру квантования. В этом случае, значение разности параметров квантования может не передаваться в служебных сигналах, или процесс суммирования передаваемого в служебных сигналах значения разности параметров квантования может опускаться. Альтернативно, в случае блока сигналов цветности, кодированного в LM-режиме, параметр квантования может модифицироваться с использованием одного, двух или более смещений параметров квантования.
[0187] Фиг. 8 иллюстрирует способ извлечения параметров квантования на основе единицы передачи в служебных сигналах значения разности параметров квантования (deltaQP) согласно варианту осуществления настоящего изобретения.
[0188] Устройство кодирования может определять единицу блока для кодирования deltaQP и кодировать информацию, указывающую размер блока. Здесь, размер может представляться, по меньшей мере, посредством одного из ширины или высоты блока, произведения ширины и высоты, суммы ширины и высоты и минимального значения/максимального значения ширины и высоты. Устройство декодирования декодирует служебную информацию, чтобы получать минимальный размер блока, в котором разрешается передача в служебных сигналах deltaQP. Информация может передаваться в служебных сигналах на уровне по меньшей мере одного из видеопоследовательности, кадра, слайса или мозаичного фрагмента. Альтернативно, минимальный размер может извлекаться как минимальный размер блока преобразования либо может задаваться как фиксированный размер, предварительно заданный в устройстве кодирования/декодирования. Например, минимальный размер может задаваться как 4×4, 8×4, 4×8, 8×8 и т.п. Информация, указывающая размер блока, может передаваться в служебных сигналах для компонента сигнала яркости и компонента сигнала цветности, соответственно. Альтернативно, минимальный размер для блока сигналов цветности может извлекаться на основе минимального размера для блока сигналов яркости. Например, в цветовом формате 4:2:0, минимальный размер блока сигналов цветности может определяться как составляющий половину от минимального размера блока сигналов яркости. Во внешнем режиме, структура разделения блока сигналов цветности может отличаться от структуры разделения блока сигналов яркости, и минимальный размер блока сигналов цветности может определяться как составляющий половину от блока сигналов яркости.
[0189] Ссылаясь на фиг. 8, параметр квантования текущего блока может извлекаться на основе результата сравнения между размером текущего блока и минимальным размером. Здесь, текущий блок может представлять собой блок, который дополнительно не разделяется посредством типа разделения на блоки, такого как QT, BT, TT или и т.д.
[0190] Фиг. 8(a) иллюстрирует случай, в котором размер текущего блока составляет 2Mx2N, и минимальный размер составляет MxN. Как проиллюстрировано на фиг. 8(a), когда размер текущего блока превышает минимальный размер, параметр квантования текущего блока может извлекаться с использованием QPpred и передаваемого в служебных сигналах deltaQP.
[0191] QPpred может извлекаться на основе по меньшей мере одного из первого способа или второго способа, описанного выше. DeltaQP может передаваться в служебных сигналах на этапе a, и оставшиеся блоки b, c, d могут совместно использовать deltaQP, передаваемый в служебных сигналах из блока a. В этом случае, текущий блок имеет один параметр квантования. Альтернативно, deltaQP может передаваться в служебных сигналах для каждого из блоков a-d с минимальным размером. В этом случае, параметр квантования может извлекаться для каждого из блоков a-d, принадлежащих текущему блоку, и блоки a-d могут иметь различные параметры квантования.
[0192] Между тем, если размер текущего блока равен минимальному размеру, он может извлекаться с использованием QPpred и передаваемого в служебных сигналах deltaQP.
[0193] Фиг. 8(b) иллюстрирует случай, в котором минимальный размер составляет MxN, и текущий блок (a-d) меньше минимального размера. Как проиллюстрировано на фиг. 8(b), если размер текущего блока меньше минимального размера, параметр квантования текущего блока может извлекаться с использованием QPpred и передаваемого в служебных сигналах deltaQP.
[0194] QPpred может извлекаться, на основе текущего блока, с использованием по меньшей мере одного из первого способа или второго способа, описанного выше. Например, QPpred может извлекаться для каждого из блоков a-d. Альтернативно, QPpred может извлекаться для блока, и оставшиеся блоки b-d могут совместно использовать QPpred, извлекаемый из блока a. Альтернативно, QPpred может извлекаться, на основе верхнего блока относительно текущего блока, с использованием по меньшей мере одного из первого способа или второго способа, описанного выше. Здесь, верхний блок может представлять собой блок, включающий в себя текущий блок, и блок, имеющий меньшую глубину, чем текущий блок. Например, когда глубина разделения текущего блока составляет k, глубина разделения верхнего блока может составлять (k-1), (k-2) и т.д. Верхний блок может задаваться как единица блока, совместно использующего QPpred. Верхний блок может задаваться равным размеру (MXN), равному минимальному размеру. Альтернативно, устройство кодирования может определять единицу блока, совместно использующего QPpred, и может кодировать информацию, указывающую единицу блока. Устройство декодирования может указывать позицию, размер, форму и т.п. верхнего блока на основе кодированной информации.
[0195] DeltaQP может передаваться в служебных сигналах в верхнем блоке относительно текущего блока. Здесь, верхний блок может представлять собой блок, включающий в себя текущий блок, и блок, имеющий меньшую глубину, чем текущий блок. Таким образом, когда глубина разделения текущего блока составляет k, глубина разделения верхнего блока может составлять (k-1), (k-2) и т.д. Здесь, предполагается, что верхний блок представляет собой MxN, проиллюстрированный на фиг. 8(b). Таким образом, один и идентичный параметр квантования может извлекаться для блоков a-d, и различный параметр квантования может извлекаться для каждого из блоков a-d. Альтернативно, если размер текущего блока меньше минимального размера, как проиллюстрировано на фиг. 8(b), параметр квантования текущего блока может извлекаться с использованием QPpred. В этом случае, декодирование для deltaQP может опускаться. Как описано выше, QPpred может извлекаться, на основе текущего блока или верхнего блока, с использованием по меньшей мере одного из первого способа и второго способа, и их подробное описание опускается. Аналогично, один и идентичный параметр квантования может извлекаться для блоков a-d, принадлежащих блоку MxN, и различный параметр квантования может извлекаться для каждого из блоков a-d.
[0196] С другой стороны, в случае блока, смежного с границей кадра, слайса или мозаичного фрагмента, блок может не удовлетворять минимальному размеру. В этом случае, параметр квантования блока может извлекаться только с использованием QPpred, и декодирование для deltaQP может опускаться.
[0197] Фиг. 9 иллюстрирует процесс обратного преобразования остаточного коэффициента согласно варианту осуществления настоящего изобретения.
[0198] Ссылаясь на фиг. 9, остаточная выборка остаточного блока может восстанавливаться посредством выполнения по меньшей мере одного из первого обратного преобразования или второго обратного преобразования над остаточным коэффициентом.
[0199] Второе обратное преобразование может применяться ко всей зоне остаточного блока или частичной зоне в остаточном блоке. Частичная зона может означать низкочастотную зону в остаточном блоке. Зона, к которой применяется второе обратное преобразование, может переменно определяться с учетом по меньшей мере одного из размера/формы остаточного блока или размера/формы матрицы преобразования для второго обратного преобразования.
[0200] Например, если или ширина или высота остаточного блока равна или выше 8, может применяться второе обратное преобразование с матрицей преобразования 8×8. Когда размер остаточного блока составляет 8×8, второе обратное преобразование применяется ко всей зоне остаточного блока, а когда размер остаточного блока составляет 16×16, второе обратное преобразование может применяться только к частичной зоне остаточного блока. Частичная зона может представлять собой зону 8×8, расположенную слева вверху относительно остаточного блока, зону 16×8, расположенную в верхнем краю относительно остаточного блока, зону 8×16, расположенную слева относительно остаточного блока, или зону за исключением зоны 8×8, расположенную справа внизу относительно остаточного блока.
[0201] Альтернативно, если или ширина или высота остаточного блока равна 4, может применяться второе обратное преобразование с матрицей преобразования 4×4. Когда размер остаточного блока составляет 4×8 или 8×4, второе обратное преобразование может применяться только к частичной зоне остаточного блока (например, к зоне 4×4, расположенной слева вверху относительно остаточного блока), и второе обратное преобразование может применяться к каждой из двух зон 4×4, принадлежащих остаточному блоку.
[0202] Размер матрицы преобразования для второго обратного преобразования может составлять 4×4, 8×8, 16×16, 32×32 или более. Форма матрицы преобразования не ограничена квадратной и может реализовываться как неквадратная. Тем не менее, чтобы уменьшать сложность преобразования, размер матрицы преобразования, разрешенный для второго обратного преобразования, может быть ограничен NxM или меньше. N и M могут быть равны 4, 8 или 16, соответственно, и N и M могут быть идентичными или отличающимися друг от друга.
[0203] В процессе второго обратного преобразования, тип преобразования остаточного блока может определяться через способ извлечения типа преобразования, описанный на фиг. 5. Альтернативно, тип преобразования при втором обратном преобразовании может быть предварительно задан в устройстве кодирования/декодирования. Например, в качестве типа преобразования во втором обратном преобразовании, может фиксированно использоваться один из вышеуказанных пяти типов преобразования.
[0204] Второе обратное преобразование может избирательно выполняться на основе флага, указывающего то, пропускается или нет первое обратное преобразование (в дальнейшем называемого "первым флагом") в остаточном блоке. Таким образом, когда первое обратное преобразование пропускается в остаточном блоке согласно первому флагу, выполнение второго обратного преобразования может пропускаться.
[0205] Альтернативно, флаг, указывающий то, пропускается или нет второе обратное преобразование (в дальнейшем называемый "вторым флагом"), может передаваться в служебных сигналах отдельно. Если второй флаг равен 1, второе обратное преобразование не выполняется, а если флаг равен 0, второе обратное преобразование может выполняться. Первый флаг и второй флаг могут независимо кодироваться и передаваться в служебных сигналах. Альтернативно, любой один первого флага и второго флага может передаваться в служебных сигналах в зависимости от другого. Например, только тогда, когда любой один из первого флага и второго флага равен 1, другой может передаваться в служебных сигналах. С другой стороны, только тогда, когда любой один из первого флага и второго флага равен 0, другой может передаваться в служебных сигналах.
[0206] Второе обратное преобразование может не применяться, когда число ненулевых остаточных коэффициентов, принадлежащих остаточному блоку, меньше n. При этом n может быть значением, предварительно заданным в устройстве кодирования/декодирования. Например, n может быть натуральным числом в 1, 2, 3 или 8 или меньше. Альтернативно, n может переменно определяться на основе размера остаточного блока.
[0207] Между тем, фиг. 9 иллюстрирует выполнение второго обратного преобразования перед первым обратным преобразованием, но он не ограничивает порядок выполнения обратного преобразования. Таким образом, второе обратное преобразование может выполняться перед первым обратным преобразованием либо может выполняться после первого обратного преобразования. Когда второе обратное преобразование выполняется перед первым обратным преобразованием, масштабирование, описанное на фиг. 5, может выполняться между деквантованием и вторым обратным преобразованием либо может выполняться между первым обратным преобразованием и вторым обратным преобразованием. С другой стороны, когда второе обратное преобразование выполняется после первого обратного преобразования, масштабирование, описанное на фиг. 5, может выполняться между деквантованием и первым обратным преобразованием либо может выполняться между первым обратным преобразованием и вторым обратным преобразованием.
[0208] Фиг. 10 иллюстрирует форму списка масштабирования, связанного с процессом масштабирования согласно варианту осуществления настоящего изобретения.
[0209] Как упомянуто на фиг. 5, масштабирование может означать процесс применения предварительно определенного весового коэффициента квантования (m) к остаточному коэффициенту остаточного блока. Остаточный коэффициент остаточного блока может быть квадратным или неквадратным NxM. Весовой коэффициент квантования может задаваться для каждой частоты в остаточном блоке, и массив весовых коэффициентов квантования, заданных для каждой частоты, называется "списком масштабирования".
[0210] Весовой коэффициент квантования списка масштабирования может передаваться в служебных сигналах в устройстве кодирования (способ A).
[0211] Относительно способа A, весовой коэффициент квантования может передаваться в служебных сигналах для каждой из позиций или частотных компонентов остаточных коэффициентов в остаточном блоке. Весовой коэффициент квантования может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра или другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования и блока).
[0212] Как проиллюстрировано на фиг. 10, список масштабирования, имеющий различные размеры/формы, определенные посредством комбинации N и M, может передаваться в служебных сигналах. Здесь, N и M могут быть целыми числами, большими или равными 1. Список масштабирования может передаваться в служебных сигналах в двумерной форме NxM либо может передаваться в служебных сигналах посредством компоновки двумерного массива NxM в одной размерности. Альтернативно, список масштабирования может передаваться в служебных сигналах посредством разделения на список горизонтального масштабирования Nx1 и список вертикального масштабирования 1xM.
[0213] Форма списка масштабирования может отличаться в зависимости от того, выполняется или нет масштабирование перед вторым обратным преобразованием согласно фиг. 9. Например, когда масштабирование выполняется перед вторым обратным преобразованием, оно передается в служебных сигналах в одномерной форме, в противном случае, оно может передаваться в служебных сигналах в двумерной форме.
[0214] Весовой коэффициент квантования списка масштабирования может быть значением, предварительно установленным в устройстве кодирования/декодирования (способ B). Относительно способа B, весовой коэффициент квантования может быть одним и идентичным значением независимо от позиции остаточных коэффициентов в остаточном блоке. Альтернативно, весовой коэффициент квантования может извлекаться на основе информации в табличной форме, которая предварительно задается в устройстве кодирования/декодирования. Информация в табличной форме может задавать весовой коэффициент квантования согласно по меньшей мере одному из позиции остаточного коэффициента, размера блока, типа компонента и режима прогнозирования.
[0215] Весовой коэффициент квантования списка масштабирования может определяться посредством ссылки на весь или на часть ранее используемого или передаваемого в служебных сигналах списка масштабирования (способ C). Список масштабирования, на который следует ссылаться, может быть последним используемым или передаваемым в служебных сигналах в порядке кодирования/декодирования, либо может использоваться или передаваться в служебных сигналах в предыдущей фрагментной зоне (например, в слайсе, мозаичном фрагменте, строке блоков дерева кодирования (CTB), CTB, другом субблоке). С этой целью, информация, указывающая то, следует или нет ссылаться на предыдущий список масштабирования, может кодироваться и передаваться в служебных сигналах. Информация, указывающая весовой коэффициент квантования, многократно используемый в предыдущем списке масштабирования, может кодироваться и передаваться в служебных сигналах.
[0216] Весовой коэффициент квантования может определяться посредством избирательного использования одного из способов A-C, описанных выше. Выбор может выполняться на основе по меньшей мере одного из размера/типа остаточного блока, типа разделения, режима прогнозирования, типа компонента, типа преобразования или предварительно определенной информации флага. Информация флага может включать в себя флаг, связанный с тем, применяется или нет весовой коэффициент квантования, флаг, связанный с тем, следует или нет выполнять пропуск преобразования, и т.п.
[0217] В способах A-C, описанных выше, весовой коэффициент квантования списка масштабирования может определяться для каждого из блока сигналов яркости и блока сигналов цветности. Например, если цветовой формат представляет собой 4:2:0 или 4:2:2, список масштабирования для каждого из блока сигналов яркости и блока сигналов цветности может передаваться в служебных сигналах. Альтернативно, список масштабирования блока сигналов цветности может определяться посредством дискретизации списка масштабирования блока сигналов яркости при предварительно определенном отношении. Отношение может определяться на основе цветового формата, который представляет собой отношение между компонентом сигнала яркости и компонентом сигнала цветности. Альтернативно, в вышеописанных способах A-C, список масштабирования может определяться по-разному в зависимости от типа преобразования остаточного блока. Тип преобразования остаточного блока может определяться для вертикального преобразования и горизонтального преобразования, соответственно. Список масштабирования может определяться по-разному в зависимости от определенного типа преобразования из вертикального/горизонтального преобразования. Тип преобразования остаточного блока может определяться, по меньшей мере, в одном из первого обратного преобразования или второго обратного преобразования согласно фиг. 9.
[0218] Фиг. 11 иллюстрирует процесс масштабирования на основе весовых коэффициентов квантования и обратного преобразования согласно варианту осуществления настоящего изобретения.
[0219] По меньшей мере, одно из масштабирования на основе весовых коэффициентов квантования или обратного преобразования может выполняться посредством разделения на горизонтальное направление и вертикальное направление.
[0220] Как упомянуто на фиг. 10, список масштабирования может передаваться в служебных сигналах посредством разделения на список горизонтального масштабирования Nx1 и список вертикального масштабирования 1xM. В этом случае, устройство декодирования может выполнять каждое из горизонтального масштабирования на основе списка горизонтального масштабирования (в дальнейшем называемого "одномерным горизонтальным масштабированием") и вертикального масштабирования на основе списка вертикального масштабирования (в дальнейшем называемого "одномерным вертикальным масштабированием"). Кроме того, обратное преобразование может выполняться над остаточными коэффициентами, к которым применяется масштабирование. В этом случае, горизонтальное преобразование (в дальнейшем называемое "одномерным горизонтальным преобразованием") может выполняться над остаточными коэффициентами, к которым применяется одномерное горизонтальное масштабирование. Кроме того, вертикальное преобразование (в дальнейшем называемое "одномерным вертикальным преобразованием") может выполняться над остаточными коэффициентами, к которым применяется одномерное вертикальное масштабирование. Альтернативно, горизонтальное и вертикальное преобразования (в дальнейшем называемые "двумерным обратным преобразованием") могут выполняться над остаточными коэффициентами, к которым применяется масштабирование.
[0221] Например, как проиллюстрировано на фиг. 11, масштабирование и обратное преобразование для остаточных коэффициентов могут включать в себя выполнение одномерного горизонтального (вертикального) преобразования после одномерного горизонтального (вертикального) масштабирования (в дальнейшем называется "первым этапом") и выполнение одномерного вертикального (горизонтального) преобразования после одномерного вертикального (горизонтального) масштабирования (в дальнейшем называется "вторым этапом"). Масштабирование и обратное преобразование могут последовательно выполняться в порядке от первого этапа ко второму этапу, и первый этап и второй этап могут выполняться параллельно.
[0222] Альтернативно, горизонтальное/вертикальное преобразование может выполняться после горизонтального/вертикального масштабирования относительно остаточных коэффициентов. Таким образом, масштабирование и обратное преобразование остаточных коэффициентов могут выполняться в порядке одномерного горизонтального (вертикального) масштабирования -> одномерного вертикального (горизонтального) масштабирования -> одномерного горизонтального (вертикального) преобразования -> одномерного вертикального (горизонтального) преобразования. Одномерное горизонтальное (вертикальное) масштабирование и одномерное вертикальное (горизонтальное) масштабирование могут выполняться последовательно или параллельно. Аналогично, одномерное горизонтальное (вертикальное) преобразование и одномерное вертикальное (горизонтальное) преобразование могут выполняться последовательно или параллельно.
[0223] С другой стороны, список масштабирования может передаваться в служебных сигналах в двумерной форме NxM. В этом случае, масштабирование на основе списков масштабирования (в дальнейшем называемое "двумерным масштабированием") может выполняться, и обратное преобразование может выполняться над масштабированными остаточными коэффициентами. Альтернативно, список масштабирования может передаваться в служебных сигналах в форме одномерного массива из двумерных массивов NxM либо может передаваться в служебных сигналах посредством разделения на список горизонтального масштабирования Nx1 и список вертикального масштабирования 1xM. В этом случае, устройство декодирования может перекомпоновывать передаваемый в служебных сигналах список масштабирования на две размерности NxM. Устройство декодирования может выполнять обратное преобразование после двумерного масштабирования над остаточными коэффициентами. Здесь, обратное преобразование может выполняться посредством разделения на одномерное горизонтальное преобразование и одномерное вертикальное преобразование либо может представлять собой двумерное обратное преобразование.
[0224] Когда масштабирование выполняется перед вторым обратным преобразованием согласно фиг. 9, обратное преобразование в этом варианте осуществления может означать второе обратное преобразование. С другой стороны, когда масштабирование выполняется между первым обратным преобразованием и вторым обратным преобразованием согласно фиг. 9, обратное преобразование в этом варианте осуществления может означать первое обратное преобразование.
[0225] Фиг. 12 и 13 иллюстрируют способ определения энтропийной группы остаточного блока согласно варианту осуществления настоящего изобретения.
[0226] Число энтропийных групп, принадлежащих остаточному блоку, может составлять n. Например, остаточный блок может разделяться на две энтропийных группы: первую группу, которая представляет собой низкочастотную область, и вторую группу, которая представляет собой высокочастотную область. Альтернативно, остаточный блок может разделяться на три энтропийных группы: первую группу, которая представляет собой низкочастотную область, вторую группу, которая представляет собой среднечастотную область, и третью группу, которая представляет собой высокочастотную область. Тем не менее, это представляет собой просто пример, и n может быть равным 1 либо может быть целым числом, большим или равным 4.
[0227] Значение n может быть значением, предварительно заданным в устройстве кодирования/декодирования, либо может извлекаться на основе информации, передаваемой в служебных сигналах из устройства кодирования. Информация может включать в себя информацию, указывающую то, разделяется или нет остаточный блок на множество энтропийных групп, информацию, указывающую число энтропийных групп, принадлежащих остаточному блоку, и т.д. Информация может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра или другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования, блока кодирования, блока преобразования).
[0228] Альтернативно, значение n может переменно определяться на основе информации кодирования относительно остаточного блока. Информация кодирования может включать в себя не только информацию, кодированную и передаваемую в служебных сигналах посредством устройства кодирования, но также и информацию, извлекаемую в устройстве декодирования на основе передаваемой в служебных сигналах информации.
[0229] Например, информация кодирования может включать в себя по меньшей мере одно из размера/формы блока, доступности блоков, типа разделения, числа разделений, типа компонента, режима прогнозирования, информации относительно режима внутреннего прогнозирования, внешнего режима, информации движения, типа преобразования, режима пропуска преобразования, информации относительно ненулевых остаточных коэффициентов, порядка сканирования, цветового формата, информации внутриконтурного фильтра и т.д.
[0230] Размер блока может выражаться посредством одного из ширины и высоты, минимального значения/максимального значения ширины и высоты, суммы ширины и высоты, числа выборок, принадлежащих блоку, и т.п. Доступность блока может определяться с учетом позиции блока, диапазона зоны параллельной обработки, порядка декодирования и т.п. Режим прогнозирования может означать информацию, указывающую внутренний режим или внешний режим. Информация относительно режима внутреннего прогнозирования включает в себя информацию, связанную с тем, представляет собой режим внутреннего прогнозирования или нет ненаправленный режим, с тем, представляет собой режим внутреннего прогнозирования или нет вертикальный/горизонтальный режим, с направленностью режима внутреннего прогнозирования, с числом режимов внутреннего прогнозирования, предварительно заданных в устройстве кодирования/декодирования, и т.п. Внешний режим может означать информацию, указывающую режим объединения/пропуска, AMVP-режим или опорный режим на основе текущих кадров. Опорный режим на основе текущих кадров означает способ прогнозирования текущего блока с использованием предварительно восстановленной зоны текущего кадра. Текущий кадр может представлять собой кадр, которому принадлежит текущий блок. Текущий кадр может добавляться в список опорных кадров для внешнего прогнозирования, и текущий кадр может размещаться, в списке опорных кадров, после кратковременного опорного кадра или долговременного опорного кадра. Информация движения может включать в себя флаг направления прогнозирования, вектор движения, индекс опорного кадра и т.д. Информация кодирования может быть связана, по меньшей мере, с одним из текущего блока, соседнего блока относительно текущего блока или верхнего блока относительно текущего блока. Верхний блок может означать блок, имеющий меньшую глубину разделения, чем текущий блок.
[0231] Ссылаясь на фиг. 12, энтропийная группа может определяться на основе по меньшей мере одного из числа остаточных коэффициентов, принадлежащих энтропийной группе (в дальнейшем называемого "информацией по числу коэффициентов"), или порядка сканирования. Информация по числу коэффициентов может задаваться для каждой энтропийной группы.
[0232] Например, предполагается, что информация по числу коэффициентов первой группы и второй группы указывает 3 и 7, соответственно, и что порядок сканирования представляет собой зигзагообразное сканирование. В этом случае, как проиллюстрировано на фиг. 12, согласно зигзагообразному сканированию, первая группа определяется в качестве группы из трех остаточных коэффициентов (т.е. группы остаточных коэффициентов в позициях 0 в 2), и вторая группа определяется в качестве группы из семи остаточных коэффициентов (т.е. группы остаточных коэффициентов в позициях 3 в 9), и третья группа может определяться в качестве группы остаточных коэффициентов за исключением первой группы и второй группы в остаточном блоке.
1
1
2
[0233] Как описано выше, первая группа задается как группа от левого верхнего остаточного коэффициента остаточного блока до остаточного коэффициента C в позиции, сдвинутой посредством информации по числу коэффициентов первой группы. Аналогично, вторая группа задается как группа от остаточного коэффициента C до остаточного коэффициента C в позиции, сдвинутой посредством информации по числу коэффициентов второй группы. Третья группа задается как набор остаточных коэффициентов за исключением первой группы и второй группы в остаточном блоке. Сдвиг соответствует (обратному) порядку сканирования остаточного блока или каждой группы.
[0234] Информация по числу коэффициентов может быть значением, предварительно заданным в устройстве кодирования/декодирования (первый вариант осуществления). Альтернативно, информация по числу коэффициентов может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра и другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования, блока кодирования, блока преобразования) (второй вариант осуществления). Альтернативно, информация по числу коэффициентов может переменно определяться на основе информации кодирования относительно остаточного блока (третий вариант осуществления). Здесь, информация кодирования является идентичной вышеописанной информации кодирования, и ее подробное описание опускается. Информация по числу коэффициентов может извлекаться на основе информации по числу коэффициентов предварительно определенного опорного блока (четвертый вариант осуществления). Здесь, опорный блок может представлять собой соседний блок или верхний блок относительно остаточного блока. Соседний блок означает предварительно декодированный блок перед остаточным блоком и может представлять собой по меньшей мере один из блоков, смежных с слева/справа или сверху/снизу относительно остаточного блока. Верхний блок может представлять собой блок, имеющий меньшую глубину разделения, чем остаточный блок.
[0235] С другой стороны, информация по числу коэффициентов некоторых групп из множества энтропийных групп может определяться на основе одного из первого-четвертого вариантов осуществления, описанных выше, и информация по числу коэффициентов некоторых других групп может определяться на основе другого одного из первого-четвертого вариантов осуществления, описанных выше.
[0236] Одна энтропийная группа может определяться на основе одного, двух или более фрагментов информации позиции. Информация позиции может указывать позицию конкретного остаточного коэффициента, принадлежащего остаточному блоку, и может представлять собой информацию для указания размера, формы, позиции и т.д. энтропийной группы.
[0237] Ссылаясь на фиг. 13(a), энтропийная группа может отличаться на основе информации позиции одного остаточного коэффициента. В этом случае, когда число энтропийных групп, принадлежащих остаточному блоку, составляет n, число информации позиции может составлять (n-1).
A
A
1
1
1
A
1
A
B
B
2
2
2
B
2
B
[0238] Например, когда информация позиции первой группы указывает позицию (X, Y) остаточного коэффициента A, первая группа может определяться в качестве группы остаточных коэффициентов в позиции (x, y) (где 0=<x=<X, 0=<y=<Y). Когда информация позиции второй группы указывает позицию (X, Y) остаточного коэффициента B, вторая группа может определяться в качестве группы за исключением первой группы в остаточных коэффициентах в позиции (x, y) (где 0=<x=<X, 0=<y=< Y). Третья группа может определяться в качестве группы остаточных коэффициентов за исключением первой группы и второй группы в остаточном блоке.
[0239] Ссылаясь на фиг. 13(b), энтропийная группа может отличаться на основе множества фрагментов информации позиции.
[0240] Например, когда информация позиции первой группы указывает позиции остаточных коэффициентов A1 и A2, первая группа может определяться в качестве группы остаточных коэффициентов, расположенных в левой части относительно линии, проходящей через A1 и A2. Таким образом, первая группа может состоять из 10 остаточных коэффициентов. Когда информация позиции второй группы указывает позицию остаточных коэффициентов B1 и B2, вторая группа может определяться в качестве группы за исключением первой группы в группе остаточных коэффициентов, расположенных в левой части относительно линии, проходящей через B1 и B2. Таким образом, вторая группа может состоять из 26 остаточных коэффициентов. Третья группа может определяться в качестве группы остаточных коэффициентов за исключением первой группы и второй группы в остаточном блоке.
[0241] Первая группа может определяться с использованием двух фрагментов информации позиции, указывающей позиции A1 и A2, соответственно, и вторая группа может определяться с использованием двух фрагментов информации позиции, указывающей позиции B1 и B2, соответственно. Тем не менее, как проиллюстрировано на фиг. 13(b), энтропийная группа может реализовываться в симметричной форме, на основе диагональной линии L остаточного блока. В этом случае, любой из двух фрагментов информации позиции может извлекаться на основе другого. Например, информация позиции A2 может извлекаться на основе информации позиции A1. Аналогично, информация позиции B2 может извлекаться на основе информации позиции B1.
[0242] Дополнительно, некоторые из множества энтропийных групп могут определяться на основе одного фрагмента информации позиции, и остальные могут определяться на основе двух или более фрагментов информации позиции. Например, первая группа определяется на основе одного фрагмента информации позиции, аналогично варианту осуществления по фиг. 13(a), и вторая группа определяется на основе двух фрагментов информации позиции, аналогично варианту осуществления по фиг. 13(b). С другой стороны, первая группа определяется на основе двух фрагментов информации позиции, аналогично варианту осуществления по фиг. 13(b), и вторая группа определяется на основе одного фрагмента информации позиции, аналогично варианту осуществления по фиг. 13(a).
[0243] Информация позиции может быть значением, предварительно заданным в устройстве кодирования/декодирования (первый вариант осуществления). Альтернативно, информация позиции может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра, другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования, блока кодирования, блока преобразования) (второй вариант осуществления). В этом случае, уровень блока может представлять собой единицу с фиксированным размером, к примеру, 4×4, 8×8 или 16×16. Тем не менее, это не ограничивает форму уровня блока, и уровень блока может представлять собой неквадратную единицу с фиксированным размером. Альтернативно, информация позиции может переменно определяться на основе информации кодирования относительно остаточного блока (третий вариант осуществления). Здесь, информация кодирования является идентичной вышеописанной информации кодирования, и ее подробное описание опускается. Альтернативно, информация позиции может извлекаться на основе информации позиции в предварительно определенном опорном блоке (четвертый вариант осуществления). Здесь, опорный блок является идентичным вышеописанному опорному блоку, и подробное описание опускается.
[0244] С другой стороны, информация позиции некоторых групп из множества энтропийных групп может определяться на основе одного из первого-четвертого вариантов осуществления, и информация позиции других групп может определяться на основе другого одного из первого-четвертого вариантов осуществления.
[0245] Фиг. 14 иллюстрирует взаимосвязь между сканированием остаточных коэффициентов и энтропийной группой согласно варианту осуществления настоящего изобретения.
[0246] Устройство декодирования может извлекать остаточный коэффициент остаточного блока посредством сканирования согласно предварительно определенному порядку сканирования. Порядок сканирования включает в себя зигзагообразное сканирование, Z-сканирование, диагональное сканирование вверх и вправо, диагональное сканирование вниз и влево, горизонтальное сканирование и вертикальное сканирование. Здесь, диагональное сканирование вверх и вправо может означать диагональное сканирование от правого верхнего конца к левому нижнему концу остаточного блока, и диагональное сканирование вниз и влево может означать диагональное сканирование от левого нижнего конца к правому верхнему концу остаточного блока.
[0247] Когда остаточный блок включает в себя множество энтропийных групп, сканирование может выполняться независимо от энтропийной группы либо может выполняться для каждой энтропийной группы. Остаточный блок может использовать только один порядок сканирования для сканирования либо может использовать различный порядок сканирования для каждой энтропийной группы.
[0248] В частности, ссылаясь на фиг. 14(a), остаточный блок может включать в себя три энтропийных группы. Три энтропийных группы, принадлежащие остаточному блоку, могут использовать идентичный порядок сканирования, т.е. зигзагообразное сканирование. Тем не менее, сканирование на основе зигзагообразного сканирования не выполняется в единице энтропийной группы, но может выполняться в единице остаточного блока. Следовательно по меньшей мере один из остаточных коэффициентов первой энтропийной группы, расположенной слева вверху относительно остаточного блока, может сканироваться раньше по меньшей мере одного из остаточных коэффициентов второй энтропийной группы.
[0249] С другой стороны, ссылаясь на фиг. 14(b), остаточный блок может включать в себя две энтропийных группы. Сканирование для остаточных коэффициентов может выполняться в единице энтропийной группы, соответственно. В этом случае, порядок сканирования первой энтропийной группы может отличаться от порядка сканирования второй энтропийной группы. Например, порядок сканирования первой энтропийной группы может представлять собой зигзагообразное сканирование, и порядок сканирования второй энтропийной группы может представлять собой вертикальное сканирование. Сканирование для остаточных коэффициентов может выполняться справа снизу и слева вверх относительно остаточного блока. Сканирование для первой энтропийной группы может выполняться после того, как сканирование завершается для всех остаточных коэффициентов второй энтропийной группы.
[0250] Ссылаясь на фиг. 14(c), остаточный блок может включать в себя две энтропийных группы. Сканирование для остаточных коэффициентов может выполняться в единице энтропийной группы, соответственно. В этом случае, порядок сканирования первой энтропийной группы может быть идентичным порядку сканирования второй энтропийной группы. Например, порядок сканирования первой и второй энтропийных групп может представлять собой вертикальное сканирование. Сканирование для остаточных коэффициентов может выполняться справа снизу и слева вверх относительно остаточного блока. Сканирование для первой энтропийной группы может выполняться после того, как сканирование завершается для всех остаточных коэффициентов второй энтропийной группы.
[0251] В дальнейшем в этом документе описывается способ для определения порядка сканирования остаточных блоков. Как описано выше, в единице остаточного блока, могут использоваться один или более порядков сканирования. В этом случае, по меньшей мере, может избирательно использоваться одно из зигзагообразного сканирования, Z-сканирования, диагонального сканирования вверх и вправо, диагонального сканирования вниз и влево, горизонтального сканирования и вертикального сканирования.
[0252] Порядок сканирования может задаваться в качестве режима по умолчанию, предварительно заданного в устройстве кодирования/декодирования (первый вариант осуществления). Например, предварительно заданный режим по умолчанию может представлять собой зигзагообразное сканирование или Z-сканирование. Порядок сканирования может извлекаться на основе информации, передаваемой в служебных сигналах из устройства кодирования (второй вариант осуществления). Информация может означать информацию, указывающую порядок сканирования остаточного блока. Информация может передаваться в служебных сигналах, по меньшей мере, на одном уровне из видеопоследовательности, кадра и другой фрагментной зоны (например, слайса, мозаичного фрагмента, строки блоков дерева кодирования, блока кодирования, блока преобразования). Информация может передаваться в служебных сигналах для каждой энтропийной группы либо может передаваться в служебных сигналах в единице остаточного блока.
[0253] Альтернативно, порядок сканирования может определяться на основе информации кодирования относительно остаточного блока (третий вариант осуществления). Информация кодирования может включать в себя не только информацию, кодированную и передаваемую в служебных сигналах посредством устройства кодирования, но также и информацию, извлекаемую в устройстве декодирования, на основе передаваемой в служебных сигналах информации. Например, информация кодирования может включать в себя по меньшей мере одно из размера/типа блока, доступности блоков, типа разделения, числа разделений, типа компонента, режима прогнозирования, информации относительно режима внутреннего прогнозирования, внешнего режима, информации движения, типа преобразования, режима пропуска преобразования, информации относительно ненулевых остаточных коэффициентов, цветового формата, размера/формы энтропийной группы и т.п. Это является таким, как описано со ссылкой на фиг. 12, и подробное описание опускается.
[0254] Альтернативно, порядок сканирования может извлекаться на основе порядка сканирования предварительно определенного опорного блока (четвертый вариант осуществления). Здесь, опорный блок может представлять собой соседний блок или верхний блок относительно остаточного блока. Соседний блок означает предварительно декодированный блок перед остаточным блоком и может представлять собой по меньшей мере один из блоков, смежных с левым/правым или верхним/нижним концом относительно остаточного блока. Верхний блок может представлять собой блок, имеющий меньшую глубину разделения, чем остаточный блок.
[0255] С другой стороны, когда один остаточный блок использует множество порядков сканирования, одна часть из множества порядков сканирования определяется на основе одного из первого-четвертого вариантов осуществления, описанных выше, и другая часть определяется на основе другого одного из первого-четвертого вариантов осуществления.
[0256] Фиг. 15 иллюстрирует способ сканирования остаточного коэффициента согласно варианту осуществления настоящего изобретения.
[0257] Сканирование может выполняться из начальной позиции сканирования в остаточном блоке. Начальная позиция может указывать позицию конкретного остаточного коэффициента остаточного блока. Конкретный остаточный коэффициент может означать остаточный коэффициент, имеющий ненулевое целочисленное значение (в дальнейшем называемое "ненулевым значением"). Конкретный остаточный коэффициент может быть расположен в конце ненулевых значений, принадлежащих остаточному блоку в обратном порядке сканирования. С другой стороны, конкретный остаточный коэффициент может быть расположен в начале ненулевых значений, принадлежащих остаточному блоку в порядке сканирования.
[0258] Например, сканирование может выполняться на основе информации, указывающей начальную позицию сканирования (в дальнейшем называемой "первой информацией"). Первая информация может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Сканирование может выполняться из позиции, указываемой посредством первой информации. Как проиллюстрировано на фиг. 15(a), начальная позиция сканирования может указываться в качестве A-позиции вместо правой нижней позиции остаточного блока, на основе первой информации. В этом случае, остаточный коэффициент, существующий между A-позицией и правой нижней позицией остаточного блока в порядке сканирования, может задаваться равным нулю. Остаточный коэффициент в правой нижней позиции остаточного блока также может задаваться равным нулю.
[0259] Альтернативно, сканирование может выполняться на основе информации, указывающей энтропийную группу, включающую в себя начальную позицию сканирования (в дальнейшем называемой "второй информацией). Вторая информация может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. На основе второй информации, указывается энтропийная группа, включающая в себя начальную позицию сканирования, и сканирование может выполняться из указанной энтропийной группы. В этом случае, порядок сканирования между энтропийными группами зависит от порядка сканирования для остаточных коэффициентов. Согласно второй информации, сканирование может пропускаться для некоторой энтропийной группы остаточного блока. Остаточный коэффициент энтропийной группы, в которой пропускается сканирование, может задаваться равным нулю.
[0260] Ссылаясь на фиг. 15(b), остаточный блок состоит из первой энтропийной группы, включающей в себя левый верхний остаточный коэффициент, второй энтропийной группы, расположенной в центре, и третьей энтропийной группы, включающей в себя левый нижний остаточный коэффициент. На основе второй информации, вторая энтропийная группа может определяться в качестве энтропийной группы, включающей в себя начальную позицию сканирования. В этом случае, сканирование выполняется из второй энтропийной группы, и остаточный коэффициент третьей энтропийной группы может задаваться равным нулю.
[0261] Альтернативно, начальная позиция сканирования может определяться через комбинацию первой информации и второй информации. Таким образом, одна из множества энтропийных групп может указываться на основе второй информации, и начальная позиция в указанной энтропийной группе может указываться на основе первой информации. Дополнительно, фиг. 15 не ограничивает число, размер или форму энтропийных групп, и число энтропийных групп может составлять четыре или более, и форма энтропийной группы может быть квадратной или неквадратной.
[0262] Фиг. 16 иллюстрирует способ обработки остаточных коэффициентов частичной зоны в остаточном блоке согласно варианту осуществления настоящего изобретения.
[0263] Устройство кодирования может выполнять преобразование и/или квантование над остаточными выборками остаточного блока, чтобы извлекать остаточные коэффициенты. В этом случае, остаточный коэффициент частичной зоны в остаточном блоке может не кодироваться энтропийно, и только остаточный коэффициент оставшейся зоны может энтропийно кодироваться и передаваться в устройство декодирования.
[0264] Устройство декодирования может декодировать только остаточный коэффициент, передаваемый из устройства кодирования, и задавать остаточный коэффициент частичной области в качестве предварительно заданного значения по умолчанию в устройстве декодирования. Значение по умолчанию может включать в себя по меньшей мере одно из абсолютного значения (abs) остаточного коэффициента или знака. Абсолютное значение может быть равно нулю либо может быть значением, большим или равным двум или трем.
[0265] В дальнейшем в этом документе описывается способ для определения частичной зоны в устройстве декодирования.
[0266] Ссылаясь на фиг. 16, частичная зона (серая зона) может представлять собой зону за исключением по меньшей мере одного из N столбцов с левой стороны или одной из M строк с верхней стороны в остаточном блоке. Альтернативно, частичная зона может представлять собой зону за исключением зоны NxM в остаточном блоке.
[0267] N и M могут быть значением, предварительно заданным в устройстве кодирования/декодирования, или могут переменно определяться согласно размеру/типу остаточного блока. Например, когда остаточный блок составляет 64×32, зона за исключением 32 столбцов (где N=32, M=0) с левой стороны относительно остаточного блока может задаваться как частичная зона. Когда остаточный блок составляет 32×64, зона за исключением 32 строк (где N=0, M=32) с верхней стороны относительно остаточного блока может задаваться как частичная зона. Тем не менее, значения N и M представляют собой только примеры. N может быть целым числом, большим или равным половине ширины (W) остаточного блока, и M может быть целым числом, большим или равным половине высоты в (H) остаточного блока.
[0268] Альтернативно, N и M могут извлекаться на основе информации, кодированной для того, чтобы указывать частичную зону. Например, остаточный блок может разделяться на предварительно определенную подзону (например, треугольник, прямоугольник, квадрат или любую другую форму). Индекс или информация координат подзоны, соответствующей частичной зоне, может кодироваться и передаваться в служебных сигналах. Альтернативно, индекс подзоны, соответствующей зоне NxM, может кодироваться и передаваться в служебных сигналах, либо координатная информация, указывающая размер/форму зоны NxM, может кодироваться и передаваться в служебных сигналах.
[0269] В частности, остаточный блок может разделяться на k подзон, на основе по меньшей мере одной из вертикальной линии или горизонтальной линии. Значение k может быть целым числом в 2, 3, 4 или более. Значение k может составлять фиксированное значение, предварительно заданное в устройстве кодирования/декодирования, либо может переменно определяться на основе вертикальной/горизонтальной линии. Индекс может назначаться каждой подзоне. Здесь, индекс может быть значением в 0-(k-1). В этом случае, индекс подзоны, соответствующей частичной зоне, проиллюстрированной на фиг. 16, может передаваться в служебных сигналах, или координатная информация подзоны, соответствующей частичной зоне, может передаваться в служебных сигналах. С другой стороны, индекс подзоны, соответствующей зоне NxM, которая представляет собой зону, в которой остаточный коэффициент кодируется и передается посредством устройства кодирования, может передаваться в служебных сигналах, либо координатная информация, указывающая размер/форму зоны NxM, может передаваться в служебных сигналах.
1
1
1
1
2
2
2
2
3
3
3
3
[0270] Альтернативно, информация, указывающая координату X или координату Y для координат (N, M), может кодироваться и передаваться в служебных сигналах. В этом случае, частичная зона может определяться в качестве одной из первой группы, включающей в себя остаточный коэффициент с позицией (x, y) (где N=<x<W, 0=<y<H), второй группы, включающей в себя остаточный коэффициент с позицией (x, y) (где 0=<x<W, M=<y<H), или третьей группы, включающей в себя остаточный коэффициент с позицией (x, y) (где N=<x<W, M=<y<H).
[0271] Альтернативно, информация, указывающая координаты (N, M), может кодироваться и передаваться в служебных сигналах. В этом случае, группа остаточных коэффициентов, которая расположена в правой и нижней сторонах вертикальной/горизонтальной линии, проходящей через координаты (N, M), может указываться, и указанная группа может определяться в качестве частичной зоны.
[0272] В вышеописанном варианте осуществления, частичная зона может определяться на основе по меньшей мере одной из кодированной информации, и остаточный коэффициент частичной зоны может задаваться равным предварительно заданному значению по умолчанию. Для зоны NxM остаточного блока, может применяться способ извлечения остаточных коэффициентов, описанный на фиг. 5 и фиг. 12-15.
[0273] Между тем, процесс задания остаточного коэффициента равным значению по умолчанию может избирательно выполняться с учетом по меньшей мере одного из размера или формы остаточного блока. Например, вышеуказанный процесс может применяться только тогда, когда размер остаточного блока превышает или равен предварительно определенному пороговому значению. Размер остаточного блока может выражаться, по меньшей мере, посредством одного из ширины или высоты остаточного блока. Пороговое значение может означать минимальный размер, при котором разрешается задавать остаточный коэффициент равным значению по умолчанию (например, 0). Пороговое значение может быть значением, предварительно заданным в устройстве кодирования/декодирования, либо может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Пороговое значение может составлять 32, 64, 128, 256 или более.
[0274] Процесс задания остаточного коэффициента равным значению по умолчанию может избирательно выполняться на основе информации флага. Информация флага может указывать то, следует или нет задавать остаточный коэффициент частичной зоны (например, высокочастотной зоны) в остаточном блоке равным значению по умолчанию. Информация флага может извлекаться в устройстве декодирования на основе размера/формы остаточного блока либо может кодироваться и передаваться в служебных сигналах посредством устройства кодирования. Тем не менее, вышеуказанный процесс может быть ограничен выполнением только тогда, когда остаточный блок не кодируется в режиме пропуска преобразования. Следовательно, когда остаточный блок кодируется в режиме пропуска преобразования, устройство кодирования может не кодировать информацию, необходимую для того, чтобы задавать остаточный коэффициент равным значению по умолчанию.
[0275] Хотя примерные способы этого раскрытия сущности представляются посредством последовательности этапов для понятности пояснения, они не имеют намерение ограничивать порядок, в котором выполняются этапы, и при необходимости, каждый этап может выполняться одновременно или в другом порядке. Чтобы реализовывать способ согласно настоящему раскрытию сущности, иллюстративные этапы дополнительно могут включать в себя другие этапы, включать в себя оставшиеся этапы за исключением некоторых этапов либо могут включать в себя дополнительные этапы, отличные от некоторых этапов.
[0276] Различные варианты осуществления раскрытия сущности не имеют намерение быть всеобъемлющими и имеют намерение иллюстрировать характерные аспекты раскрытия сущности, и признаки, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[0277] Помимо этого, различные варианты осуществления настоящего раскрытия сущности могут реализовываться посредством аппаратных средств, микропрограммного обеспечения, программного обеспечения либо комбинации вышеозначенного. В случае аппаратной реализации, аппаратные средства могут реализовываться посредством одной или более специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), универсального процессора, контроллера, микроконтроллера, микропроцессора и т.п.
[0278] Объем настоящего раскрытия сущности включает в себя программные или машиноисполняемые инструкции (например, операционную систему, приложения, микропрограммное обеспечение, программу и т.д.), которые инструктируют выполнение операций согласно способам различных вариантов осуществления на устройстве или компьютере, и энергонезависимый машиночитаемый носитель, на котором хранятся такое программное обеспечение или инструкции, выполняемые на устройстве или компьютере.
Промышленная применимость
[0279] Настоящее раскрытие сущности может использоваться для того, чтобы кодировать/декодировать видеосигнал.