МЕТОДИКИ ПРОМЕЖУТОЧНОГО ПРЕДСКАЗАНИЯ НА ОСНОВЕ ШАБЛОНА, ОСНОВАННЫЕ НА УМЕНЬШЕНИИ ЗАДЕРЖКИ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ
METHODS FOR INTERMEDIATE PREDICTION BASED ON PATTERN, BASED ON REDUCTION IN ENCODING AND DECODING DELAY

УРОВЕНЬ ТЕХНИКИ
[0001] Системы кодирования видео широко используются для сжатия цифровых видеосигналы, чтобы уменьшить потребность сохранения и/или полосу частот передачи таких сигналов. Среди различных типов систем кодирования видео, таких как системы на основе блоков, на основе всплесков и на основе объектов, сейчас гибридные системы кодирования видео на основе блоков наиболее широко используются и устанавливаются. Примеры систем кодирования видео на основе блоков включают в себя международные стандарты кодирования видео, такие как MPEG1/2/4, часть 2; H.264/MPEG-4, часть 10, AVC; VC-1; и последний стандарт кодирования видео, называемый высокоэффективным кодированием видео (HEVC), который был разработан JCT-VC (командой объединенного сотрудничества по кодированию видео) ITU-T/SG16/Q.6/VCEG и ISO/IEC/MPEG.
[0002] Первая версия стандарта HEVC была утверждена в январе 2013 г., и она предлагает приблизительно 50%-е сбережение скорости бит при эквивалентном воспринимаемом качестве по сравнению с прошлым поколением стандарта кодирования видео H.264/MPEG AVC. Хотя стандарт HEVC обеспечивает существенные улучшения кодирования по сравнению с прошлыми стандартами, существуют доказательства, что более высокая эффективность кодирования может достигаться с дополнительными инструментами кодирования над HEVC. На основе этого, оба VCEG и MPEG начали исследовательскую работу для новых технологий кодирования для будущей стандартизации кодирования видео. В октябре 2015 г. ITU-T VCEG и ISO/IEC MPEG сформировали команду объединенного исследования видео (JVET), чтобы начать существенное изучение улучшенных технологий, которые могли бы обеспечить возможность существенного улучшения эффективности кодирования над HEVC. В том же месяце программная кодовая база, называемая моделью объединенного исследования (JEM), была установлена для будущей исследовательской работы по кодированию видео. Опорные программные средства JEM были основаны на тестовой модели HEVC (HM), которая была разработана JCT-VC для HEVC. Дополнительные предлагаемые инструменты кодирования могут быть интегрированы в программные средства JEM и испытаны с использованием общих условий испытания (CTC) JVET.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Примерные варианты осуществления включают в себя способы, которые используются в кодировании и декодировании (в совокупности "кодировании") видео. В некоторых вариантах осуществления обеспечен способ для кодирования или декодирования видео, которое включает в себя текущее изображение и по меньшей мере первое опорное изображение. Для по меньшей мере текущего блока в текущем изображении предсказанное значение генерируется (например, с использованием предсказания с компенсацией движения) для каждого дискретного отсчета в области шаблона, смежной с текущим блоком. По меньшей мере один параметр промежуточного (inter) предсказания на основе шаблона определяется посредством сравнения предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона с соответствующими значениями дискретных отсчетов (которые могут быть восстановленными значениями дискретных отсчетов) в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении. Промежуточное предсказание на основе шаблона текущего блока выполняется с использованием определенного параметра промежуточного предсказания на основе шаблона.
[0004] В некоторых вариантах осуществления процесс для определения параметра промежуточного предсказания на основе шаблона активируется в ответ на генерирование предсказанных значений для каждого дискретного отсчета в области шаблона. Это обеспечивает возможность предсказанию значений дискретных отсчетов в текущем блоке продолжаться параллельно с восстановлением значений дискретных отсчетов в области шаблона.
[0005] В некоторых вариантах осуществления по меньшей мере один из дискретных отсчетов в области шаблона имеет закодированный ненулевой остаток. В некоторых вариантах осуществления после того, как параметр промежуточного предсказания на основе шаблона определяется, закодированное ненулевое остаточное значение прибавляется к по меньшей мере одному из предсказанных значений в области шаблона, чтобы генерировать соответственное значение восстановленного дискретного отсчета.
[0006] В некоторых вариантах осуществления поднабор дискретных отсчетов в области шаблона выбирается так, чтобы включать в себя только дискретные отсчеты, которые имеют нулевые остаточные значения. Значения флагов закодированного блока для соответственных блоков, содержащих дискретные отсчеты, могут быть использованы, чтобы идентифицировать те дискретные отсчеты, которые имеют нулевые остаточные значения. В некоторых вариантах осуществления область шаблона имеет по меньшей мере две подобласти (например, первую подобласть дискретных отсчетов выше текущего блока и вторую подобласть дискретных отсчетов слева от текущего блока), и дискретные отсчеты в подобласти выбираются, только если все дискретные отсчеты в этой подобласти имеют нулевые остаточные значения.
[0007] В некоторых вариантах осуществления компенсация движения блока с наложением (OBMC) выполняется над по меньшей мере некоторыми из дискретных отсчетов в области шаблона после определения параметра промежуточного предсказания на основе шаблона.
[0008] В некоторых вариантах осуществления дискретные отсчеты, используемые, чтобы определить параметр промежуточного предсказания на основе шаблона, взвешиваются на основе оцененных (или фактических) абсолютных величин остатков соответственных дискретных отсчетов в области шаблона, где большие весовые коэффициенты используются для более низких оцененных (или фактических) абсолютных величин остатков. Оцененные (или фактические) абсолютные величины остатков могут основываться на информации, полученной без выполнения деквантования или обратного преобразования. В некоторых вариантах осуществления абсолютная величина остатка дискретного отсчета определяется на основе значения флага закодированного блока у блока, содержащего соответственный дискретный отсчет. В некоторых вариантах осуществления абсолютная величина остатка дискретного отсчета оценивается на основе полной энергии коэффициентов преобразования для блока, содержащего соответственный дискретный отсчет. В некоторых вариантах осуществления первый предварительно определенный более низкий весовой коэффициент используется для дискретных отсчетов с ненулевыми оцененными абсолютными величинами остатков, а второй предварительно определенный более высокий весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, которые оцениваются (или известны) как нулевые.
[0009] В некоторых вариантах осуществления вместо использования только предсказанных значений в области шаблона, чтобы определить параметр промежуточного предсказания на основе шаблона, по меньшей мере некоторые из значений дискретных отсчетов в области шаблона частично восстанавливаются для использования в определении параметра. Например, значения дискретных отсчетов могут быть частично восстановлены посредством прибавления остаточного компонента предсказания DC к предсказанным значениям. Компонент DC может быть получен без выполнения обратного преобразования. В некоторых вариантах осуществления это частичное восстановление выполняется только для значений дискретных отсчетов в блоках, закодированных с использованием либо DCT-II, либо DCT-V. В некоторых вариантах осуществления частичное восстановление значений дискретных отсчетов выполняется только для тех значений дискретных отсчетов в блоках, которые не закодированы с использованием NSST.
[0010] В некоторых вариантах осуществления промежуточное предсказание на основе шаблона текущего блока выполняется с использованием компенсации локального освещения (LIC). В таких вариантах осуществления параметры промежуточного предсказания на основе шаблона включают в себя по меньшей мере один коэффициент масштабирования б и по меньшей мере одно смещение в.
[0011] В некоторых вариантах осуществления промежуточное предсказание на основе шаблона текущего блока выполняется с использованием преобразования с повышением частоты кадров (FRUC) на основе шаблона. В таких вариантах осуществления параметры промежуточного предсказания на основе шаблона включают в себя вектор движения для предсказания текущего блока. В некоторых вариантах осуществления оба LIC и FRUC используются, чтобы предсказывать текущий блок.
[0012] Дополнительные способы, описанные здесь, используют адаптивный размер шаблона. Один такой способ обеспечен для кодирования или декодирования видео, которое включает в себя текущее изображение и по меньшей мере первое опорное изображение. Для по меньшей мере текущего блока в текущем изображении размер шаблона выбирается на основе размера текущего блока, и предсказание для текущего блока генерируется с использованием промежуточного предсказания на основе шаблона. Например, дискретные отсчеты в области шаблона, которая смежна с текущим блоком и которая имеет выбранный размер шаблона, может сравниваться с соответствующими значениями дискретных отсчетов в по меньшей мере первом опорном шаблоне, чтобы определить по меньшей мере один параметр промежуточного предсказания на основе шаблона, и определенный параметр(ы) может быть использован в выполнении промежуточного предсказания на основе шаблона текущего блока.
[0013] Дополнительно способы, описанные здесь, используют сегменты шаблона, когда кодирование или декодирование текущего блока в одном сегменте шаблона ограничено так, чтобы не использовать дискретные отсчеты в другом сегменте шаблона для промежуточного кодирования на основе шаблона текущего блока. Режимы предсказания помимо промежуточного кодирования на основе шаблона все еще могут использовать дискретные отсчеты (или другую информацию кодирования, такую как вектора движения) в другом сегменте шаблона. В одном таком способе множество сегментов шаблона определяется в текущем изображении, где каждый сегмент шаблона включает в себя множество блоков. Режим предсказания определяется для кодирования каждого блока в текущем сегменте шаблона. Режим предсказания выбирается из по меньшей мере одного режима промежуточного предсказания на основе шаблона и по меньшей мере одного режима предсказания не на основе шаблона. Предсказание генерируется для каждого блока в текущем сегменте шаблона, где предсказание любого блока в текущем сегменте шаблона с использованием режима предсказания на основе шаблона ограничивается так, чтобы оно не использовало для предсказания какие-либо дискретные отсчеты, которые находятся в текущем изображении, но вне текущего сегмента шаблона. Информация о границах сегментов шаблона может сигнализироваться в битовом потоке. Например, информация о количестве элементов дерева кодирования (CTU) в каждом сегменте шаблона или количество строк CTU в каждом сегменте шаблона может сигнализироваться в битовом потоке. Использование сегментов шаблона, как описано здесь, обеспечивает возможность различным сегментам шаблона кодироваться или декодироваться параллельно.
[0014] Дополнительные варианты осуществления включают в себя системы кодера и декодера (в совокупности "кодека"), выполненные с возможностью выполнять способы, описанные здесь. Такие системы могут включать в себя процессор и долговременный компьютерный носитель данных, хранящий инструкции, которые имеют возможность операции при исполнении на процессоре, чтобы выполнять способы, описанные здесь.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0015] Фиг.1A изображает схему системы, иллюстрирующую примерную систему связи, в которой один или несколько раскрываемых вариантов осуществления могут осуществляться.
[0016] Фиг.1B изображает схему системы, иллюстрирующую пример блока беспроводной передачи/приема (WTRU), который может быть использован внутри системы связи, изображенной на фиг.1A, согласно одному варианту осуществления.
[0017] Фиг.2 изображает примерный кодер видео на основе блоков.
[0018] Фиг.3 изображает примерный декодер видео на основе блоков.
[0019] Фиг.4 изображает компенсацию локального освещения.
[0020] Фиг.5 изображает пример сравнения с шаблоном на основе преобразования с повышением частоты кадров (FRUC).
[0021] Фиг.6 изображает дискретные отсчеты, используемые для вычисления нарушения непрерывности границы для использования в предсказании знака коэффициентов преобразования.
[0022] Фиг.7 изображает потенциально подходящие варианты разницы векторов движения, используемые в одном примере нахождения знака разницы векторов движения.
[0023] Фиг.8 изображает процесс компенсации движения блока с наложением (OBMC) для режимов подблоков, где OBMC применяется ко всем блокам суб-CU (например, блоку суб-CU A) с использованием MV от всех четырех соседних блоков (например, затененных блоков суб-CU a, b, c, d).
[0024] Фиг.9 изображает пример параллельного декодирования декодером HEVC.
[0025] Фиг.10 изображает пример задержки декодирования в JEM.
[0026] Фиг.11 изображает уменьшенную задержку декодирования посредством дискретных отсчетов MCP (с OBMC) в качестве шаблона для методик промежуточного предсказания на основе шаблона.
[0027] Фиг.12 изображает уменьшенную задержку декодирования посредством дискретных отсчетов MCP (без OBMC) в качестве шаблона для методик промежуточного предсказания на основе шаблона.
[0028] Фиг.13 изображает примеры дискретных отсчетов шаблона, используемых для промежуточного предсказания на основе шаблона.
[0029] Фиг.14 изображает самую низкую частотную характеристику первичных преобразований, которые используются в JEM.
[0030] Фиг.15 изображает пример, в котором текущее изображение разделяется на три сегмента шаблона.
[0031] Фиг.16 изображает примерный процесс для кодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления.
[0032] Фиг.17 изображает примерный процесс для декодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления.
ПРИМЕРНЫЕ СЕТИ ДЛЯ РЕАЛИЗАЦИИ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0033] Фиг.1A изображает схему, иллюстрирующую примерную систему 100 связи, в которой один или несколько раскрываемых вариантов осуществления может осуществляться. Система 100 связи может быть системой множественного доступа, которая обеспечивает содержимое, такое как голос, данные, видео, обмен сообщениями, широкое вещание и т. д., множеству беспроводных пользователей. Система 100 связи может обеспечивать возможность множеству беспроводных пользователей осуществлять доступ к такому содержимому посредством разделения системных ресурсов, включающих в себя беспроводную полосу частот. Например, системы 100 связи могут задействовать один или несколько способов доступа к каналу, таких как множественный доступ с кодовым разделением (CDMA), множественный доступ с временным разделением (TDMA), множественный доступ с частотным разделением (FDMA), ортогональный FDMA (OFDMA), FDMA с одной несущей (SC-FDMA), DFT-распределенное OFDM со специальным словом и нулевым хвостом (ZT UW DTS-s OFDM), OFDM со специальным словом (UW-OFDM), OFDM с фильтрацией ресурсного блока, множественная несущая с набором фильтров (FBMC) и т. п.
[0034] Как изображено на фиг.1A, система 100 связи может включать в себя беспроводные передающие/принимающие блоки (WTRU) 102a, 102b, 102c, 102d, RAN 104, CN 106, коммутируемую телефонную сеть 108 общего пользования (PSTN), Интернет 110 и другие сети 112, хотя следует понимать, что раскрываемые варианты осуществления предполагают любое количество WTRU, базовых станций, сетей и/или сетевых элементов. Каждый из WTRU 102a, 102b, 102c, 102d может быть устройством любого типа, выполненным с возможностью оперировать и/или осуществлять связь в беспроводной среде. В качестве примера, WTRU 102a, 102b, 102c, 102d, любой из который может называться "станцией" и/или "STA", могут быть выполнены с возможностью передавать и/или принимать беспроводные сигналы и могут включать в себя пользовательское оборудование (UE), мобильную станцию, фиксированный или мобильный абонентский блок, блок на основе подписки, пейджер, сотовый телефон, "электронный помощник" (PDA), интеллектуальный телефон, ноутбук, нетбук, персональный компьютер, беспроводной датчик, устройство горячей точки или Mi-Fi, устройство интернета вещей (IoT), наручные часы или другое носимое устройство, шлем-дисплей (HMD), транспортное средство, дрон, медицинское устройство и приложения (например, средство удаленной хирургии), промышленное устройство и приложения (например, робота и/или другие беспроводные устройства, оперирующие в контекстах промышленности и/или цепи автоматизированной обработки), бытовое электронное устройство, устройство, оперирующее в коммерческих и/или промышленных беспроводных сетях, и т. п. Любой из WTRU 102a, 102b, 102c и 102d может взаимозаменяемым образом называться UE.
[0035] Системы 100 связи могут также включать в себя базовую станцию 114a и/или базовую станцию 114b. Каждая из базовых станций 114a, 114b может быть устройством любого типа, выполненным с возможностью беспроводным образом осуществлять интерфейс с по меньшей мере одним из WTRU 102a, 102b, 102c, 102d, чтобы обеспечить доступ к одной или нескольким сетям связи, таким как CN 106, Интернет 110 и/или другие сети 112. В качестве примера, базовые станции 114a, 114b могут быть базовой станцией приемопередатчика (BTS), узлом-B, e-узлом-B, исходным узлом-B, исходным e-узлом-B, gNB, узлом-B NR, средством управления объекта, точкой доступа (AP), беспроводным маршрутизатором и т. п. Хотя каждая из базовых станций 114a, 114b изображена как одиночный элемент, следует понимать, что базовые станции 114a, 114b могут включать в себя любое количество взаимосоединенных базовых станций и/или сетевых элементов.
[0036] Базовая станция 114a может входить в состав RAN 104, которая может также включать в себя другие базовые станции и/или сетевые элементы (не показано), такие как средство управления базовой станции (BSC), средство управления радиосетью (RNC), ретрансляционные узлы и т. д. Базовая станция 114a и/или базовая станция 114b может быть выполнена с возможностью передавать и/или принимать беспроводные сигналы на одной или нескольких несущих частотах, которые могут называться сотой (не показано). Эти частоты могут находиться в лицензированном спектре, нелицензированном спектре или в комбинации лицензированного и нелицензированного спектра. Сота может обеспечивать покрытие для беспроводного сервиса конкретной географической зоне, которая может быть относительно фиксирована или может изменяться с течением времени. Сота может дополнительно разделяться на сектора соты. Например, сота, связанная с базовой станцией 114a, может разделяться на три сектора. Таким образом, в одном варианте осуществления базовая станция 114a может включать в себя три приемопередатчика, т. е. один для каждого сектора соты. В одном варианте осуществления базовая станция 114a может задействовать технологию многоканального входа и многоканального выхода (MIMO) и может задействовать множество приемопередатчиков для каждого сектора соты. Например, формирование луча может быть использовано, чтобы передавать и/или принимать сигналы в желаемых пространственных направлениях.
[0037] Базовые станции 114a, 114b могут осуществлять связь с одним или несколькими из WTRU 102a, 102b, 102c, 102d через эфирный интерфейс 116, который может быть любой подходящей беспроводной линией связи (например, радиочастотой (RF), микроволной, сантиметровой волной, микрометровой волной, инфракрасным излучением (IR), ультрафиолетовым излучением (UV), видимым светом и т. д.). Эфирный интерфейс 116 может быть установлен с использованием любой подходящей технологии радиодоступа (RAT).
[0038] Более конкретным образом, как отмечено выше, система 100 связи может быть системой множественного доступа и может задействовать одну или несколько схем доступа к каналу, таких как CDMA, TDMA, FDMA, OFDMA, SC-FDMA и т. п. Например, базовая станция 114a в RAN 104 и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как наземный радиодоступ универсальной мобильной телекоммуникационной системы (UMTS) (UTRA), которая может устанавливать эфирный интерфейс 116 с использованием широкополосного CDMA (WCDMA). WCDMA может включать в себя протоколы связи, такие как высокоскоростной пакетный доступ (HSPA) и/или улучшенный HSPA (HSPA+). HSPA может включать в себя пакетный доступ высокоскоростной нисходящей линии связи (DL) (HSDPA) и/или пакетный доступ высокоскоростной UL (HSUPA).
[0039] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как наземный радиодоступ улучшенного UMTS (E-UTRA), которая может устанавливать эфирный интерфейс 116 с использованием проекта долгосрочного развития (LTE), и/или расширенного LTE (LTE-A), и/или расширенного LTE Pro (LTE-A Pro).
[0040] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как радиодоступ NR, которая может устанавливать эфирный интерфейс 116 с использованием нового радио (NR).
[0041] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять множество технологий радиодоступа. Например, базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиодоступ LTE и радиодоступ NR вместе, например, с использованием принципов возможности двойного подключения (DC). Таким образом, эфирный интерфейс, задействуемый WTRU 102a, 102b, 102c, может характеризоваться множеством типов технологий радиодоступа и/или передач, посланных к/от множества типов базовых станций (например, eNB и gNB).
[0042] В других вариантах осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологии, такие как IEEE 802.11 (т. е. беспроводная достоверность (WiFi), IEEE 802.16 (т. е. технология широкополосного доступа в микроволновом диапазоне (WiMAX)), CDMA2000, CDMA2000 IX, CDMA2000 EV-DO, промежуточный стандарт 2000 (IS-2000), промежуточный стандарт 95 (IS-95), промежуточный стандарт 856 (IS-856), глобальная система мобильной связи (GSM), улучшенные скорости данных для развития GSM (EDGE), GSM EDGE (GERAN) и т. п.
[0043] Базовая станция 114b на фиг.1A может быть беспроводным маршрутизатором, исходным узлом-B, исходным e-узлом-B или точкой доступа, например, и может задействовать любую подходящую RAT для обеспечения возможности беспроводного соединения в локализованной зоне, такой как местонахождение предприятия, дом, транспортное средство, комплекс зданий, промышленный объект, воздушный коридор (например, для использования дронами), дорожное полотно и т. п. В одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут осуществлять радиотехнологию, такую как IEEE 802.11, чтобы установить беспроводную локальную сеть (WLAN). В одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут осуществлять радиотехнологию, такую как IEEE 802.15, чтобы установить беспроводную персональную сеть (WPAN). В еще одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут задействовать сотовую RAT (например, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR и т. д.), чтобы установить пикосоту или фемтосоту. Как изображено на фиг.1A, базовая станция 114b может иметь непосредственное соединение с Интернетом 110. Таким образом, базовая станция 114b может не требоваться, чтобы осуществлять доступ к Интернету 110 через CN 106.
[0044] RAN 104 может находиться в связи с CN 106, которая может быть сетью любого типа, выполненной с возможностью обеспечивать сервисы голосовой связи, данных, приложений и/или протокола голоса через Интернет (VoIP) одному или нескольким WTRU 102a, 102b, 102c, 102d. Данные могут иметь варьирующиеся требования качества услуг (QoS), такие как различные требования пропускной способности, требования задержки, требования устойчивости к ошибкам, требования надежности, требования пропускной способности данных, требования мобильности и т. п. CN 106 может обеспечивать управление вызовами, сервисы формирования счетов, мобильные сервисы на основе местоположения, предоплаченные вызовы, возможность подключения к Интернету, распространение видео и т. д. и/или выполнять высокоуровневые функции безопасности, такие как аутентификация пользователя. Хотя это не изображено на фиг.1A, следует понимать, что RAN 104 и/или CN 106 могут быть в непосредственной или опосредованной связи с другими RAN, которые задействуют ту же самую RAT, что и RAN 104, или другую RAT. Например, дополнительно к соединению с RAN 104, которая может задействовать радиотехнологию NR, CN 106 может также находиться в связи с другой RAN (не показано), задействующей радиотехнологии GSM, UMTS, CDMA 2000, WiMAX, E-UTRA или WiFi.
[0045] CN 106 может также выполнять функцию шлюза для WTRU 102a, 102b, 102c, 102d для осуществления доступа к PSTN 108, Интернету 110 и/или другим сетям 112. PSTN 108 может включать в себя телефонные сети с коммутацией каналов, которые обеспечивают традиционную службу телефонной связи (POTS). Интернет 110 может включать в себя глобальную систему взаимосоединенных компьютерных сетей и устройств, которые используют общие протоколы связи, такие как протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP) и/или протокол Интернета (IP) в пакете протоколов Интернета TCP/IP. Сети 112 могут включать в себя сети проводной и/или беспроводной связи, принадлежащие и/или оперируемые другими поставщиками сервисов. Например, сети 112 могут включать в себя другую CN, соединенную с одной или несколькими RAN, которые могут задействовать ту же самую RAT, что и RAN 104, или другую RAT.
[0046] Некоторые или все из WTRU 102a, 102b, 102c, 102d в системе 100 связи могут включать в себя возможности множественного режима (например, WTRU 102a, 102b, 102c, 102d могут включать в себя множество приемопередатчиков для связи с различными беспроводными сетями через различные беспроводные линии связи). Например, WTRU 102c, изображенный на фиг.1A, может быть сконфигурирован для связи с базовой станцией 114a, которая может задействовать сотовую радиотехнологию, и с базовой станцией 114b, которая может задействовать радиотехнологию IEEE 802.
[0047] Фиг.1B изображает схему системы, иллюстрирующую пример WTRU 102. Как изображено на фиг.1B, WTRU 102 может включать в себя процессор 118, приемопередатчик 120, передающий/принимающий элемент 122, динамик/микрофон 124, клавиатуру 126, дисплей/сенсорную панель 128, несменную память 130, сменную память 132, источник 134 питания, набор 136 микросхем глобальной системы позиционирования (GPS) и/или другие периферийные устройства 138, помимо прочего. Следует понимать, что WTRU 102 может включать в себя любую подкомбинацию вышеупомянутых элементов, при этом оставаясь в соответствии с вариантом осуществления.
[0048] Процессор 118 может быть универсальным процессором, специализированным процессором, стандартным процессором, процессором цифровых сигналов (DSP), множеством микропроцессоров, одним или несколькими микропроцессорами в ассоциации с ядром DSP, средством управления, микроконтроллером, специализированными интегральными цепями (ASIC), цепями программируемых пользователем вентильных матриц (FPGA), интегральной цепью (IC) любого другого типа, машиной состояний и т. п. Процессор 118 может выполнять кодирование сигналов, обработку данных, управление мощностью, обработку входа/выхода и/или любые другие функциональные возможности, которые обеспечивают возможность WTRU 102 оперировать в беспроводной среде. Процессор 118 может быть объединен с приемопередатчиком 120, который может быть объединен с передающим/принимающим элементом 122. Хотя фиг.1B изображает процессор 118 и приемопередатчик 120 как отдельные компоненты, следует понимать, что процессор 118 и приемопередатчик 120 могут быть интегрированы вместе в электронный блок или кристалл.
[0049] Передающий/принимающий элемент 122 может быть выполнен с возможностью передавать сигналы к или принимать сигналы от базовой станции (например, базовой станции 114a) через эфирный интерфейс 116. Например, в одном варианте осуществления передающий/принимающий элемент 122 может быть антенной, выполненной с возможностью передавать и/или принимать RF-сигналы. В одном варианте осуществления передающий/принимающий элемент 122 может быть излучателем/средством обнаружения, выполненным с возможностью передавать и/или принимать IR-сигналы, UV-сигналы или сигналы видимого света, например. В еще одном варианте осуществления передающий/принимающий элемент 122 может быть выполнен с возможностью передавать и/или принимать как RF-сигналы, так и световые сигналы. Следует понимать, что передающий/принимающий элемент 122 может быть выполнен с возможностью передавать и/или принимать любую комбинацию беспроводных сигналов.
[0050] Хотя передающий/принимающий элемент 122 изображен на фиг.1B в виде одиночного элемента, WTRU 102 может включать в себя любое количество передающих/принимающих элементов 122. Более конкретным образом, WTRU 102 может задействовать технологию MIMO. Таким образом, в одном варианте осуществления WTRU 102 может включать в себя два или более передающих/принимающих элементов 122 (например, множество антенн) для передачи и приема беспроводных сигналов через эфирный интерфейс 116.
[0051] Приемопередатчик 120 может быть выполнен с возможностью модулировать сигналы, которые должны быть переданы передающим/принимающим элементом 122, и демодулировать сигналы, которые принимаются передающим/принимающим элементом 122. Как отмечено выше, WTRU 102 может иметь возможности множественного режима. Таким образом, приемопередатчик 120 может включать в себя множество приемопередатчиков для обеспечения возможности WTRU 102 осуществлять связь посредством множества RAT, таких как NR и IEEE 802.11, например.
[0052] Процессор 118 WTRU 102 может быть объединен с и может принимать ввод пользовательских данных от динамика/микрофона 124, клавиатуры 126 и/или дисплея/сенсорной панели 128 (например, блока отображения на основе жидкокристаллического дисплея (LCD) или блока отображения на основе органических светоизлучающих диодов (OLED)). Процессор 118 может также выводить пользовательские данные к динамику/микрофону 124, клавиатуре 126 и/или дисплею/сенсорной панели 128. Дополнительно, процессор 118 может осуществлять доступ к информации из и сохранять данные в подходящей памяти любого типа, такой как несменная память 130 и/или сменная память 132. Несменная память 130 может включать в себя оперативную память (RAM), постоянную память (ROM), жесткий диск или запоминающее устройство любого другого типа. Сменная память 132 может включать в себя карту модуля идентификации абонента (SIM), флэш-карту, безопасную цифровую (SD) карту памяти и т. п. В других вариантах осуществления процессор 118 может осуществлять доступ к информация из и сохранять данные в памяти, которая не находится физически в WTRU 102, такой как на сервере или домашнем компьютере (не показано).
[0053] Процессор 118 может принимать мощность от источника мощности 134 и может быть выполнен с возможностью распределять и/или управлять мощностью для других компонентов в WTRU 102. Источник мощности 134 может быть любым подходящим устройством для питания WTRU 102. Например, источник мощности 134 может включать в себя одну или несколько сухих батарей (например, никель-кадмиевую (NiCd), никель-цинковую (NiZn), никель-металгидридную (NiMH), литиево-ионную (Li-ion) и т. д.), солнечных элементов, топливных элементов и т. п.
[0054] Процессор 118 может также быть объединен с набором 136 микросхем GPS, который может быть выполнен с возможностью обеспечивать информацию местоположения (например, долготу и широту), касающуюся текущего местоположения WTRU 102. В качестве дополнения к или вместо информации от набора 136 микросхем GPS, WTRU 102 может принимать информацию местоположения через эфирный интерфейс 116 от базовой станции (например, базовых станций 114a, 114b) и/или определять свое местоположение на основе временных характеристик сигналов, принимаемых от двух или более ближайших базовых станций. Следует понимать, что WTRU 102 может получать информацию местоположения посредством любого подходящего способа определения местоположения, при этом оставаясь в соответствии с вариантом осуществления.
[0055] Процессор 118 может дополнительно быть объединен с другими периферийными устройствами 138, которые могут включать в себя один или несколько программных и/или аппаратных модулей, которые обеспечивают дополнительные признаки, функциональные возможности и/или способность проводного или беспроводного соединения. Например, периферийные устройства 138 могут включать в себя акселерометр, электронный компас, спутниковый приемопередатчик, цифровую камеру (для фотографий и/или видео), порт универсальной последовательной шины (USB), устройство вибрации, телевизионный приемопередатчик, гарнитуру, модуль Bluetooth, радиоблок с частотной модуляцией (FM), цифровой музыкальный проигрыватель, проигрыватель мультимедиа, модуль проигрывания видеоигр, Интернет-обозреватель, устройство виртуальной реальности и/или дополненной реальности (VR/AR), трекер активности и т. п. Периферийные устройства 138 могут включать в себя один или несколько датчиков, датчики могут быть одним или несколькими из гироскопа, акселерометра, датчика на эффекте Холла, магнитометра, датчика направления, датчика близости, датчика температуры, датчика времени; датчика геолокации; альтиметра, датчика освещенности, датчика касания, магнитометра, барометра, датчика жестов, биометрического датчика и/или датчика влажности.
[0056] WTRU 102 может включать в себя полнодуплексное радио, для которого передача и прием некоторых или всех из сигналов (например, связанных с конкретными подкадрами для обеих из UL (например, для передачи) и нисходящей линии связи (например, для приема)) могут быть совмещенными и/или одновременными. Полнодуплексное радио может включать в себя блок обращения с помехами, чтобы уменьшать и/или по существу устранять внутренние помехи посредством либо аппаратных средств (например, ограничителя), либо обработки сигналов посредством процессора (например, отдельного процессора (не показан) или посредством процессора 118). В одном варианте осуществления WRTU 102 может включать в себя полудуплексное радио, для которого передача и прием некоторых или всех из сигналов (например, связанных с конкретными подкадрами для либо UL (например, для передачи), либо нисходящей линии связи (например, для приема)).
[0057] Хотя WTRU описан на фиг.1A-1B как беспроводной терминал, предполагается, что в конкретных репрезентативных вариантах осуществления, которые такой терминал может использовать (например, временно или постоянно), проводная связь осуществляет интерфейс с сетью связи.
[0058] Ввиду фиг.1A-1B и соответствующего описания фиг.1A-1B, одна, или несколько, или все из функций, описанных здесь в отношении одного или нескольких из: WTRU 102a-d, базовой станции 114a-b, e-узла-B 160a-c, MME 162, SGW 164, PGW 166, gNB 180a-c, AMF 182a-b, UPF 184a-b, SMF 183a-b, DN 185a-b и/или любого другого устройства (устройств), описанного здесь, могут выполняться одним или несколькими устройствами эмуляции (не показаны). Устройства эмуляции могут быть одним или несколькими устройствами, выполненными с возможностью эмулировать одну, или несколько, или все из функций, описанных здесь. Например, устройства эмуляции могут быть использованы, чтобы тестировать другие устройства и/или симулировать функции сети и/или WTRU.
[0059] Эмуляция устройств может быть выполнена с возможностью осуществлять одно или несколько испытаний других устройств в лабораторной среде и/или в операторской сетевой среде. Например, одно или несколько устройств эмуляции может выполнять одну, или несколько, или все функции, при этом являясь полностью или частично осуществляемой и/или применяемой в составе сети проводной и/или беспроводной связи для того, чтобы испытать другие устройства внутри сети связи. Одно или несколько устройств эмуляции может выполнять одну, или несколько, или все функции, при этом являясь временно осуществляемой/применяемой в составе сети проводной и/или беспроводной связи. Устройство эмуляции может непосредственно объединяться с другим устройством в целях испытания и/или может выполнять испытание с использованием беспроводной связи по воздуху.
[0060] Одно или несколько устройств эмуляции могут выполнять одну или несколько, в том числе все, функций, при этом не являясь осуществляемыми/устанавливаемыми в составе сети проводной и/или беспроводной связи. Например, устройства эмуляции могут задействоваться в сценарии испытаний в лаборатории для испытаний и/или неустановленной (например, испытательной) сети проводной и/или беспроводной связи для того, чтобы осуществлять испытания одного или нескольких компонентов. Одно или несколько устройств эмуляции могут быть испытательным оборудованием. Непосредственное объединение RF и/или беспроводная связь посредством цепей RF (например, которые могут включать в себя одну или несколько антенн) могут быть использованы устройствами эмуляции, чтобы передавать и/или принимать данные.
ПОДРОБНОЕ ОПИСАНИЕ
Гибридное кодирование видео на основе блоков.
[0061] Как и испытательная модель HEVC (HM), программные средства модели объединенного исследования (JEM) также основываются на структуре (100) гибридного кодирования видео на основе блоков. Фиг.2 изображает структурную схему системы гибридного кодирования видео на основе блоков. Следует заметить, что в настоящей заявке термины "восстановленный" и "декодированный" могут быть использованы взаимозаменяемым образом. Обычно, но не обязательно, термин "восстановленный" используется на стороне кодера, в то время как "декодированный" используется на стороне декодера.
[0062] Перед кодированием видеопоследовательность может проходить предварительную обработку, например применение преобразования цвета для входного цветного изображения (например, преобразование из RGB 4:4:4 в YCbCr 4:2:0) или выполнение повторного отображения компонентов входного изображения, для того, чтобы получить распределение сигнала, более устойчивое к сжатию (например, с использованием выравнивания гистограммы одного из цветовых компонентов). Метаданные могут быть связаны с предварительной обработкой и присоединяться к битовому потоку.
[0063] Входной видеосигнал 102 обрабатывается поблочно. Техническое описание HEVC проводит различие между "блоками" и "элементами", где "блок" относится к конкретной зоне в массиве дискретных отсчетов (например, яркость, Y), а "элемент" включает в себя связанные блоки всех закодированных цветовых компонентов (например, Y, Cb, Cr или монохромного), синтаксические элементы и данные предсказания, которые связаны с блоками (например, вектора движения). В настоящей заявке термин "блок" может быть использован для ссылки на массив данных различных размеров, и он может быть использован для ссылки на макроблок и сектор, как определено в H.264/AVC, любой из элемента кодового дерева (CTU), элемента кодирования (CU), элемента предсказания (PU), элемента преобразования (TU), блока кодирования (CB), блока предсказания (PB) и блока преобразования (TB), как в HEVC, суперблока или подразделения в AV1, CTU, CU, TU, CB и TB, как в VVC (гибкое кодирование видео) или других стандартах кодирования видео.
[0064] В HEVC расширенные размеры блока используются, чтобы эффективно сжимать видеосигналы высокого разрешения (1080p и выше). В HEVC, CU может иметь размер вплоть до 64Ч64 пикселов. CU может быть дополнительно разделен на элементы предсказания, для которых отдельные способы предсказания применяются. Для каждого входного блока видео (MB или CU) пространственное предсказание (160) и/или временное предсказание (162) может выполняться.
[0065] Пространственное предсказание (или "внутреннее (intra) предсказание") использует пикселы из дискретных отсчетов уже закодированных соседних блоков (который называются опорными дискретного отсчетами) в одном и том же изображении/сегменте видео, чтобы предсказать текущий блок видео. Пространственное предсказание уменьшает пространственную избыточность, свойственную видеосигналу.
[0066] Временное предсказание (также называемое "промежуточным (inter) предсказанием" или "предсказанием с компенсацией движения") использует восстановленные пикселы из уже закодированных изображений видео, чтобы предсказать текущий блок видео. Временное предсказание уменьшает временную избыточность, свойственную видеосигналу. Временный сигнал предсказания для некоторого заданного блока видео обычно сигнализируется одним или несколькими векторами движения, которые указывают количество и направление движения между текущим блоком и его опорным блоком. Также, если множество опорных изображений поддерживаются (как в случае для последних стандартов кодирования видео, таких как H.264/AVC или HEVC), то для каждого блока видео его опорный индекс изображения посылается дополнительно; и опорный индекс используется, чтобы идентифицировать, из какого опорного изображения в хранилище (164) опорного изображения сигнал временного предсказания происходит.
[0067] После пространственного и/или временного предсказания блок (180) принятия решений о режиме в кодере выбирает наилучший режим предсказания, например на основе способа оптимизации отношения скорости к искажению. Блок предсказания затем вычитается из текущего блока (116) видео; и остаток предсказания декоррелируется с использованием преобразования (104) и квантуется (106).
[0068] Кодер декодирует закодированный блок, чтобы обеспечить ссылку для дополнительного предсказания. Квантованные остаточные коэффициенты обратно квантуются (110) и обратно преобразовываются (112), чтобы сформировать восстановленный остаток, который затем прибавляется обратно к блоку предсказания (126), чтобы формировать восстановленный блок видео.
[0069] Кодер может также пропускать преобразование и применять квантование непосредственно к непреобразованному остаточному сигналу. Кодер может также обходить и преобразование, и квантование, т. е. остаток кодируется непосредственно без применения процесса преобразования или квантования. В непосредственном кодировании импульсно-кодовой модуляции (PCM) никакое предсказание не применяется, и дискретные отсчеты элемента кодирования непосредственно кодируются в битовый поток.
[0070] Дополнительная внутриконтурная фильтрация, такая как антиблочный фильтр, фильтр SAO (смещение, адаптивное для дискретного отсчета) и адаптивные фильтры контура могут применяться (166) к восстановленному блоку видео перед тем, как он помещается в хранилище (164) опорного изображения и используется, чтобы кодировать будущие блоки видео. Для того чтобы формировать выходной битовый поток 120 видео, все из режима кодирования (промежуточного или внутреннего), информации режима предсказания, информации движения и квантованных остаточных коэффициентов посылаются к блоку (108) энтропийного кодирования, чтобы дополнительно быть сжатыми и запакованными, чтобы формировать битовый поток.
[0071] Фиг.3 изображает общую структурную схему декодера (200) видео на основе блоков. Декодер видео в общем случае выполняет проход декодирования, обратный соответствующему проходу кодирования, который выполняет декодирование видео в составе кодирования видеоданных. Битовый поток 202 видео сначала распаковывается и энтропийно декодируется в блоке 208 энтропийного декодирования. Режим кодирования и информация предсказания посылаются либо блоку 260 пространственного предсказания (в случае внутреннего кодирования), либо блоку 262 временного предсказания (в случае промежуточного кодирования), чтобы формировать блок предсказания. Остаточные коэффициенты преобразования посылаются блоку 210 обратного квантования и блоку 212 обратного преобразования, чтобы восстанавливать остаточный блок. Блок предсказания и остаточный блок затем суммируются на 226. Восстановленный блок может дополнительно проходить внутриконтурную фильтрацию (266) перед тем, как он сохраняется в хранилище 264 опорного изображения. Восстановленное видео (220) в хранилище опорного изображения может затем сохраняться, передаваться или использоваться, чтобы приводить в действие устройство отображения, а также использоваться, чтобы предсказывать будущие блоки видео.
[0072] Декодированное изображение может дополнительно проходить постобработку, например обратное преобразование цвета (например, преобразование из YCbCr 4:2:0 в RGB 4:4:4) или обратное повторное отображение, выполняющее обратный процесс для процесса обратного отображения, выполняемого в обработке предварительного кодирования. Постобработка может использовать метаданные, найденные в обработке предварительного кодирования и просигнализированные в битовом потоке.
[0073] Оба из HEVC и JEM придерживаются рабочих потоков гибридного кодирования/декодирования видео с компенсацией движения на основе блоков, как показано на фиг.2 и фиг.3, и основаны на тех же самых функциональных модулях, таких как пространственный предсказание (т. е. внутреннее предсказание), временное предсказание (т. е. промежуточное предсказание), преобразование, квантование, энтропийное кодирование и контурные фильтры. Однако несколько модулей промежуточного кодирования, в особенности тех, которые связаны с предсказанием с компенсацией движения, дополнительно расширены и улучшены.
Методики промежуточного предсказания на основе шаблона.
[0074] В HEVC параметры кодирования, используемые для промежуточного предсказания (например, вектора движения (MV), опорный индекс, взвешенные параметры предсказания) определяются в кодере посредством оптимизации отношения скорости к искажению (R-D) и сигнализируются декодеру. Таким образом, служебное сигнализирование, используемое, чтобы кодировать эти параметры промежуточного кодирования, может учитывать значимую часть выходного битового потока. Для того чтобы избежать сигнализирования этих параметров, две методики промежуточного предсказания на основе шаблона применяются в JEM посредством нахождения этих параметров промежуточного кодирования в декодере на основе дискретных отсчетов шаблона, например, восстановленных соседних дискретных отсчетов текущего блока, которые декодируются ранее. Первый способ называется компенсацией локального освещения (LIC). LIC компенсирует предсказание с компенсацией движения на основе масштабирования и смещения, которые находятся на основе дискретных отсчетов шаблона, чтобы разрешить проблему изменения локального освещения между различными изображениями. Второй способ называется режимом шаблона преобразования с повышением частоты кадров (FRUC), в котором информация движения (MV и опорный индексы) находится в декодере на основе сравнения с шаблоном.
[0075] В качестве дополнения к LIC и FRUC, другие способы на основе шаблона также были предложены для применения как к промежуточному предсказанию, так и к сигнализированию остаточных коэффициентов. В этих способах восстановленные соседние дискретные отсчеты используются для декодирования текущего блока. Далее аспекты этих способов кодирования на основе шаблона также кратко описаны.
Компенсация локального освещения.
[0076] LIC является инструментом кодирования, который используется в JEM, чтобы разрешить проблему изменений локального освещения, которые существуют в соседних по времени изображениях, как описано в работе J. Chen, E. Alshina, G. J. Sullivan, J. R. Ом, J. Boyce, "Algorithm description of Joint Exploration Test Model 7 (JEM7)", JVET-G1001, июль 2017 г., Торонто, Италия. LIC основана на линейной модели, где коэффициент масштабирования и смещение применяются к опорным дискретного отсчетам, чтобы получить дискретные отсчеты предсказания текущего блока. Конкретным образом, LIC может быть математически смоделирована следующим уравнением:
<i>P</i>(<i>x, y</i>)=<i>б</i>∙<i>P</i><sub><i>r</i></sub>(<i>x</i>+<i>v</i><sub>x</sub>, <i>y</i>+<i>v</i><sub><i>y</i></sub>)+<i>в</i>
(1)
P
x, y
x, y
P
x
v
y
v
v
v
б
в
б
в
T
T0
T1
r
x
y
x
y
где () - сигнал предсказания текущего блока в координатах (); {+, +) - опорный блок, на который указывает вектор движения (, );  и  - соответствующие коэффициент масштабирования и смещение, которые применяются к опорному блоку. Фиг.4 изображает процесс LIC. На фиг.4, когда LIC применяется к блоку видео, линейный способ минимальной среднеквадратичной ошибки (LLMSE) задействуется, чтобы найти значения параметров LIC ( и ) посредством минимизации разницы между соседними дискретного отсчетами текущего блока (шаблон  на фиг.4) и их соответствующими опорными дискретного отсчетами во временных опорных изображениях (т. е. либо , либо  на фиг.4), например:
<img file="00000001.jpg" he="5" wi="11" img-content="undefined" img-format="jpg" /><img file="00000002.jpg" he="18" wi="151" img-content="undefined" img-format="jpg" />
<b>(2)</b>
<img file="00000003.jpg" he="14" wi="110" img-content="undefined" img-format="jpg" />
<b>(3)</b>
N
T
x
y
x
y
б
в
i
i
i
i
где  представляет количество дискретных отсчетов шаблона, которые используются для нахождения параметров LIC; (, ) - дискретный отсчет шаблона текущего блока в координатах (, ); и  - соответствующий опорный дискретный отсчет дискретного отсчета шаблона на основе вектора движения (либо L0, либо L1) текущего блока. Дополнительно, чтобы уменьшить вычислительную сложность, дискретные отсчеты шаблона и опорные дискретные отсчеты шаблона могут быть субдискретизированы (субдискретизация 2:1), чтобы найти параметры LIC, например, только затененные дискретные отсчеты на фиг.4 могут быть использованы, чтобы найти  и .
Основанное на сравнении с шаблоном преобразование с повышением частоты кадров.
[0077] Для того чтобы уменьшить служебное сигнализирование информации движения, FRUC поддерживается для промежуточных блоков в JEM. Когда обеспечена возможность FRUC, и MV, и индексы опорного изображения текущего блока не сигнализируются; вместо этого они генерируются на стороне декодера. Конкретным образом, для нахождения движения FRUC набор предварительных потенциально подходящих вариантов MV, генерируемый из пространственных и временных соседей текущего блока, проверяется, и потенциально подходящий вариант, который приводит к минимальной сумме абсолютной разницы (SAD), выбирается в качестве исходного MV. Затем локальный поиск вокруг исходного MV выполняется, и MV с минимальной SAD используется в качестве MV для всего блока. В существующем FRUC два алгоритма поиска поддерживается, включающих в себя сравнение с шаблоном и двустороннее согласование. В сравнении с шаблоном верхний и/или левый декодированные соседние дискретные отсчеты (без применения внутриконтурных фильтров) текущего блока используются, чтобы найти информацию движения блока посредством поиска MV, который обеспечивает наилучшее согласование между шаблоном и его соответствующим блоком (например, соответствующим блоком, имеющим тот же самый размер, что и шаблон) в опорном изображении. Фиг.5 изображает основанное на сравнении с шаблоном FRUC.
Предсказание знака коэффициентов преобразования.
[0078] В некоторых способах кодирования на основе шаблона способ предсказания знака применяется, чтобы уменьшать служебное сигнализирование для сигнализирования знаков для коэффициентов преобразования. Примеры таких способов описаны в работах Y.-W. Chen, et al., "Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions", JVET-J0021, апрель 2018 г., Сан-Диего, США; и A. Alshin et al., "Description of SDR, HDR and 360° video coding technology proposal by Samsung, Huawei, GoPro, and HiSilicon - mobile application scenario", JVET-J0024, апрель 2018 г., Сан-Диего, США.
[0079] Способы предсказания знака оперируют, чтобы выполнять множество обратных преобразований над коэффициентами преобразования элемента кодирования. Для каждого обратного преобразования знак ненулевого коэффициента преобразования устанавливается как либо отрицательный, либо положительный. Комбинация знаков, которая минимизирует функцию издержек, выбирается как предиктор знака, чтобы предсказать знаки коэффициентов преобразования текущего блока. В качестве одного примера для иллюстрации этой идеи, предполагая, что текущий блок содержит два ненулевых коэффициента, существует четыре возможных комбинации знаков, а именно (+, +), (+, -), (-, +) и (-,-). Для всех четырех комбинаций функция издержек вычисляется, и комбинация с минимальной издержкой выбирается в качестве предиктора знака. Функция издержек в этом примере вычисляется как измерение нарушения непрерывности дискретных отсчетов, находящихся на границе между текущим блоком и его каузальными соседями. Как изображено на фиг.6, функция издержек вычисляется как сумма абсолютных значений вторых производных граничных дискретных отсчетов текущего блока и восстановленных соседних дискретных отсчетов сверху и слева от текущего блока следующим образом:
(4)
R
P
r
x, y
x
,
y
x
,
y
x
,
y
где  - восстановленный соседний дискретный отсчет,  - предсказание текущего блока, и  - остаточная гипотеза в координатах ().
Нахождение знака разницы вектора движения.
[0080] Методики сравнения с шаблоном были также предложены для уменьшения сигнализирования знаков для разницы векторов движения (MVD). В одной такой методике, на основе абсолютных значений принятого MVD, список потенциально подходящих вариантов MVD генерируется посредством различных комбинаций значений знаков для каждого из горизонтального и вертикального MVD. Затем издержки каждого потенциально подходящего варианта MVD вычисляются с использованием дискретных отсчетов шаблона (восстановленных соседних дискретных отсчетов) текущего блока. Потенциально подходящие варианты MVD сортируются на основе вычисленных значений издержки. Окончательный MVD выбирается посредством посылания индекса в сортированном списке потенциально подходящих вариантов от кодера к декодеру. Фиг.7 изображает один пример, чтобы проиллюстрировать идею получения знака разницы векторов движения, где A, B, C и D - четыре возможных потенциально подходящих варианта MVD, которые генерируются посредством назначения различных значений знака для принятых абсолютных значений MVD. Индекс сигнализируется, чтобы идентифицировать один из четырех потенциально подходящих вариантов, и идентифицированный потенциально подходящий вариант используется, чтобы восстанавливать окончательные MV текущего блока.
Предсказание вектора движения на основе сравнения с шаблоном.
[0081] В некоторых осуществлениях для каждого обычного промежуточно закодированного блока в HM и JEM два потенциально подходящих предиктора вектора движения (MVP) генерируется, и потенциально подходящий вариант с наилучшим качеством предсказания выбирается посредством сигнализирования индекса MVP от кодера к декодеру. В работе Y.-W. Chen et al. (выше) способ нахождения MVP на основе шаблона используется, чтобы избежать сигнализирования MVP. Конкретным образом, сравнение с шаблоном используется, чтобы находить MVP на стороне декодера. Сначала два потенциально подходящих варианта MVP по умолчанию проверяются, и потенциально подходящих вариант, который приводит к меньшей SAD между шаблоном и его ссылкой, выбирается в качестве исходной точки. Затем локальный поиск на основе сравнения с шаблоном вокруг исходной точки выполняется, и MV, который дает в результате минимальную издержку согласования, выбирается в качестве MVP для текущего блока.
Переупорядочивание потенциально подходящих вариантов движения.
[0082] В работе C.-W. Hsu et al., "Description of SDR video coding technology proposal by MediaTek", JVET-J0018, апрель 2018 г., Сан-Диего, США, способ переупорядочивания потенциально подходящих вариантов движения используется, чтобы улучшить эффективность режима объединения. Конкретным образом, после того как список исходных потенциально подходящих вариантов объединения генерируется, исходные потенциально подходящие варианты объединения в списке переупорядочиваются на основе издержек сравнения с шаблоном, которые вычисляются между дискретного отсчетами шаблона текущего CU и соответствующими опорными дискретного отсчетами шаблона с использованием движения потенциально подходящего варианта объединения. После переупорядочивания потенциально подходящие варианты объединения с меньшими издержками могут быть помещены перед потенциально подходящими вариантами объединения с большими издержками. Таким образом, эффективность сигнализирования индексов потенциально подходящих вариантов объединения может быть улучшена благодаря трате меньшего количества битов на потенциально подходящие варианты объединения, что обеспечивает более хорошее качество предсказания.
Переупорядочивание синтаксиса преобразования.
[0083] Когда улучшенное множественное преобразование (EMT) и/или неразделяемое вторичное преобразование (NSST) используются, переупорядочивание синтаксиса преобразования было предложено в работе C.-W. Hsu et al. (выше) для использования в переупорядочивании индексов множества преобразований, которые могут быть выбраны, например, на основе той же самой функции издержек, что и используемая для предсказания знака коэффициентов преобразования (как описано выше в разделе "Предсказание знака коэффициентов преобразования"), с использованием восстановленных соседних дискретных отсчетов блока. Возможные потенциально подходящие варианты преобразования EMT и/или NSST переупорядочиваются на основе издержек, и тем, у которых меньшие издержки, будут назначены короткие кодовые слова.
Компенсация движения блока с наложением.
[0084] Компенсация движения блока с наложением (OBMC) используется в опорных программных средствах JEM, чтобы удалить блочные артефакты на этапе компенсации движения. В JEM OBMC выполняется для всех промежуточных границ блоков, кроме правой и нижней границ блока. Дополнительно, когда блок разделяется на множество подблоков и каждый подблок связан со своим собственным MV (например, блоки FRUC), OBMC также выполняется для каждой границы подблоков. Фиг.8 изображает концепцию OBMC. Конкретным образом, когда OBMC применяется к подблоку (например, подблоку A на фиг.8), дополнительно к MV текущего подблока, MV четырех соседних подблоков также используются, чтобы находить сигналы предсказания текущего подблока. Затем множество сигналов предсказания с использованием MV соседних подблоков усредняется, чтобы генерировать окончательное предсказание текущего подблока.
Адаптивное множественное ядерное преобразование.
[0085] В качестве дополнения к ядерным преобразованиям DCT-II и DST-VII, которые используются в HEVC, инструмент адаптивного множественного преобразования (AMT) используется для кодирования остатков как внутренних, так и промежуточных блоков в JEM. Конкретным образом, AMT представляет четыре дополнительных ядерных преобразования из набора преобразований DCT/DST, включающих в себя DCT-VIII, DCT-V, DST-VII и DST-I. AMT применяется ко всем блокам кодирования, ширина и высота которых не больше 64, и флаг сигнализируется, чтобы указать, обеспечена возможность AMT или нет. Когда флаг равен 0, это указывает, что DCT-II используется в качестве преобразования для блока; иначе (т. е. флаг равен 1) три поднабора преобразований (каждое из которых содержит два различных ядерных преобразования AMT, определенных в таблице 1) определяется. Когда AMT применяется к внутреннему блоку, поднабор преобразований сначала выбирается на основе направления внутреннего предсказания блока. Затем два дополнительных флага сигнализируются, чтобы указать, какое преобразование (из двух ядерных преобразований в выбранном поднаборе преобразований) используется в качестве горизонтального преобразования и вертикального преобразования соответственно. Для промежуточных блоков только поднабор преобразований № 0, который состоит из DCT-VIII и DST-VII, используется.
Таблица 1. Три поднабора преобразований, определенные в JEM.
№ поднабора преобразований
Ядерные преобразования
0
DST-VII, DCT-VIII
1
DST-VII, DST-I
2
DST-VII, DCT-V
Зависимое от режима неразделяемое вторичное преобразование.
X
[0086] Поскольку корреляция между пространственными соседними дискретного отсчетами в общем случае меньше, чем во временной области, часто есть сильные корреляции внутри остаточных дискретных отсчетов, генерируемых внутренним предсказанием. Чтобы дополнительно улучшить эффективность внутреннего кодирования, инструмент, называемый зависимым от режима неразделяемым вторичным преобразованием (NSST), применяется в JEM посредством применения неразделяемого преобразования, чтобы преобразовать коэффициенты внутренних блоков. Конкретным образом, если и ширина, и высота блока не меньше 8, неразделяемое преобразование 8Ч8 применяется к верхней левой области массива коэффициентов преобразования 2D размера 8Ч8 блока; иначе (т. е. либо ширина, либо высота равна 4, что является минимальным размером элемента кодирования в JEM), неразделяемое преобразование 4Ч4 применяется к верхней левой области (в размере min(8,W)Чmin(8,H)) коэффициентов преобразования блока. Для иллюстрации NSST, оно предполагает, что входное  является блоком 4Ч4, определенным как:
Чтобы применить NSST, входной блок переводится в вектор следующим образом:
<img file="00000007.jpg" he="5" wi="146" img-content="undefined" img-format="jpg" />
<b>(5)</b>
T
Затем NSST применяется как  , где  указывает вектор коэффициентов преобразования, и  - матрица преобразования NSST 16Ч16. Вектор коэффициентов  16Ч1 преобразуется как блок 4Ч4 с использованием порядка сканирования для этого блока (горизонтального, вертикального или диагонального). В JEM, вместо использования матричных умножений, преобразование гиперкуба Гивенса (HyGT) на основе осуществления бабочки используется, чтобы уменьшить вычислительную сложность неразделяемого преобразования.
Проблемы, разрешаемые в примерных вариантах осуществления.
[0087] Как его предшественники, стандарт HEVC задействует предсказание с компенсацией движения (MCP), чтобы эффективно уменьшить временную избыточность между изображениями, благодаря чему достигается высокая эффективность промежуточного кодирования. Поскольку MCP использует только дискретные отсчеты из уже декодированных изображений, чтобы предсказывать дискретные отсчеты в текущем изображении, нет зависимости между MCP пространственных соседних блоков. Это означает, что MCP промежуточных блоков в одном и том же изображении/сегменте независимы друг от друга. Таким образом, процессы декодирования множества промежуточных блоков в текущем изображении могут осуществляться параллельно, например, они могут быть назначены различным потокам, чтобы выгодно использовать параллельность.
[0088] Как описано выше, некоторые способы промежуточного предсказания на основе шаблона (например, FRUC и LIC на основе сравнения с шаблоном) применяются в JEM. Чтобы избежать сигнализирования параметров кодирования, способы промежуточного предсказания на основе шаблона находят эти параметры в обоих из кодера и декодера с использованием восстановленных дискретных отсчетов пространственных соседей текущего блока. Таким образом, когда блок кодируется посредством одной из этих методик промежуточного предсказания на основе шаблона, его процесс декодирования ожидает, пока дискретные отсчеты его соседних блоков (дискретные отсчеты шаблона текущего блока) не будут полностью восстановлены. Это может усложнять проектирование канала, в особенности на стороне декодера, таким образом приводя к существенному увеличению сложности для аппаратного осуществления.
T
T
T
T
T
T
T
MCP
OBMC
de-quant
inv
-t
ra
ns
MCP
de-quant
inv
-t
ra
ns
[0089] Для того чтобы понять проблему параллельной обработки, вызываемую способами на основе шаблона промежуточного предсказания, фиг.9 и фиг.10 изображают примеры сравнения процессов декодирования HEVC и JEM. Для помощи в объяснении четыре последовательных блока кодирования равного размера блока в изображении используется в качестве примеров, причем каждый блок кодирования декодируется посредством отдельного потока декодирования, и сложность декодирования каждого отдельного модуля декодирования (например, MCP, OBMC, деквантования и обратного преобразования) предполагается как одна и та же для этих четырех блоков кодирования. Дополнительно предполагается, что все блоки кодирования в примере JEM кодируются на основе одной из методик промежуточного предсказания на основе шаблона. На фиг.9 и фиг.10 блоки представляют процесс декодирования MCP, OBMC, деквантования и обратного преобразования, и переменные , ,  и  - время декодирования этих четырех модулей. Как изображено на фиг.9, поскольку четыре блока кодирования может декодироваться параллельно, полное время декодирования HEVC равно времени декодирования одного блока кодирования, т. е., ++.
T
T
T
T
T
total
MCP
OBMC
de
-
quant
inv
-
trans
[0090] Ввиду зависимости, представленной методиками предсказания на основе шаблона, для процесса декодирования JEM (как показано на фиг.10) декодирование каждого отдельного блока кодирования не может активироваться, пока его пространственные соседние блоки не полностью восстановлены. Таким образом, полное время декодирования JEM равно суммированию времени декодирования четырех блоков, т. е. =4*(+++). Следует заметить, что хотя пример на фиг.10 предполагает, что OBMC используется, та же самая проблема задержки существует даже тогда, когда OBMC не используется. В общем случае промежуточные закодированные блоки в HEVC могут восстанавливаться независимо друг от друга, поскольку процесс MCP в HEVC требует только тех дискретных отсчетов из опорных изображений, которые уже полностью восстановлены. Это означает, что легко сделать параллельным восстановление промежуточных блоков в HEVC. В отличие от этого использование способов на основе шаблона, таких как FRUC и LIC в JEM, представляет зависимость между соседними промежуточными закодированными блоками. Если промежуточный блок кодируется с использованием одного из этих режимов, MCP этого блока не может начаться, пока его соседние блоки не полностью восстановлены, таким образом существенно увеличивая задержку.
Обзор вариантов осуществления.
[0091] Для того чтобы разрешить проблемы задержки, описанные выше, способы описаны здесь для уменьшения задержки кодирования/декодирования способов промежуточного предсказания на основе шаблона, при этом сохраняя главную эффективность кодирования. В предлагаемых способах некоторые из функций способов промежуточного предсказания на основе шаблона остаются теми же самыми, что и в существующих проектированиях. Например, для LIC нахождение параметра и процессы линейного регулирования дискретного отсчета остаются теми же самыми; и для FRUC процесс поиска движения на основе сравнения с шаблоном остается тем же самым. Однако генерирование дискретных отсчетов шаблона, используемых промежуточным предсказанием на основе шаблона, модифицировано, чтобы понизить зависимость между соседними блоками так, чтобы общая задержка кодирования/декодирования ввиду промежуточного предсказания на основе шаблона была уменьшена. Конкретным образом, по сравнению с существующими способами на основе шаблона в JEM, изменения, предлагаемые в этом раскрытии, включают в себя те, которые описаны ниже.
[0092] По сравнению с существующими способами промежуточного предсказания на основе шаблона в JEM, где восстановленные соседние дискретные отсчеты используются для нахождения параметров кодирования, предлагается использовать сигнал предсказания (т. е. дискретные отсчеты предсказания, генерируемые из MCP и, если это применимо, OBMC) пространственных соседей в качестве дискретных отсчетов шаблона для текущего блока. Таким образом, кодирование/декодирование блока кодирования на основе шаблона может активироваться, как только сигнал предсказания его соседних блоков становится доступным. Использование только сигнала предсказания в качестве шаблона может быть менее точным, чем полностью восстановленный сигнал, поскольку восстановленный остаток еще не был прибавлен. Это может давать в результате некоторое ухудшение производительности кодирования. Для того чтобы уменьшить потерю производительности, дополнительные способы предлагаются, чтобы дополнительно улучшить производительность кодирования промежуточного предсказания на основе шаблона, когда сигнал предсказания используется в качестве источника дискретных отсчетов шаблона.
[0093] Для того чтобы уменьшить задержку промежуточного предсказания на основе шаблона, дополнительно предлагается разделить изображение/сегмент на множество "сегментов шаблона" так, чтобы декодирование промежуточных блоков внутри сегмента шаблона могло выполняться независимо от других сегментов шаблона. Для того чтобы достичь такой параллельности, предлагается запретить блоку кодирования использование дискретных отсчетов, которые не находятся в том же самом сегменте шаблона блока, что и дискретные отсчеты шаблона. Дополнительно, чтобы уменьшать потенциальные потери кодирования, сегменты шаблона разбивают только зависимость дискретных отсчетов шаблона, но все еще обеспечивают возможность другим процессам кодирования (например, внутриконтурным фильтрам, внутреннему предсказанию, улучшенному предсказанию вектора движения (AMVP) и так далее) оперировать, переходя границы сегмента шаблона.
[0094] Без потери общности, в следующем рассмотрении FRUC и LIC на основе сравнения с шаблоном используются в качестве примеров, чтобы объяснить предлагаемые способы. Однако схемы, которые будут описаны, также применимы к другим схемам кодирования на основе шаблона, в которых восстановленные соседние дискретные отсчеты блока используются в течение процесса кодирования и/или декодирования.
Основанное на шаблоне промежуточное предсказание на основе сигнала предсказания.
[0095] Как указано выше, по сравнению с HEVC, использование восстановленных соседних дискретных отсчетов в качестве шаблона для способов промежуточного предсказания на основе шаблона является неблагоприятным для параллельного кодирования/декодирования для осуществления кодека, поскольку кодирование/декодирование блока кодирования на основе шаблона должно ожидать, пока все его каузальные соседние дискретные отсчеты не будут полностью восстановлены посредством MCP, OBMC (если применимо), деквантования и обратного преобразования.
[0096] Для того чтобы уменьшить задержку кодирования/декодирования, в одном варианте осуществления раскрытия предлагается выполнять основанное на шаблоне промежуточное предсказание на основе сигнала предсказания, вместо полностью восстановленного сигнала, из соседних блоков. В одном варианте осуществления вместо использования восстановленных соседних дискретных отсчетов дискретные отсчеты предсказания пространственных соседних блоков используются в качестве шаблона для текущего блока в поиске движения FRUC, нахождении параметра LIC и/или другом нахождении параметра на основе шаблона. На основе такого проектирования кодирование/декодирование блока кодирования на основе шаблона может начинаться сразу после того, как сигнал предсказания его соседних блоков генерируется, без ожидания восстановления остатков соседних блоков. Это может приводить к существенному уменьшению задержки для способов на основе шаблона промежуточного предсказания, так как задержка кодирования/декодирования, вызываемая деквантованием и обратным преобразованием соседних блоков, теперь устранена.
T
T
T
T
T
T
T
T
latency
MCP
OBMC
total
MCP
OBMC
de
-
quant
in
v
-
trans
[0097] На основе предположений на фиг.9 и фиг.10, фиг.11 изображает параллельный процесс декодирования, когда способ, предлагаемый здесь, применяется к способам промежуточного предсказания на основе шаблона. Как изображено на фиг.11, поскольку процесс декодирования каждого блока кодирования на основе шаблона может быть немедленно активирован после промежуточного предсказания его соседнего блока, задержка декодирования между двумя последовательными блоками равна времени декодирования для генерирования сигнала предсказания первого блока, т. е., =+. Таким образом, полное время декодирования четырех блоков кодирования теперь уменьшено до =4*(+)++.
[0098] На фиг.11 OBMC применяется, чтобы генерировать дискретные отсчеты предсказания промежуточного блока, дискретные отсчеты которого затем используются в качестве дискретных отсчетов шаблона для нахождения соответствующих параметров кодирования (например, MV FRUC и параметров LIC) для его соседних блоков. Хотя OBMC может улучшить качество предсказания посредством удаления блочных артефактов ввиду множества компенсаций движения, которые выполняются, это также представляет увеличение сложности кодирования/декодирования, таким образом приводя к существенной задержке кодирования/декодирования при комбинировании со способами промежуточного предсказания на основе шаблона. С другой стороны, поскольку OBMC модифицирует только граничные дискретные отсчеты элемента кодирования, его влияние на точность вычисления параметров кодирования относительно низка, принимая во внимание его увеличение сложности для генерирования сигнала предсказания.
T
T
T
T
T
T
T
latency
MCP
total
MCP
OBMC
de
-
quant
inv
-
trans
[0099] Таким образом, для того чтобы достичь лучшего компромисса производительности/задержки, предлагается в некоторых вариантах осуществления использовать сигнал предсказания, генерируемый до OBMC, в качестве дискретных отсчетов шаблона для способов промежуточного предсказания на основе шаблона. Фиг.12 изображает параллельный процесс декодирования, когда вышеупомянутый способ применяется к промежуточному предсказанию на основе шаблона. Как изображено на фиг.12, поскольку декодирование каждого блока на основе шаблона может немедленно начинаться после того, как MCP его соседа окончено, задержка декодирования между двумя соседними блоками дополнительно уменьшается до =. Соответственно, полное время декодирования четырех блоков кодирования теперь становится =4*+++.
[0100] Следует заметить, что на фиг.11 и фиг.12 предполагается, что обеспечена возможность OBMC для текущего блока и/или его соседних блоков. Это является лишь примером. Предлагаемые способы сравнения с шаблоном на основе сигнала предсказания равным образом применимы, когда для OMBC не обеспечена возможность.
[0101] В некоторых вариантах осуществления дискретные отсчеты предсказания внутренне закодированных блоков могут также быть использованы в качестве дискретных отсчетов шаблона для декодирования закодированных с шаблоном блоков. Однако ввиду того факта, что внутренне закодированные блоки также используют восстановленные дискретные отсчеты их соответственных пространственных соседей, чтобы генерировать дискретные отсчеты предсказания, такое использование дискретных отсчетов предсказания может не быть оптимальным для проектирования аппаратных средств ввиду распространяемой задержки кодирования/декодирования из соседних внутренне закодированных дискретных отсчетов к текущему блоку шаблона. В некоторых вариантах осуществления, например, при использовании дискретных отсчетов предсказания для способов на основе шаблона, раскрываемых здесь, дискретные отсчеты предсказания соседних блоков, которые кодируются во внутренних режимах, запрещаются для использования в качестве дискретных отсчетов шаблона текущего блока. Конкретным образом, в таких вариантах осуществления, если дискретный отсчет шаблона происходит из внутренне закодированного соседнего блока, он рассматривается как недоступный для текущего блока.
[0102] На фиг.11 и фиг.12 дискретные отсчеты предсказания (генерируемые либо после, либо до того, как OBMC применяется) используются, чтобы заменить восстановленные дискретные отсчеты в качестве дискретных отсчетов шаблона для способов промежуточного предсказания на основе шаблона. Хотя способы могут существенно уменьшать задержку кодирования/декодирования, разницы между дискретного отсчетами предсказания и восстановленными дискретного отсчетами (восстановленным остаточным сигналом) могут приводить к тому, что параметры кодирования, которые находятся для промежуточного предсказания на основе шаблона (например, вектора движения для FRUC или параметры весового коэффициента/смещения для LIC), становятся менее точными, таким образом приводя к отрицательному влиянию на общую производительность кодирования. Дополнительные способы дополнительно предлагаются здесь, чтобы компенсировать возможное падение производительности кодирования, когда сигнал предсказания задействуется в промежуточном предсказании на основе шаблона.
Промежуточное предсказание на основе шаблона посредством адаптивного обеспечения возможности дискретных отсчетов предсказания на основе существования ненулевых остатков.
[0103] Варианты осуществления, в которых сигнал предсказания используется в предсказании на основе шаблона, могут сохранять большую часть эффективности кодирования промежуточного предсказания на основе шаблона, в особенности в случаях, когда сигнал восстановления и сигнал предсказания очень подобны. Однако использование сигнала предсказания может быть менее удовлетворительным, когда присутствуют большие ошибки предсказания (т. е. ненулевые остатки с большими абсолютными величинами) для соседних дискретных отсчетов шаблона. В другой ситуации, если соседние дискретные отсчеты шаблона кодируются с нулевыми остатками, все еще является надежным использование их в качестве дискретных отсчетов шаблона для текущего блока при условии, что они такие же, как и восстановленные дискретные отсчеты.
[0104] В некоторых вариантах осуществления предлагается использовать только те дискретные отсчеты предсказания, которые связаны с нулевыми остатками, в качестве дискретных отсчетов шаблона, когда промежуточное предсказание на основе шаблона (например FRUC и/или LIC) применяется. В некоторых вариантах осуществления решение о том, имеет ли дискретный отсчет предсказания ненулевой остаток, принимается на основе флага закодированного блока (CBF), который сигнализируется в битовом потоке, который указывает, содержит ли блок ненулевые коэффициенты преобразования. Когда флаг равен единице, это означает, что есть ненулевые остатки в текущем блоке; таким образом, его дискретные отсчеты предсказания могут быть менее надежными для использования в промежуточном предсказании на основе шаблона (и в этом случае использование таких дискретных отсчетов предсказания в качестве дискретных отсчетов шаблона может быть запрещено). Иначе (т. е. если CBF равен 0) он сигнализирует, что все остатки, связанные с текущим блоком, равны нулю; соответственно, допустимо использовать дискретные отсчеты предсказания для промежуточного предсказания на основе шаблона (и в этом случае использование таких дискретных отсчетов предсказания в качестве дискретных отсчетов шаблона может быть разрешено).
0
1
3
0
1
0
3
2
3
[0105] Фиг.13 изображает один пример, чтобы проиллюстрировать такой способ. На фиг.13 позиции соседних дискретных отсчетов помечены как A и A, и позиции соседних дискретных отсчетов, помеченные как 10-L, принадлежат к верхнему соседнему блоку Blk0 и левому соседнему блоку Blk2, соответственно, оба из которых имеют CBF, равный 0. Поскольку есть только нулевой остаток для этих двух соседних блоков, дискретные отсчеты предсказания в этих позициях помеченные как A и A и L-L, могут быть использованы в качестве дискретных отсчетов шаблона в способах на основе шаблона (например, FRUC и/или LIC). Однако поскольку позиции соседних дискретных отсчетов, помеченные как A и A, принадлежат к верхнему соседнему блоку Blk1, CBF которого равен 1, соответствующие дискретные отсчеты предсказания не могут быть использованы в качестве дискретных отсчетов шаблона в некоторых вариантах осуществления; это так, поскольку они отличны от восстановленных значений дискретных отсчетов, и, таким образом, могут рассматриваться как менее точные.
[0106] В некоторых таких способах решение о том, равны ли все остатки нулю, принимается для каждого соседнего дискретного отсчета, и решения об дискретного отсчетах в одном и том же шаблоне могут отличаться друг от друга. Такое различение на основе дискретного отсчета может быть неблагоприятным для практических аппаратных осуществлений, например, особое внимание может требоваться для вычисления SAD FRUC и процесса нахождения параметра LIC, где дискретные отсчеты в шаблоне обрабатываются различным образом на основе того, имеют ли они остатки.
0
3
2
3
0
3
[0107] Для того чтобы избежать такой сложности, предлагается всецело разрешать/запрещать дискретные отсчеты подобласти шаблона, которая либо сверху, либо слева от текущего блока. Конкретным образом, посредством такого способа разрешается использовать дискретные отсчеты в подобласти шаблона (либо левой подобласти шаблона, либо верхней подобласти шаблона) блока в качестве дискретных отсчетов шаблона, только если все остатки, связанные со всеми дискретного отсчетами в этой подобласти шаблона, являются нулевыми. На основе того же самого примера на фиг.13, поскольку все дискретные отсчеты в левой подобласти шаблона (т. е. L-L) принадлежат к одному и тому же соседнему блоку, CBF которого равен 0, левая подобласть шаблона разрешается для промежуточного предсказания на основе шаблона. С другой стороны, поскольку соседний блок, который содержит дискретные отсчеты A и A, имеет остатки, полная верхняя подобласть шаблона (т. е. A-A) не используется в качестве дискретных отсчетов шаблона.
Основанное на шаблоне промежуточное предсказание на основе взвешенных дискретных отсчетов предсказания.
[0108] Как рассмотрено выше, есть остатки или нет, является фактором в определении того, как подобны дискретные отсчеты предсказания и восстановленные дискретные отсчеты. В некоторых вариантах осуществления дискретные отсчеты предсказания, которые имеют малые остатки, играют более важную роль, чем дискретные отсчеты предсказания, которые имеют большие остатки, чтобы достичь точной оценки параметров кодирования для промежуточного предсказания на основе шаблона. В некоторых таких вариантах осуществления предлагается применять неравные весовые коэффициенты к различным дискретного отсчетам предсказания на основе значений их остатков.
0
1
0
3
2
3
[0109] Снова, с использованием того же самого примера на фиг.13, поскольку дискретные отсчеты предсказания A и A и L-L не имеют остатков, они считаются более надежными. При использовании этих дискретных отсчетов, чтобы оценить параметры шаблона, больший весовой коэффициент может быть назначен этим дискретного отсчетам. И наоборот, поскольку дискретные отсчеты предсказания A и A имеют ненулевые остатки, эти дискретные отсчеты будут наделены меньшим весовым коэффициентом при использовании их в качестве дискретных отсчетов шаблона. Взвешенные дискретные отсчеты предсказания будут использованы в качестве входных данных для оценки параметров шаблона. Конкретным образом, с внесением взвешенных дискретных отсчетов шаблона в сравнение с шаблоном FRUC, взвешенная SAD между дискретного отсчетами шаблона блока и его согласованными дискретного отсчетами в опорном изображении вычисляется как:
<img file="00000010.jpg" he="13" wi="88" img-content="undefined" img-format="jpg" />
<b>(6)</b>
T
x
y
x
y
T
x
y
v
v
v
w
T
x
y
i
i
i
i
r
i
x
i
y
x
y
i
i
i
где (, ) - дискретный отсчет шаблона в координатах (, ); (+v, +) - соответствующий опорный дискретный отсчет дискретного отсчета шаблона на основе вектора движения (, ) в опорном изображении; и  - весовой коэффициент, который назначен (, ). Дополнительно, с интеграцией весовых коэффициентов в нахождение коэффициента масштабирования и смещения для LIC, уравнения (2) и (3) станут:
<img file="00000011.jpg" he="4" wi="10" img-content="undefined" img-format="jpg" /><img file="00000012.jpg" he="27" wi="149" img-content="undefined" img-format="jpg" />
<b>(7)</b>
<img file="00000013.jpg" he="15" wi="123" img-content="undefined" img-format="jpg" />
<b>(8)</b>
w
i
[0110] Различные способы могут быть использованы, чтобы вычислить значение . В одном варианте осуществления предлагается вычислять значение весового коэффициента для каждого дискретного отсчета предсказания согласно абсолютной величине его остатка. Конкретным образом, в этом способе весовой коэффициент, назначенный дискретному отсчету шаблона, вычисляется как:
<img file="00000014.jpg" he="10" wi="33" img-content="undefined" img-format="jpg" />
<b>(9)</b>
W
x
y
T
x
y
Res
x
y
i
i
i
i
i
i
где (, ) - ненормализованный весовой коэффициент дискретного отсчета шаблона (, ), который может быть найден на основе абсолютной величины остатка дискретного отсчета шаблона (, ) как:
<img file="00000015.jpg" he="9" wi="76" img-content="undefined" img-format="jpg" />
<b>(10)</b>
[0111] Поскольку все первичные преобразования и вторичные преобразования, которые применяются в JEM, являются ортогональными преобразованиями, полная энергия остаточного сигнала элемента кодирования сохраняется до и после преобразования/обратного преобразования. Таким образом, за исключением небольшого влияния ошибок округления, вызываемых преобразованием операций с плавающей запятой в операции с фиксированной запятой в преобразовании/обратном преобразовании, полная энергия остаточных дискретных отсчетов блока по существу та же самая, что и у коэффициентов преобразования блока. На основе такой характеристики, чтобы уменьшить задержку кодирования/декодирования, отношение абсолютных величин, которое используется в уравнении (10), может быть вычислено в области преобразования без применения деквантования и обратного преобразования.
w
w
w
w
w
w
w
w
0
1
0
1
0
1
0
1
[0112] В другом варианте осуществления два фиксированных весовых коэффициента  и  используется (где > и +=1);  используется для всех дискретных отсчетов предсказания, которые имеют нулевые остатки, и используется для всех дискретных отсчетов предсказания, которые имеют ненулевые остатки.
Основанное на шаблоне промежуточное предсказание на основе прибавления смещения DC к дискретного отсчетам предсказания.
[0113] Как изображено на фиг.2 и фиг.3, как в HEVC и его предшествующих стандартах, преобразование 2D и обратное преобразование 2D также используются в JEM, чтобы достичь хорошего сжатия энергии на остатке предсказания. Для большинства случаев после горизонтального и/или вертикального преобразования большая часть энергии сигнала в блоке кодирования сконцентрирована в нескольких низкочастотных коэффициентах. В особенности, для конкретных блоков кодирования, которые покрываются в зонах, у которых нет сильных направленных краев, текстур и/или быстро перемещающихся объектов, ошибка между исходным сигналом и сигналом предсказания блока (т. е. остатки блока) может быть относительно постоянной или медленно варьирующейся на протяжении различных позиций дискретных отсчетов внутри блока. В таком случае преобразование 2D может равномерно сжимать энергию остатков в один единственный коэффициент (например, коэффициент DC для стандартного преобразования DCT-II, которое используется в HEVC и предыдущих стандартах) в области преобразования.
[0114] Как рассмотрено выше, точность найденных параметров шаблона зависит от подобия между сигналом предсказания и восстановленным сигналом дискретных отсчетов шаблона. При ближайшем рассмотрении того, как поиск движения FRUC выполняется и как нахождение параметра LIC выполняется, можно заметить, что значения дискретных отсчетов шаблона часто оцениваются совокупным образом (либо в форме SAD, либо в следующих уравнениях (2) и (3)). Это означает, что высокочастотные компоненты в сигнале шаблона могут быть гораздо менее важными, чем низкочастотные компоненты шаблона. В некоторых вариантах осуществления предлагается скорректировать сигнал предсказания посредством прибавления только компонента DC к дискретного отсчетам предсказания перед тем, как они используются в качестве дискретных отсчетов шаблона для способов на основе шаблона промежуточного предсказания. Это скорректирует самую важную частоту дискретных отсчетов шаблона (т. е. компонент DC), не вызывая задержки, поскольку восстановление компонента DC относительно легко и не требует обратного преобразования.
DC
DC
rec
coef
[0115] В кодировании видео на основе блоков, когда кодирование с потерями применяется, коэффициенты преобразования (включающие в себя коэффициент DC) должны быть квантованы перед посыланием от кодера к декодеру. Таким образом, в некоторых вариантах осуществления, чтобы получить верное значение DC остатков (), коэффициент DC (), который синтаксически анализируется из битового потока, будет деквантован перед прибавлением к сигналу предсказания, например, следующим образом:
<img file="00000016.jpg" he="9" wi="103" img-content="undefined" img-format="jpg" />
<b>(11)</b>
round
Q
QP
step
где (∙) - функция, которая округляет входящее плавающее значение до ближайшего целого;  - размер шага квантования; и  - параметр квантования. Дополнительно, ввиду увеличения динамического диапазона, вызываемого ортогональными преобразованиями 2D (например, ядерными преобразованиями в наборе DCT/DST), другой коэффициент вносится в уравнение (11), чтобы обеспечить то, что вычисленное значение DC находится в верном динамическом диапазоне. Конкретным образом, в предлагаемом способе следующее смещение DC прибавляется к дискретного отсчетам предсказания:
<img file="00000017.jpg" he="12" wi="126" img-content="undefined" img-format="jpg" />
<b>(12)</b>
nT
nT
h
v
где  и  - размер горизонтального и вертикального преобразований, которые применяются к блоку. Уравнение (12) является операцией с плавающей запятой. На практике деления и умножения в уравнении (12) могут быть аппроксимированы посредством умножения коэффициентов масштабирования, за которым следует сдвиг вправо надлежащих битов. На основе такого соображения, в одном варианте осуществления уравнение (12) становится следующим:
<img file="00000018.jpg" he="10" wi="144" img-content="undefined" img-format="jpg" /><img file="00000019.jpg" he="13" wi="128" img-content="undefined" img-format="jpg" />
<b>(13)</b>
M
L
B
size
B
size
где  и  - коэффициент масштабирования и количество битов для сдвига вправо, которые используются (вместе со сдвигом вправо  ), чтобы аппроксимировать значение  , которые вычисляются как:
<img file="00000022.jpg" he="12" wi="93" img-content="undefined" img-format="jpg" /><img file="00000023.jpg" he="12" wi="89" img-content="undefined" img-format="jpg" />
<b>(14)</b>
M
L
BSize
BSize
1/6
0,5
[0116] Как показано в уравнении (14),  и  вносятся, чтобы компенсировать 0,5-битное смещение вправо, когда увеличение динамического диапазона ввиду размера преобразования 2D не может быть чистым образом осуществлено посредством смещений вправо. На основе существующего проектирования квантования в HEVC и JEM, размер шага квантования увеличивается приблизительно в 2 раз с каждым приращением QP и увеличивается приблизительно в 2 раз для каждых 3 приращений QP. Таким образом, в другом варианте осуществления вместо способа на основе масштабирования (как в уравнении (14)) предлагается уменьшить значение QP на 3, чтобы аппроксимировать 0,5-битное смещение вправо, когда увеличение динамического диапазона преобразования 2D не равно в точности степени 2. Конкретным образом, в этом способе смещение DC вычисляется как:
<img file="00000024.jpg" he="17" wi="160" img-content="undefined" img-format="jpg" /><img file="00000025.jpg" he="13" wi="137" img-content="undefined" img-format="jpg" />
<b>(15)</b>
QP
offset
где  равно:
<img file="00000026.jpg" he="12" wi="94" img-content="undefined" img-format="jpg" />
<b>(16)</b>
[0117] В качестве дополнения к стандартному ядерному преобразованию DCT-II, другие основы преобразования, например основы преобразования DCT-VIII, DCT-V, DST-VII, DST-I и NSST на основе KLT, используются на обоих этапах первичного преобразования и вторичного преобразования в текущей JEM, чтобы дополнительно улучшить эффективность кодирования преобразования. Ввиду различных характеристик этих базисных функций преобразования, коэффициент преобразования на самой низкой частоте может не соответствовать истинному значению DC.
[0118] Фиг.14 изображает самые низкие частотные характеристики функций первичного преобразования, которые используются в текущем JEM, где каждый элемент чертежа соответствует паре горизонтального преобразования и вертикального преобразования. Как изображено на фиг.14, кроме преобразований DCT-II+DCT-II и DCT-V+DCT-V, самые низкие частотные характеристики других базисных функций ядерного преобразования находятся далеко от точности для аппроксимирования действительного значения DC. На основе такого наблюдения, в одном варианте осуществления предлагается прибавлять смещение DC (например, смещение, вычисляемое в уравнении (12)) к сигналу предсказания только тогда, когда блок кодируется посредством первичного преобразования либо DCT-II, либо DCT-V; для блоков, которые используют другие функции первичного преобразования, сигнал предсказания будет непосредственно использоваться в качестве дискретных отсчетов шаблона без прибавления смещения.
[0119] В другом варианте осуществления предлагается прибавлять смещение DC к сигналу предсказания только тогда, когда блок кодируется без NSST; для блоков, которые кодируются с NSST, сигнал предсказания будет непосредственно использоваться в качестве дискретных отсчетов шаблона без прибавления смещения. В другом варианте осуществления предлагается прибавлять смещение DC к сигналу предсказания всех блоков, независимо от того, какая функция первичного преобразования используется и применяется ли NSST.
[0120] В другом варианте осуществления, когда блок кодируется с возможностью AMT или NSST, предлагается внести другой коэффициент масштабирования DC, чтобы компенсировать разницу между коэффициентом преобразования самой низкой частоты и действительным значением DC. При внесении такого коэффициента масштабирования уравнение (12) дополнительно становится:
<img file="00000027.jpg" he="12" wi="143" img-content="undefined" img-format="jpg" />
<b>(17)</b>
Scale
Scale
DC
DC
где  - коэффициент масштабирования DC, который может быть вычислен как отношение энергии сигнала самой низкой частотной характеристики примененных функций преобразования (например, тех, которые показаны на фиг.14) к энергии сигнала преобразования DCT-II, для которого самая низкая частотная характеристика является истинной DC. В качестве одного особого случая, когда DCT-II используется в качестве первичного преобразования, значение  равно 1, т. е. никакое масштабирование не применяется.
Основанное на шаблоне промежуточное предсказание на основе адаптивного размера шаблона.
[0121] В текущих способах на основе шаблона промежуточного предсказания в JEM фиксированный размер шаблона (например, четыре строки/столбца соседних дискретных отсчетов для режима сравнения с шаблоном FRUC и одна строка/столбец соседних дискретных отсчетов для LIC) используется. Однако такое проектирование может не быть оптимальным ввиду того, что корреляция между дискретного отсчетами элемента кодирования и его дискретного отсчетами шаблона зависима от выбранного размера шаблона. Например, выбор большого размера шаблона имеет недостаток в том, что дискретные отсчеты шаблона имеют тенденцию быть далеко от целевого блока. Таким образом, корреляция между текущим блоком и его шаблоном может быть недостаточной. С другой стороны, большой размер шаблона может также обеспечивать преимущества в том смысле, что он может давать более надежную оценку при наличии шума (например, шума захвата видео и шума, вызываемого процессом кодирования). Некоторые варианты осуществления оперируют, чтобы выбрать надлежащий размер шаблона для различных размеров блока, которые должны быть достаточно большими против шума, при этом не превосходя предел размера, чтобы обеспечить достаточную корреляцию между шаблоном и целевым блоком.
L
[0122] В одном варианте осуществления размер шаблона 2 используется для блоков, для которых либо ширина, либо высота меньше или равна 8. Иначе (и ширина, и высота больше 8) больший размер шаблона 4 (т. е., =4) используется. В другом варианте осуществления размер шаблона может адаптивно выбираться в кодере и сигнализироваться декодеру. Чтобы сделать это, дополнительные синтаксические элементы могут быть внесены, например, на уровне последовательности, изображения и/или сегмента, чтобы определить соответствующие размеры шаблона, которые используются для различных размеров блока. Различные способы могут применяться в кодере, чтобы определить оптимальный размер шаблона (например, для некоторого заданного размера блока). Например, анализ может быть выполнен в кодере, чтобы определить шум, который содержится в исходном видео, а также шум кодирования, который процесс кодирования может внести (например, на основе значения QP). Если уровень шума высокий, то большой размер шаблона может быть выбран, чтобы нейтрализовать шум; иначе (т. е. уровень шума мал) малый размер шаблона может быть выбран, чтобы обеспечить достаточную корреляцию дискретных отсчетов текущего блока и шаблона.
Основанное на шаблоне промежуточное предсказание на основе сегмента шаблона.
[0123] Как отмечено выше, одной причиной задержки кодирования/декодирования для способов промежуточного предсказания на основе шаблона является зависимость между MCP блока кодирования на основе шаблона и восстановлением его соседних дискретных отсчетов. Дополнительно, как показано на фиг.10, задержка кодирования/декодирования худшего случая, вносимая предсказанием на основе шаблона, непосредственно относится к максимальному количеству последовательных блоков, которые кодируются способами промежуточного предсказания на основе шаблона.
[0124] В некоторых вариантах осуществления "сегменты шаблона" используются, чтобы ограничить максимальную задержку кодирования/декодирования методик промежуточного предсказания на основе шаблона. Конкретным образом, с использованием сегментов шаблона изображение/сегмент разделяется на множество отдельных срезов (или сегментов шаблона), и декодированные дискретные отсчеты каждого блока в срезе обеспечена возможность использовать только в качестве дискретных отсчетов шаблона для кодирования на основе шаблона других блоков в том же самом срезе, но не обеспечена возможность использовать в качестве дискретных отсчетов шаблона для кодирования на основе шаблона блоков в любом из других срезов. Таким образом, кодирование/декодирование блоков в каждом сегменте шаблона может быть полностью независимым от других сегментов шаблона.
[0125] Дополнительно, в вариантах осуществления, в отличие от стандартных сегментов, сегменты шаблона разбивают только зависимость промежуточного предсказания на основе шаблона; они не влияют на другие процессы декодирования. Например, для внутриконтурных фильтров, внутреннего предсказания и AMVP может все еще осуществляться операция, переходя границы сегмента шаблона. Таким образом, потенциальные потери кодирования ввиду удаления зависимости дискретного отсчета шаблона между сегментами шаблона могут быть минимизированы. Фиг.15 обеспечивает один пример, чтобы проиллюстрировать концепцию предлагаемого сегмента шаблона. Как изображено на фиг.15, процессы декодирования множества сегментов шаблона могут теперь осуществляться параллельно посредством их назначения различным потокам.
[0126] По аналогии с другими инструментами параллельности в HEVC и JEM (например, сегментами, ячейками и параллельной обработкой фронта волны (WPP)), для сегментов шаблона количество сегментов шаблона и позиция каждого сегмента шаблона внутри изображения/сегмента может быть свободно выбрано кодером и просигнализировано декодеру. Различные выборы (например, количество сегментов шаблона, а также их размеры и позиции) могут приводить к различным компромиссам между производительностью кодирования и параллельностью кодирования/декодирования. В общем случае наличие большего количества сегментов шаблона улучшает параллельность, но также снижает эффективность кодирования.
[0127] В плане сигнализирования сегмента шаблона синтаксические элементы могут прибавляться на уровне последовательности и/или изображения. Например, количество CTU в каждом сегменте шаблона может сигнализироваться в наборе параметров последовательности (SPS) и/или наборе параметров изображения (PPS) или может сигнализироваться в заголовке сегмента. Другие вариации синтаксических элементов могут быть использованы, например количество строк CTU может быть использовано или количество сегментов шаблона в каждом изображении может быть использовано, и т. д. Флаг может сигнализироваться, чтобы указывать на уровне последовательности или изображения, используются ли сегменты шаблона.
[0128] В другом варианте осуществления, количества CTU или строк CTU каждого сегмента шаблона могут отличаться друг от друга. Например, синтаксический элемент может быть сначала просигнализирован в SPS, PPS и/или сегменте, чтобы указать количество сегментов шаблона в текущей последовательности, изображении или сегменте, за чем следует набор других синтаксических элементов, которые определяют соответствующее количество CTU или строк CTU в каждом сегменте шаблона соответственно. Дополнительно, в вышеприведенном рассмотрении граница каждого сегмента шаблона всегда выровнена с границами CTU (так, что размер сегмента шаблона является кратным размера CTU). В другом варианте осуществления предлагается сигнализировать в битовом потоке размер базового элемента (который должен быть кратным минимального размера элемента кодирования, как определено в SPS), который используется, чтобы составить сегмент шаблона.
Применение предлагаемых способов на основе шаблона к другим способам кодирования на основе шаблона.
[0129] В вышеприведенном рассмотрении сравнение с шаблоном FRUC и LIC используется в качестве примеров, чтобы проиллюстрировать предлагаемые способы на основе шаблона, такие как способы, описанные в разделах "Основанное на шаблоне промежуточное предсказание на основе сигнала предсказания" и "Основанное на шаблоне промежуточное предсказание на основе сегмента шаблона" выше. Однако в некоторых вариантах осуществления предлагаемые способы применяются к другим схемам кодирования на основе шаблона. Предлагаемые способы, как рассмотрено выше, могут быть адаптированы к другим способам кодирования на основе шаблона, где восстановленные соседние дискретные отсчеты используются для кодирования/декодирования текущего блока, включающим в себя способы кодирования на основе шаблона, такие как предсказание знака коэффициента преобразования, получение знака разницы векторов движения, предсказание вектора движения на основе шаблона, переупорядочивание потенциально подходящих вариантов объединения и переупорядочивание синтаксиса преобразования.
[0130] Например, при использовании предлагаемого нахождения дискретного отсчета шаблона для этих основанных на шаблоне способов кодирования на основе дискретных отсчетов предсказания вместо восстановленных соседних дискретных отсчетов дискретные отсчеты предсказания (с или без прибавления компонента DC) используются, чтобы вычислить функции издержек, которые используются, чтобы выбрать значения знака (например, предсказание знака коэффициента преобразования и получение знака разницы векторов движения) и вектора движения (например, основанное на шаблоне предсказание движения и переупорядочивание потенциально подходящих вариантов объединения). В качестве одного примера, когда нахождение шаблона на основе предсказания применяется к предсказанию знака коэффициентов преобразования, функция издержек, описанная в уравнении (4), становится:
Pred
P
r
где  - сигнал предсказания соседних дискретных отсчетов,  - предсказание текущего блока, и  - остаточная гипотеза.
[0131] В более общем случае, когда множество методик предсказания (например, AMVP или режим объединения, подобный HEVC, FRUC, LIC, предсказание знака MVD на основе шаблона, предсказание MV на основе шаблона, предсказание знака на основе шаблона и OBMC) доступно, версия сигнала предсказания может генерироваться для соседнего блока с использованием одной или нескольких методик предсказания. Эта исходная версия может дополнительно регулироваться на основе одной или нескольких других методик предсказания, чтобы уточнить сигнал предсказания, который может прибавляться к остатку предсказания для соседнего блока, чтобы восстанавливать соседний блок. Для кодирования или декодирования текущего блока сигнал предсказания соседнего блока (исходная версия или отрегулированная версия) может быть использован, чтобы формировать шаблон при применении промежуточного предсказания на основе шаблона к текущему блоку.
[0132] В примерах, как показано на фиг.9-12, процессы предсказания (MCP, OBMC) предполагаются как осуществляемые до процессов генерирования остатков предсказания (деквантования и обратного преобразования). Однако процессы предсказания могут осуществляться независимо от процессов генерирования остатков предсказания, и блок предсказания и остаточный блок могут быть получены в порядках, отличных от того, что описано ранее. Следует заметить, что настоящие методики использования соседних дискретных отсчетов предсказания для промежуточного предсказания на основе шаблона текущего блока все еще будут применимы, когда остаточный блок генерируется в другом порядке.
[0133] Фиг.16 изображает примерный способ 1600 для кодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления. Способ 1600 начинается на этапе 1605 инициализации. На этапе инициализации кодер может осуществлять доступ к дискретного отсчетам предсказания соседних блоков, которые могут быть использованы, чтобы формировать шаблон и CBF соседних блоков. На этапе 1610 шаблон для текущего блока формируется на основе дискретных отсчетов предсказания соседних блоков. Как описано ранее, шаблон может быть сформирован соседними дискретного отсчетами из верхнего и левого смежных блоков, или шаблон может быть сформирован посредством дополнительного использования информации, указывающей, соответствуют ли соседние дискретные отсчеты нулевым или ненулевым остаткам. Размер шаблона также может быть адаптирован к размеру блока или уровню шума. Дискретные отсчеты предсказания, используемые для шаблона, могут быть получены после выполнения части или всех из процессов промежуточного предсказания. Соответствующий шаблон в опорном изображении затем формируется с использованием восстановленных дискретных отсчетов.
[0134] С использованием шаблонов промежуточное предсказание на основе шаблона затем выполняется. На этапе 1620 FRUC выполняется, чтобы получить вектор движения. На этапе 1630 весовой коэффициент и смещение получаются для LIC. Параметры, полученные из этапов 1620 и 1630, могут быть использованы, чтобы генерировать предсказание для текущего блока на этапе 1640. Другие методики предсказания, такие как OBMC, могут также быть использованы в генерировании предсказания. На этапе 1650 остатки предсказания для текущего блока могут генерироваться посредством вычитания блока предсказания из исходного блока. Остатки предсказания могут затем быть квантованы, преобразованы и энтропийно закодированы.
[0135] Фиг.17 изображает примерный способ 1700 для декодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления. Способ 1700 начинается на этапе 1705 инициализации. На этапе инициализации декодер может осуществлять доступ к дискретного отсчетам предсказания соседних блоков, которые могут быть использованы, чтобы формировать шаблон, CBF соседних блоков и квантованные коэффициенты преобразования для текущего блока. На этапе 1710 шаблон для текущего блока формируется на основе дискретных отсчетов предсказания соседних блоков. Для того чтобы битовый поток был верно декодирован, шаблон на стороне декодера должен формироваться тем же самым образом, что и на стороне кодера. Соответствующий шаблон в опорном изображении затем формируется с использованием восстановленных дискретных отсчетов.
[0136] С использованием шаблонов промежуточное предсказание на основе шаблона затем выполняется. На этапе 1720 FRUC выполняется, чтобы получить вектор движения. На этапе 1730 весовой коэффициент и смещение получаются для LIC. Параметры, полученные из этапов 1720 и 1730, могут быть использованы, чтобы генерировать предсказание для текущего блока на этапе 1740. Другие методики промежуточного предсказания, такие как OBMC, могут также быть использованы в генерировании предсказания. На этапе 1750 текущий блок может декодироваться посредством прибавления блока предсказания к остаткам предсказания текущего блока.
[0137] В примерах с фиг.16 и фиг.17 FRUC и LIC используются для генерирования блока предсказания. Другие методики кодирования на основе шаблона могут также выполняться для того, чтобы способствовать предсказанию (и/или восстановления) текущего блока. Следует заметить, что способ кодирования или декодирования может продолжаться только с FRUC (без LIC), только с LIC (без FRUC), с обоими из FRUC и LIC или, в более общем случае, с любой возможной комбинацией способов кодирования на основе шаблона, как описано ранее.
[0138] Различные способы и другие аспекты, описанные в этой заявке, могут быть использованы, чтобы модифицировать модули, например промежуточное предсказание, и/или модули (162, 104, 112, 262, 212) преобразования кодера 100 и декодера 200 видео, как показано на фиг.2 и фиг.3. Кроме того, настоящие аспекты не ограничиваются VVC или HEVC и могут применяться, например, к другим стандартам и рекомендациям и расширению любых таких стандартов и рекомендаций.
[0139] Различные числовые значения используются в настоящей заявке, например размер блока, используемый, чтобы определять размер шаблона. Конкретные значения обеспечены для примерных целей, и описанные аспекты не ограничиваются этими конкретными значениями.
[0140] Различные осуществления включают в себя декодирование. "Декодирование", используемое в этой заявке, может охватывать все или часть процессов, выполняемых, например, в принятой закодированной последовательности для того, чтобы произвести окончательный выходной сигнал, подходящий для отображения. В различных вариантах осуществления такие процессы включают в себя один или несколько из процессов, обычно выполняемых декодером, например энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. Подразумевается ли термин "декодирование" как ссылка конкретно на поднабор операций или же в общем на более широкий процесс декодирования, будет ясно на основе контекста конкретных описаний и предполагается как легко понятное специалистам в данной области техники.
[0141] Различные осуществления используют кодирование. Аналогично вышеприведенному рассмотрению о "декодировании", "кодирование", используемое в этой заявке, может охватывать все или часть процессов, выполняемых, например, над входной видеопоследовательностью для того, чтобы произвести закодированный битовый поток. В различных вариантах осуществления такие процессы включают в себя один или несколько из процессов, обычно выполняемых кодером, например разделение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование.
[0142]
[0143] Хотя признаки и элементы описаны выше в конкретных комбинациях, обычный специалист в данной области техники поймет, что каждый признак или элемент может быть использован поодиночке или в любой комбинации с другими признаками и элементами. Дополнительно, способы, описанные здесь, могут осуществляться в компьютерной программе, программных средствах или программно-аппаратных средствах, находящихся на машиночитаемом носителе для исполнения компьютером или процессором. Примеры долговременных машиночитаемых носителей информации включают в себя, но не ограничиваются, постоянную память (ROM), оперативную память (RAM), реестр, кэш-память, полупроводниковые устройства памяти, магнитные носители, такие как внутренние жесткие диски и сменные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM, и универсальные цифровые диски (DVD). Процессор в ассоциации с программными средствами может быть использован, чтобы осуществлять кодер видео, декодер видео или и то, и другое, радиочастотный приемопередатчик для использования в UE, WTRU, терминале, базовой станции, RNC или любом хост-компьютере.
[0144] Кроме того, в вариантах осуществления, описанных выше, платформы обработки, вычислительные системы, средства управления и другие устройства, содержащие процессоры, указаны. Эти устройства могут содержать по меньшей мере один центральный процессор ("CPU") и память. В соответствии с практиками специалистов в данной области техники компьютерного программирования, ссылка на действия и символические представления операций или инструкций может выполняться различными CPU и средствами памяти. Такие действия и операции или инструкции могут упоминаться как "исполняемые", "исполняемые компьютером" или "исполняемые CPU".
[0145] Обычный специалист в данной области техники поймет, что действия и символически представленные операции или инструкции включают в себя манипуляцию электрических сигналов посредством CPU. Электрическая система представляет биты данных, которые могут приводить к получающемуся в результате преобразованию или уменьшению электрических сигналов и сохранению битов данных в местоположениях памяти в системе памяти, чтобы тем самым реконфигурировать или другим образом изменять операцию CPU, а также другую обработку сигналов. Местоположения памяти, где биты данных сохраняются, являются физическими местоположениями, которые имеют конкретные электрические, магнитные или оптические свойства, соответствующие битам данных или представляющие их. Следует понимать, что примерные варианты осуществления не ограничиваются вышеупомянутыми платформами или CPU и что другие платформы и CPU могут поддерживать обеспеченные способы.
[0146] Биты данных могут также храниться на машиночитаемом носителе, включающем в себя магнитные диски, оптические диски и любую другую энергозависимую (например, оперативное запоминающее устройство ("RAM")) или энергонезависимую (например, постоянную память ("ROM")) систему массовой памяти, читаемую CPU. Машиночитаемый носитель может включать в себя взаимодействующие или взаимосоединенные машиночитаемые носители, которые существуют исключительно в системе обработки или распределены по множеству взаимосоединенных систем обработки, которые могут быть локальными или удаленными для системы обработки. Следует понимать, что репрезентативные варианты осуществления не ограничиваются вышеупомянутыми средствами памяти и что другие платформы и средства памяти могут поддерживать описанные способы.
[0147] В иллюстративном варианте осуществления любые из операций, процессов и т. д., описанных здесь, могут осуществляться в виде машиночитаемых инструкций, сохраненных на машиночитаемом носителе. Машиночитаемые инструкции могут исполняться процессором мобильного блока, сетевого элемента и/или любого другого вычислительного устройства.
[0148] Использование аппаратных средств или программных средств в общем случае является (но не всегда, поскольку в конкретных контекстах выбор между аппаратными средствами и программными средствами может становиться существенным) проектным решением, представляющим компромисс между издержками и эффективностью. Могут существовать различные средства, посредством которых процессы и/или системы и/или другие технологии, описанные здесь, могут осуществляться (например, аппаратные средства, программные средства и/или программно-аппаратные средства), и предпочтительное средство может варьироваться в зависимости от контекста, в котором процессы и/или системы и/или другие технологии применяются. Например, если разработчик определяет, что скорость и точность представляют первостепенную важность, разработчик может делать выбор в пользу, главным образом, аппаратного и/или программно-аппаратного средства. Если гибкость представляют первостепенную важность, разработчик может делать выбор в пользу, главным образом, программного осуществления. В качестве альтернативы, разработчик может делать выбор в пользу некоторых комбинаций аппаратных средств, программных средств и/или программно-аппаратных средств.
[0149] Вышеприведенное подробное описание изложило различные варианты осуществления устройств и/или процессов посредством использования структурных схем, блок-схем и/или примеров. Поскольку такие структурные схемы, блок-схемы и/или примеры содержат одну или несколько функций и/или операций, будет понятно специалистам в области техники, что каждая функция и/или операция в таких структурных схемах, блок-схемах или примерах может осуществляться, по отдельности и/или в совокупности, широким диапазоном аппаратных средств, программных средств, программно-аппаратных средств или практически любой их комбинации. Подходящие процессоры включают в себя, в качестве примера, универсальный процессор, специализированный процессор, стандартный процессор, процессор цифровых сигналов (DSP), множество микропроцессоров, один или несколько микропроцессоров в ассоциации с ядром DSP, средство управления, микроконтроллер, специализированные интегральные цепи (ASIC), стандартные части специализированных интегральных цепей (ASSP), цепи программируемых пользователем вентильных матриц (FPGA), интегральную цепь (IC) любого другого типа и/или машину состояний.
[0150] Хотя признаки и элементы обеспечены выше в конкретных комбинациях, обычный специалист в данной области техники поймет, что каждый признак или элемент может быть использован поодиночке или в любой комбинации с другими признаками и элементами. Настоящее раскрытие не должно ограничиваться в смысле конкретных вариантов осуществления, описанных в этой заявке, которые предназначены для иллюстраций различных аспектов. Множество модификаций и вариаций может быть сделано без выхода за пределы его сущности и объема, которые будут очевидны специалистам в данной области техники. Никакой элемент, действие или инструкция, используемые в описании настоящей заявки, не должны толковаться как критичные или необходимые для изобретения, если они явным образом не обеспечены как таковые. Функционально эквивалентные способы и устройства в рамках объема раскрытия, дополнительно к перечисленным здесь, будут очевидны специалистам в данной области техники из вышеупомянутых описаний. Такие модификации и вариации предполагаются как находящиеся в пределах объема прилагаемой формулы изобретения. Настоящее раскрытие должно быть ограничено только терминами пунктов прилагаемой формулы изобретения вместе с полным объемом эквивалентов, для которых такие пункты формулы являются основанием. Следует понимать, что это раскрытие не ограничивается конкретными способами или системами.
[0151] Также следует понимать, что терминология, используемая здесь, предназначена только для целей описания конкретных вариантов осуществления и не подразумевается как ограничивающая.
[0152] В конкретных репрезентативных вариантах осуществления несколько частей изобретения, описанного здесь, могут осуществляться посредством специализированных интегральных цепей (ASIC), программируемых пользователем вентильных матриц (FPGA), процессоров цифровых сигналов (DSP) и/или других интегрированных форматов. Однако специалисты в данной области техники поймут, что некоторые аспекты вариантов осуществления, раскрываемых здесь, в целом или частично могут быть эквивалентно осуществлены в интегральных цепях в виде одной или нескольких компьютерных программ, запущенных на одном или нескольких компьютерах (например, в виде одной или нескольких программ, запущенных на одной или нескольких компьютерных системах), в виде одной или нескольких программ, запущенных на одном или нескольких процессорах (например, в виде одной или нескольких программ, запущенных на одном или нескольких микропроцессорах), в виде программно-аппаратных средств или в виде практически любой комбинации перечисленного, и что проектирование цепей и/или написание кода для программных средств и/или программно-аппаратных средств будет находиться в пределах навыков специалиста в данной области техники в свете этого раскрытия. Дополнительно, специалисты в данной области техники поймут, что механизмы изобретения, описанного здесь, могут распространяться как программный продукт во множестве различных форм и что иллюстративный вариант осуществления изобретения, описанного здесь, применим независимо от конкретного типа носителя сигнала, используемого, чтобы фактически осуществлять распространение. Примеры носителя сигнала включают в себя, но не ограничиваются, следующее: носитель записываемого типа, такой как гибкий диск, накопитель на жестком диске, CD, DVD, магнитную ленту, компьютерную память и т. д., и носитель типа передачи, такой как цифровой и/или аналоговый носитель связи (например, оптоволоконный кабель, волновод, линию проводной связи, линию беспроводной связи и т. д.).
[0153] Описанное здесь изобретение иногда иллюстрирует различные компоненты, содержащиеся в или соединенные с различными другими компонентами. Следует понимать, что такие изображенные архитектуры являются лишь примерами и что фактически может осуществляться много других архитектур, которые достигают тех же самых функциональных возможностей. В концептуальном смысле любая компоновка компонентов для достижения тех же самых функциональных возможностей в сущности "связана" так, чтобы желаемые функциональные возможности могли достигаться. Таким образом, любые два компонента здесь, скомбинированные для достижения конкретных функциональных возможностей, могут рассматриваться как "связанные" друг с другом так, чтобы желаемые функциональные возможности достигались, независимо от архитектур или промежуточных компонентов. Аналогичным образом, любые два компонента, связанные так, могут также рассматриваться как "операционно соединенные" или "операционно объединенные" друг с другом для достижения желаемых функциональных возможностей, и любые два компонента с возможностью такой ассоциации могут также рассматриваться как "операционно объединяемые" друг с другом для достижения желаемых функциональных возможностей. Конкретные примеры операционно объединяемых компонентов включают в себя, но не ограничиваются, физически совмещаемые компоненты, и/или компоненты с возможностью физического взаимодействия, и/или беспроводным образом взаимодействующие компоненты, и/или компоненты с возможностью беспроводного взаимодействия, и/или логически взаимодействующие компоненты, и/или компоненты с возможностью логического взаимодействия.
[0154] В отношении использования здесь по существу любых терминов во множественном и/или единственном числе, специалисты в данной области техники могут перевести их из множественного числа в единственное и/или из единственного числа во множественное в соответствии с контекстом и/или применением. Различные преобразования единственного/множественного числа могут быть в явной форме предложены здесь в целях ясности.
[0155] Будет понятно специалистам в области техники, что в общем случае термины, используемые здесь и в особенности в прилагаемой формуле изобретения (например, основном тексте пунктов прилагаемой формулы изобретения), в общем случае подразумеваются как "открытые" термины (например, термин "включающий в себя" должен интерпретироваться как "включающий в себя, но не ограниченный включаемым", термин "имеющий" должен интерпретироваться как "имеющий по меньшей мере", термин "включает в себя" должен интерпретироваться как "включает в себя, но не ограничивается включаемым" и т. д.). Будет дополнительно понятно специалистам в области техники, что если конкретное число представленного изложения пункта формулы предполагается, такое предположение будет явным образом перечислено в пункте формулы, и в отсутствии такого перечисления такое предположение отсутствует. Например, там, где только один элемент предполагается, термин "единственный" или подобный может быть использован. В качестве помощи для понимания следующая прилагаемая формула изобретения и/или описания здесь могут содержать использование предварительных фраз "по меньшей мере один" и "один или несколько", чтобы представить изложение пунктов. Однако использование таких фраз не должно толковаться как подразумевающее, что начальное изложения пункта в единственном числе ограничивает любой конкретный пункт, содержащий такое начальное изложение пункта, вариантами осуществления, содержащими только одно такое изложение, даже когда тот же самый пункт включает в себя предварительные фразы "один или несколько" или "по меньшей мере один" и формулирование в единственном числе (например, формулирование в единственном числе должно интерпретироваться как означающее "по меньшей мере один" или "один или несколько"). Дополнительно, даже если конкретное количество предваренного изложения пункта явным образом излагается, специалисты в данной области техники поймут, что такое изложение должно интерпретироваться как означающее по меньшей мере изложенное число (например, простое изложение "два изложения" без других модификаторов означает по меньшей мере два изложения или два или более изложений). Кроме того, в тех случаях, где условное обозначение, аналогичное "по меньшей мере одно из A, B и C и т. д." используется, в общем случае такое построение подразумевается в смысле, в котором специалист в данной области техники поймет условное обозначение (например, "система, имеющая по меньшей мере одно из A, B и C" будет включать в себя, но не ограничиваться, системы, которые имеют только A, только B, только C, A и B вместе, A и C вместе, B и C вместе и/или A, B и C вместе и т. д.). В тех случаях, где условное обозначение, аналогичное "по меньшей мере одно из A, B или C и т. д." используется, в общем случае такое построение подразумевается в смысле, в котором специалист в данной области техники поймет условное обозначение (например, "система, имеющая по меньшей мере одно из A, B или C" будет включать в себя, но не ограничиваться, системы, которые имеют только A, только B, только C, A и B вместе, A и C вместе, B и C вместе и/или A, B и C вместе и т. д.). Будет дополнительно понятно специалистам в области техники, что практически любое разделяющее слово и/или словосочетание, представляющее два или более альтернативных терминов либо в описании, либо в формуле, либо на чертежах, должно пониматься как предполагающее возможности включения в себя одного из терминов, любого из терминов или обоих термина. Например, фраза "A или B" будет понятна как включающая в себя возможности "A", или "B", или "A и B". Дополнительно, термин "любой из", за которым следует перечисление множества элементов и/или множество категорий элементов, используемых здесь, имеет целью включить в себя "любой из", "любая комбинация", "любое множество" и/или "любая комбинация множеств" элементов и/или категорий элементов по отдельности или в сочетании с другими элементами и/или другими категориями элементов. Кроме того, используемый здесь термин "набор" или "группа" подразумевается как включающий в себя любое количество элементов, включающее в себя ноль. Дополнительно, используемый здесь термин "количество" подразумевается как включающий в себя любое количество, включающее в себя ноль.
[0156] Дополнительно, когда признаки или аспекты раскрытия описаны в терминах групп Маркуша, специалисты в данной области техники поймут, что раскрытие также, таким образом, описано в терминах любого отдельного члена или подгруппы членов группы Маркуша.
[0157] Как будет понятно специалисту в данной области техники, для любой и всех целей, например в плане обеспечения письменного описания, все диапазоны, раскрываемые здесь, также охватывают любой и все их возможные поддиапазоны и комбинации поддиапазонов. Любой упомянутый диапазон может быть легко понят как достаточно описывающий и обеспечивающий возможность разбиения того же самого диапазона на по меньшей мере равные половины, трети, четверти, пятые части, десятые части и т. д. В качестве неограничивающего примера, каждый диапазон, рассмотренный здесь, может быть легко разбит на нижнюю треть, среднюю треть и верхнюю треть и т. д. Как также будет понятно специалисту в данной области техники, все термины, такие как "вплоть до", "по меньшей мере", "больше чем", "меньше чем" и т. п., включают в себя названное число и ссылаются на диапазоны, которые могут впоследствии быть разбиты на поддиапазоны, как рассмотрено выше. Наконец, как будет понятно специалисту в данной области техники, диапазон включает в себя каждый отдельный элемент. Таким образом, например, группа, имеющая 1-3 соты, ссылается на группы, имеющие 1, 2 или 3 соты. Подобным образом, группа, имеющая 1-5 сот, ссылается на группы, имеющие 1, 2, 3, 4 или 5 сот, и так далее.
[0158] Кроме того, формулу изобретения не следует читать как ограниченную обеспеченным порядком или элементами, если не указано обратное. Дополнительно, использование термина "средство для" в любом пункте формулы подразумевается как привлекающее спецификацию 35 U.S.C. §112, ¶ 6 или формат формулы "средство плюс функция", и любой пункт формулы без термина "средство для" так не подразумевается.
[0159] Предполагается, что системы могут осуществляться в программных средствах на микропроцессорах/универсальных компьютерах (не показаны). В конкретных вариантах осуществления одна или несколько из функций различных компонентов может осуществляться в программных средствах, которые управляют универсальным компьютером.
[0160] Дополнительно, хотя изобретение иллюстрируется и описывается здесь со ссылками на конкретные варианты осуществления, изобретение не подразумевается как ограниченное показанными подробностями. В действительности, различные модификации могут быть сделаны в деталях внутри объема и диапазона эквивалентов пунктов формулы и без выхода за пределы изобретения.