RU2802368C2 - Syntax elements for video coding or decoding - Google Patents
Syntax elements for video coding or decoding Download PDFInfo
- Publication number
- RU2802368C2 RU2802368C2 RU2020143949A RU2020143949A RU2802368C2 RU 2802368 C2 RU2802368 C2 RU 2802368C2 RU 2020143949 A RU2020143949 A RU 2020143949A RU 2020143949 A RU2020143949 A RU 2020143949A RU 2802368 C2 RU2802368 C2 RU 2802368C2
- Authority
- RU
- Russia
- Prior art keywords
- flag
- coding
- encoding
- frame data
- video
- Prior art date
Links
Images
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
По меньшей мере, один из настоящих вариантов осуществления, в общем, относится к синтаксическим элементам для кодирования или декодирования видео.At least one of the present embodiments generally relates to syntax elements for encoding or decoding video.
Уровень техникиState of the art
Чтобы достигать высокой эффективности сжатия, схемы кодирования изображений и видео обычно используют прогнозирование и преобразование для того, чтобы использовать пространственную и временную избыточность в видеоконтенте. Обычно, внутреннее (intra) или взаимное (inter) прогнозирование используется для того, чтобы использовать внутри- или межкадровую корреляцию, после этого разности между исходным блоком и прогнозированным блоком, зачастую обозначаемые в качестве ошибок прогнозирования или остатков прогнозирования, преобразуются, квантуются и энтропийно кодируются. Чтобы восстанавливать видео, сжатые данные декодируются посредством обратных процессов, соответствующих энтропийному кодированию, квантованию, преобразованию и прогнозированию.To achieve high compression efficiency, image and video coding schemes typically use prediction and transform to exploit spatial and temporal redundancy in video content. Typically, intra or inter prediction is used to exploit intra- or inter-frame correlation, then the differences between the original block and the predicted block, often referred to as prediction errors or prediction residuals, are transformed, quantized and entropy encoded . To reconstruct video, the compressed data is decoded through inverse processes corresponding to entropy encoding, quantization, transform, and prediction.
Сущность изобретенияThe essence of the invention
Согласно первому аспекту, по меньшей мере, одного варианта осуществления, представляется видеосигнал, причем видеосигнал форматируется с возможностью включать в себя информацию согласно стандарту кодирования видео и содержит поток битов, содержащий видеоконтент и высокоуровневую синтаксическую информацию, причем упомянутая высокоуровневая синтаксическая информация содержит, по меньшей мере, один параметр из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования.According to a first aspect of at least one embodiment, a video signal is presented, wherein the video signal is formatted to include information according to a video coding standard and comprises a bitstream comprising video content and high-level syntax information, wherein said high-level syntax information comprises at least , one parameter of a parameter representing the segmentation type, a parameter representing the intra-prediction mode type, a parameter representing the adaptation of block sizes for the contour filter based on the sampled adaptive offset, and a parameter representing the illumination compensation mode for the bi-prediction blocks.
Согласно второму аспекту, по меньшей мере, одного варианта осуществления, представляется носитель данных, причем носитель данных содержит закодированные на нем сигнальные видеоданные, причем видеосигнал форматируется с возможностью включать в себя информацию согласно стандарту кодирования видео и содержит поток битов, содержащий видеоконтент и высокоуровневую синтаксическую информацию, причем упомянутая высокоуровневая синтаксическая информация содержит, по меньшей мере, один параметр из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования.According to a second aspect of at least one embodiment, a storage medium is provided, wherein the storage medium contains video signal data encoded thereon, wherein the video signal is formatted to include information according to a video encoding standard and contains a bitstream containing video content and high-level syntax information wherein said high-level syntax information comprises at least one parameter of a parameter representing a segmentation type, a parameter representing an intra prediction mode type, a parameter representing an adaptation of block sizes for the loop filter based on the sampled adaptive offset, and a parameter representing a compensation mode illumination for biforecasting blocks.
Согласно третьему аспекту, по меньшей мере, одного варианта осуществления, представляется оборудование, причем оборудование содержит видеокодер для кодирования данных кадров, по меньшей мере, для одного блока в кадре, при этом кодирование выполняется с использованием, по меньшей мере, одного параметра из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования, и при этом упомянутые параметры вставляются в высокоуровневые синтаксические элементы кодированных данных кадров.According to a third aspect of at least one embodiment, equipment is provided, wherein the equipment includes a video encoder for encoding frame data for at least one block in the frame, wherein the encoding is performed using at least one parameter of a parameter, representing a type of segmentation, a parameter representing a type of intra-prediction mode, a parameter representing block size adaptation for the contour filter based on the sampled adaptive offset, and a parameter representing a light compensation mode for the bi-prediction blocks, and wherein said parameters are inserted into high-level syntax elements of the encoded data frames.
Согласно четвертому аспекту, по меньшей мере, одного варианта осуществления, представляется способ, при этом способ содержит кодирование данных кадров, по меньшей мере, для одного блока в кадре, при этом кодирование выполняется с использованием, по меньшей мере, одного параметра из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования, и вставку параметров в высокоуровневые синтаксические элементы кодированных данных кадров.According to a fourth aspect of at least one embodiment, a method is provided, the method comprising encoding frame data for at least one block in the frame, wherein the encoding is performed using at least one parameter of a parameter representing a segmentation type, a parameter representing the intra-prediction mode type, a parameter representing the adaptation of block sizes for the contour filter based on the sampled adaptive offset, and a parameter representing the light compensation mode for the bi-prediction blocks, and inserting parameters into high-level syntax elements of the encoded frame data.
Согласно пятому аспекту, по меньшей мере, одного варианта осуществления, представляется оборудование, причем оборудование содержит видеодекодер для декодирования данных кадров, по меньшей мере, для одного блока в кадре, при этом декодирование выполняется с использованием, по меньшей мере, одного параметра из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования, и при этом упомянутые параметры получаются из высокоуровневых синтаксических элементов кодированных данных кадров.According to a fifth aspect of at least one embodiment, equipment is provided, wherein the equipment includes a video decoder for decoding frame data for at least one block in the frame, wherein the decoding is performed using at least one parameter of the parameter, representing the type of segmentation, a parameter representing the type of the intra prediction mode, a parameter representing the adaptation of block sizes for the contour filter based on the sampled adaptive offset, and a parameter representing the illumination compensation mode for the bi-prediction blocks, and wherein said parameters are obtained from high-level syntax elements of the encoded data frames.
Согласно шестому аспекту, по меньшей мере, одного варианта осуществления, представляется способ, при этом способ содержит получение параметров из высокоуровневых синтаксических элементов кодированных данных кадров и декодирование данных кадров, по меньшей мере, для одного блока в кадре, при этом декодирование выполняется с использованием, по меньшей мере, одного параметра из параметра, представляющего тип сегментации, параметра, представляющего тип режима внутреннего прогнозирования, параметра, представляющего адаптацию размеров блоков для контурного фильтра на основе дискретизированного адаптивного смещения, и параметра, представляющего режим компенсации освещенности для блоков бипрогнозирования.According to a sixth aspect of at least one embodiment, a method is provided, the method comprising obtaining parameters from high-level syntax elements of encoded frame data and decoding the frame data for at least one block in the frame, wherein the decoding is performed using, at least one parameter of a parameter representing a segmentation type, a parameter representing an intra-prediction mode type, a parameter representing an adaptation of block sizes for the contour filter based on the sampled adaptive offset, and a parameter representing a light compensation mode for the bi-prediction blocks.
Согласно седьмому аспекту, по меньшей мере, одного варианта осуществления, представляется энергонезависимый машиночитаемый носитель, причем энергонезависимый машиночитаемый носитель содержит контент данных, сформированный согласно третьему или четвертому аспекту.According to a seventh aspect of at least one embodiment, a non-transitory computer-readable medium is provided, wherein the non-transitory computer-readable medium contains data content generated according to the third or fourth aspect.
Согласно седьмому аспекту, по меньшей мере, одного варианта осуществления, представляется компьютерная программа, содержащая инструкции с программным кодом, выполняемые посредством процессора, причем компьютерная программа реализует этапы способа согласно, по меньшей мере, четвертому или шестому аспекту.According to a seventh aspect of at least one embodiment, there is provided a computer program containing program code instructions executable by a processor, wherein the computer program implements steps of a method according to at least the fourth or sixth aspect.
Согласно восьмому аспекту, по меньшей мере, одного варианта осуществления, представляется компьютерный программный продукт, который сохранен на энергонезависимом машиночитаемом носителе и содержит инструкции с программным кодом, выполняемые посредством процессора, причем компьютерный программный продукт реализует этапы способа согласно, по меньшей мере, четвертому или шестому аспекту.According to an eighth aspect of at least one embodiment, there is provided a computer program product that is stored on a non-transitory computer readable medium and contains program code instructions executable by a processor, wherein the computer program product implements the method steps of at least the fourth or sixth aspect.
Краткое описание чертежейBrief description of drawings
Фиг. 1 иллюстрирует пример видеокодера 100, такого как кодер по стандарту высокоэффективного кодирования видео (HEVC).Fig. 1 illustrates an example of a
Фиг. 2 иллюстрирует блок-схему примера видеодекодера 200, такого как HEVC-декодер.Fig. 2 illustrates a block diagram of an
Фиг. 3 иллюстрирует пример единицы дерева кодирования и дерева кодирования в сжатой области.Fig. 3 illustrates an example of a coding tree unit and a compressed region coding tree.
Фиг. 4 иллюстрирует пример разделения CTU на единицы кодирования, единицы прогнозирования и единицы преобразования.Fig. 4 illustrates an example of dividing a CTU into coding units, prediction units, and transformation units.
Фиг. 5 иллюстрирует пример CTU-представления в виде дерева квадрантов плюс двоичного дерева (QTBT).Fig. 5 illustrates an example of a quadtree plus binary tree (QTBT) representation of a CTU.
Фиг. 6 иллюстрирует примерный расширенный набор сегментации единиц кодирования.Fig. 6 illustrates an example superset of coding unit segmentation.
Фиг. 7 иллюстрирует пример режима внутреннего прогнозирования с двумя опорными слоями.Fig. 7 illustrates an example of an intra prediction mode with two reference layers.
Фиг. 8 иллюстрирует примерный вариант осуществления режима компенсации для двунаправленной компенсации освещенности.Fig. 8 illustrates an exemplary embodiment of a compensation mode for bidirectional illumination compensation.
Фиг. 9 иллюстрирует интерпретацию bt-split-flag согласно примерному варианту осуществления.Fig. 9 illustrates the interpretation of bt-split-flag according to an exemplary embodiment.
Фиг. 10 иллюстрирует блок-схему примера системы, в которой реализуются различные аспекты и варианты осуществления.Fig. 10 illustrates a block diagram of an example system in which various aspects and embodiments are implemented.
Фиг. 11 иллюстрирует блок-схему последовательности операций примера способа кодирования согласно варианту осуществления с использованием новых инструментальных средств кодирования.Fig. 11 illustrates a flowchart of an example encoding method according to an embodiment using the new encoding tools.
Фиг. 12 иллюстрирует блок-схему последовательности операций примера части способа декодирования согласно варианту осуществления с использованием новых инструментальных средств кодирования.Fig. 12 illustrates a flowchart of an example portion of a decoding method according to an embodiment using the new encoding tools.
Осуществление изобретенияCarrying out the invention
По меньшей мере, в одном варианте осуществления, использование новых инструментальных средств кодирования, описанных ниже, приводит в результате к повышению эффективности кодирования. В примерном варианте осуществления, эффективное сигнализирование этих инструментальных средств кодирования представляет собой передачу информации, представляющей инструментальные средства кодирования, используемые для кодирования, например, из устройства кодера в приемное устройство (например, декодер или дисплей), так что соответствующие инструментальные средства используются для каскада декодирования. Эти инструментальные средства содержат новые режимы сегментации, новые режимы внутреннего прогнозирования, повышенную гибкость для дискретизированного адаптивного смещения и новый режим компенсации освещенности для блоков бипрогнозирования. Следовательно, предложенный новый синтаксис, собирающий множество инструментальных средств кодирования, обеспечивает более эффективное кодирование видео.In at least one embodiment, use of the new encoding tools described below results in increased encoding efficiency. In an exemplary embodiment, effective signaling of these encoding tools is the transmission of information representing the encoding tools used for encoding, for example, from an encoder device to a receiving device (for example, a decoder or display), such that the corresponding tools are used for the decoding stage . These tools include new segmentation modes, new intraprediction modes, increased flexibility for sampled adaptive offset, and a new light compensation mode for biprediction blocks. Therefore, the proposed new syntax, which collects multiple encoding tools, provides more efficient video encoding.
Фиг. 1 иллюстрирует пример видеокодера 100, такого как кодер по стандарту высокоэффективного кодирования видео (HEVC). Фиг. 1 также может иллюстрировать кодер, в котором вносятся улучшения в HEVC-стандарт, либо кодер с использованием технологий, аналогичных HEVC, такой как кодер по стандарту JEM (по стандарту объединенной исследовательской группы по тестовой модели), разрабатываемый посредством JVET (объединенной исследовательской группы по видеостандартам).Fig. 1 illustrates an example of a
В настоящей заявке, термины "восстановленный" и "декодированный" могут использоваться взаимозаменяемо, термины "закодированный (encoded)" или "кодированный (coded)" могут использоваться взаимозаменяемо, и термины "изображение", "кадр" и "кинокадр" могут использоваться взаимозаменяемо. Обычно, но не обязательно, термин "восстановленный" используется на стороне кодера, в то время как "декодированный" используется на стороне декодера.In this application, the terms "recovered" and "decoded" may be used interchangeably, the terms "encoded" or "coded" may be used interchangeably, and the terms "image", "frame" and "cine frame" may be used interchangeably . Typically, but not necessarily, the term "reconstructed" is used on the encoder side, while "decoded" is used on the decoder side.
Перед кодированием, видеопоследовательность может проходить через обработку перед кодированием (101). Например, она выполняется посредством применения преобразования цветов к входному цветному кадру (например, преобразования из RGB 4:4:4 в YCbCr 4:2:0) или выполнения повторного преобразования компонентов входного кадра, чтобы получать распространение сигналов, более устойчивое к сжатию (например, с использованием частотной коррекции гистограммы одного из цветовых компонентов). Метаданные могут быть ассоциированы с предварительной обработкой и присоединены к потоку битов.Before encoding, the video sequence may go through pre-encoding processing (101). For example, it is performed by applying a color transform to the input color frame (eg, converting from RGB 4:4:4 to YCbCr 4:2:0) or performing a re-conversion of components of the input frame to produce signal propagations that are more resistant to compression (eg , using frequency correction of the histogram of one of the color components). Metadata may be associated with preprocessing and attached to the bitstream.
В HEVC, для того, чтобы кодировать видеопоследовательность с помощью одного или более кадров, кадр сегментируется (102) на одну или более серий последовательных макроблоков, причем каждая серия последовательных макроблоков (срез, slice) может включать в себя один или более сегментов серий последовательных макроблоков. Сегмент серий последовательных макроблоков организуется в единицы кодирования, единицы прогнозирования и единицы преобразования. HEVC-спецификация различает "блоки" и "единицы", при этом "блок" адресует конкретную область в массиве выборок (например, сигнал яркости, Y), а "единица" включает в себя совместно размещенные блоки всех кодированных цветовых компонентов (Y, Cb, Cr или монохромного), синтаксические элементы и прогнозирующие данные, которые ассоциированы с блоками (например, векторы движения).In HEVC, in order to encode a video sequence using one or more frames, the frame is segmented (102) into one or more slices, where each slice may include one or more slice segments. . A segment of serial macroblocks is organized into coding units, prediction units, and transformation units. The HEVC specification distinguishes between "blocks" and "units", with a "block" addressing a specific region in the sample array (eg luminance, Y) and a "unit" including co-located blocks of all encoded color components (Y, Cb , Cr or monochrome), syntactic elements and predictive data that are associated with blocks (for example, motion vectors).
Для кодирования в HEVC, кадр сегментируется на блоки дерева кодирования (CTB) квадратной формы с конфигурируемым размером, и последовательный набор блоков дерева кодирования группируется в серию последовательных макроблоков. Единица дерева кодирования (CTU) содержит CTB кодированных цветовых компонентов. CTB представляет собой корень сегментации на дерево квадрантов на блоки кодирования (CB), и блок кодирования может сегментироваться на один или более блоков прогнозирования (PB) и формирует корень сегментации на дерево квадрантов на блоки преобразования (TB). Согласно блоку кодирования, блоку прогнозирования и блоку преобразования, единица кодирования (CU) включает в себя единицы прогнозирования (PU) и набор с древовидной структурой единиц преобразования (TU), PU включает в себя информацию прогнозирования для всех цветовых компонентов, и TU включает в себя синтаксическую структуру остаточного кодирования для каждого цветового компонента. Размер CB, PB и TB компонента сигнала яркости применяется к соответствующей CU, PU и TU. В настоящей заявке, термин "блок" может использоваться как означающий, например, любое из CTU, CU, PU, TU, CB, PB и TB. Помимо этого, "блок" также может использоваться как означающий макроблок и сегмент, как указано в H.264/AVC или других стандартах кодирования видео, и если обобщить, как означающий массив данных различных размеров.For HEVC encoding, a frame is segmented into square-shaped coding tree blocks (CTBs) with a configurable size, and a sequential set of coding tree blocks is grouped into a series of sequential macroblocks. The Coding Tree Unit (CTU) contains the CTB of coded color components. The CTB represents a segmentation root of a quadtree into coding blocks (CBs), and a coding block may be segmented into one or more prediction blocks (PBs) and forms a segmentation root of a quadtree into transform blocks (TB). According to the encoding unit, the prediction unit and the transform unit, a coding unit (CU) includes prediction units (PUs) and a tree-structured set of transformation units (TUs), the PU includes prediction information for all color components, and the TU includes syntactic structure of residual coding for each color component. The CB, PB and TB size of the luminance signal component is applied to the corresponding CU, PU and TU. In this application, the term "block" may be used to mean, for example, any of CTU, CU, PU, TU, CB, PB and TB. In addition, "block" can also be used to mean macroblock and segment, as specified in H.264/AVC or other video coding standards, and more generally, to mean an array of data of various sizes.
В примере кодера 100, кадр кодируется посредством элементов кодера, как описано ниже. Кадр, который должен кодироваться, обрабатывается в единицах CU. Каждая CU кодируется использованием внутреннего или взаимного режима. Когда CU кодируется во внутреннем режиме, он выполняет внутреннее прогнозирование (160). Во взаимном режиме, выполняются оценка (175) и компенсация (170) движения. Кодер определяет (105) то, какой из внутреннего режима или взаимного режима следует использовать для кодирования CU, и указывает решение по внутреннему/взаимному режиму посредством флага режима прогнозирования. Остатки прогнозирования вычисляются посредством вычитания (110) прогнозированного блока из исходного блока изображений.In the
CU во внутреннем режиме прогнозируются из восстановленных соседних выборок в идентичной серии последовательных макроблоков. В HEVC доступен набор из 35 режимов внутреннего прогнозирования, включающий в себя DC, плоский и 33 режима углового прогнозирования. Опорный элемент внутреннего прогнозирования восстанавливается из строки и столбца, смежных с текущим блоком. Опорный элемент в два раза превышает размер блока в горизонтальном и вертикальном направлениях с использованием доступных выборок из ранее восстановленных блоков. Когда режим углового прогнозирования используется для внутреннего прогнозирования, опорные выборки могут копироваться вдоль направления, указываемого посредством режима углового прогнозирования.CUs in internal mode are predicted from reconstructed adjacent samples in an identical series of consecutive macroblocks. A set of 35 intraprediction modes are available in HEVC, including DC, flat and 33 angular prediction modes. The internal prediction reference is reconstructed from the row and column adjacent to the current block. The reference element is twice the size of the block in the horizontal and vertical directions using available samples from previously reconstructed blocks. When the angle prediction mode is used for intra prediction, reference samples can be copied along the direction indicated by the angle prediction mode.
Применимый режим внутреннего прогнозирования сигналов яркости для текущего блока может кодироваться с использованием двух различных вариантов. Если применимый режим включается в конструируемый список из трех наиболее вероятных режимов (MPM), режим сигнализируется посредством индекса в MPM-списке. В противном случае, режим сигнализируется посредством преобразования в двоичную форму фиксированной длины индекса режима. Три наиболее вероятных режима извлекаются из режимов внутреннего прогнозирования верхнего и левого соседних блоков.The applicable intra-luminance signal prediction mode for the current block may be encoded using two different options. If an applicable mode is included in a constructed list of three most probable modes (MPMs), the mode is signaled by an index in the MPM list. Otherwise, the mode is signaled by binarizing a fixed length mode index. The three most probable modes are extracted from the internal prediction modes of the top and left neighboring blocks.
Для взаимной CU, соответствующий блок кодирования дополнительно сегментируется на один или более блоков прогнозирования. Взаимное прогнозирование выполняется на уровне PB, и соответствующая PU содержит информацию относительно того, как выполняется взаимное прогнозирование. Информация движения (например, вектор движения и индекс опорного кадра) может сигнализироваться в двух способах, а именно, в "режиме объединения" и в "усовершенствованном прогнозировании векторов движения (AMVP)".For a mutual CU, the corresponding encoding block is further segmented into one or more prediction blocks. Inter-prediction is performed at the PB level, and the corresponding PU contains information regarding how inter-prediction is performed. Motion information (eg, motion vector and reference frame index) may be signaled in two ways, namely, “fusion mode” and “advanced motion vector prediction (AMVP)”.
В режиме объединения, видеокодер или декодер собирает список возможных вариантов на основе уже кодированных блоков, и видеокодер сигнализирует индекс для одного из возможных вариантов в списке возможных вариантов. На стороне декодера, вектор движения (MV) и индекс опорного кадра восстанавливаются на основе сигнализируемого возможного варианта.In merge mode, the video encoder or decoder assembles a candidate list based on the blocks already encoded, and the video encoder signals an index for one of the candidates in the candidate list. At the decoder side, the motion vector (MV) and the reference frame index are reconstructed based on the signaled candidate.
В AMVP, видеокодер или декодер собирает списки возможных вариантов на основе векторов движения, определенных из уже кодированных блоков. Видеокодер затем сигнализирует индекс в списке возможных вариантов, чтобы идентифицировать предиктор вектора движения (MVP), и сигнализирует разность векторов движения (MVD). На стороне декодера, вектор движения (MV) восстанавливается в качестве MVP+MVD. Применимый индекс опорного кадра также явно кодируется в PU-синтаксисе для AMVP.In AMVP, a video encoder or decoder assembles candidate lists based on motion vectors determined from already encoded blocks. The video encoder then signals an index in the candidate list to identify a motion vector predictor (MVP), and signals a motion vector difference (MVD). At the decoder side, the motion vector (MV) is reconstructed as MVP+MVD. The applicable reference frame index is also explicitly encoded in the PU syntax for AMVP.
Остатки прогнозирования затем преобразуются (125) и квантуются (130), что включает в себя, по меньшей мере, один вариант осуществления для адаптации параметра квантования сигналов цветности, описанный ниже. Преобразования, в общем, основаны на разделимых преобразованиях. Например, DCT-преобразование сначала применяется в горизонтальном направлении, затем в вертикальном направлении. В последних кодеках, таких как JEM, преобразования, используемые в обоих направлениях (например, DCT в одном направлении, DST в другой), могут отличаться, что приводит к широкому спектру двумерных преобразований, тогда как в предыдущих кодеках, разнообразие двумерных преобразований для данного размера блока обычно ограничивается.The prediction residuals are then transformed (125) and quantized (130), which includes at least one embodiment for adapting a chrominance signal quantization parameter described below. Transformations are, in general, based on separable transformations. For example, the DCT transform is first applied in the horizontal direction, then in the vertical direction. In recent codecs such as JEM, the transforms used in both directions (e.g. DCT in one direction, DST in the other) can be different, resulting in a wide variety of 2D transforms, whereas in earlier codecs, a variety of 2D transforms for a given size block is usually limited.
Квантованные коэффициенты преобразования, а также векторы движения и другие синтаксические элементы энтропийно кодируются (145), чтобы выводить поток битов. Кодер также может пропускать преобразование и применять квантование непосредственно к непреобразованному остаточному сигналу на основе TU 4×4. Кодер также может обходить как преобразование, так и квантование, т.е. остаток кодируется непосредственно без применения процесса преобразования или квантования. При прямом PCM-кодировании, прогнозирование не применяется, и выборки единиц кодирования непосредственно кодируются в поток битов.The quantized transform coefficients, as well as motion vectors and other syntactic elements, are entropy encoded (145) to output the bit stream. The encoder can also skip the transform and apply quantization directly to the unconverted residual signal based on the 4x4 TU. The encoder can also bypass both conversion and quantization, i.e. the remainder is encoded directly without applying a conversion or quantization process. With direct PCM encoding, prediction is not applied and samples of coding units are directly encoded into the bitstream.
Кодер декодирует кодированный блок, чтобы предоставлять опорный элемент для дополнительных прогнозирований. Квантованные коэффициенты преобразования деквантуются (140) и обратно преобразуются (150), чтобы декодировать остатки прогнозирования. При комбинировании (155) декодированных остатков прогнозирования и прогнозированного блока, восстанавливается блок изображений. Внутриконтурные фильтры (165) применяются к восстановленному кадру, например, чтобы выполнять удаление блочности/фильтрацию на основе SAO (дискретизированного адаптивного смещения), с тем чтобы уменьшать артефакты кодирования. Фильтрованное изображение сохраняется в буфере опорных кадров (180).The encoder decodes the coded block to provide a reference element for additional predictions. The quantized transform coefficients are dequantized (140) and back-transformed (150) to decode the prediction residuals. By combining (155) the decoded prediction residuals and the predicted block, the image block is reconstructed. In-loop filters (165) are applied to the reconstructed frame, for example, to perform deblocking/SAO (sampled adaptive offset) filtering to reduce encoding artifacts. The filtered image is stored in the reference frame buffer (180).
Фиг. 2 иллюстрирует блок-схему примера видеодекодера 200, такого как HEVC-декодер. В примере декодера 200, поток битов декодируется посредством элементов декодера, как описано ниже. Видеодекодер 200, в общем, выполняет проход декодирования, обратный по отношению к проходу кодирования, как описано на фиг. 1, который выполняет декодирование видео в качестве части кодирования видеоданных. Фиг. 2 также может иллюстрировать декодер, в котором вносятся улучшения в HEVC-стандарт, или декодер с использованием технологий, аналогичных HEVC, такой как JEM-декодер.Fig. 2 illustrates a block diagram of an
В частности, ввод декодера включает в себя поток видеобитов, который может формироваться посредством видеокодера 100. Поток битов сначала энтропийно декодируется (230), чтобы получать коэффициенты преобразования, векторы движения, информацию сегментации кадров и другую кодированную информацию. Информация сегментации кадров указывает размер CTU и способ, которым CTU разбивается на CU и возможно на PU, если применимо. Декодер в силу этого может разделять (235) кадр на CTU, а каждую CTU - на CU, согласно информации сегментации декодированных кадров. Коэффициенты преобразования деквантуются (240), что включает в себя, по меньшей мере, один вариант осуществления для адаптации параметра квантования сигналов цветности, описанный ниже, и обратно преобразуются (250), чтобы декодировать остатки прогнозирования.Specifically, the decoder input includes a video bit stream that may be generated by
При комбинировании (255) декодированных остатков прогнозирования и прогнозированного блока, восстанавливается блок изображений. Прогнозированный блок может получаться (270) из внутреннего прогнозирования (260) или прогнозирования с компенсацией движения (т.е. взаимного прогнозирования) (275). Как описано выше, AMVP и технологии на основе режима объединения могут использоваться для того, чтобы извлекать векторы движения для компенсации движения, которая может использовать интерполяционные фильтры, чтобы вычислять интерполированные значения для субцелочисленных выборок опорного блока. Внутриконтурные фильтры (265) применяются к восстановленному изображению. Фильтрованное изображение сохраняется в буфере опорных кадров (280).By combining (255) the decoded prediction residuals and the predicted block, the image block is reconstructed. The predicted block may be obtained (270) from intra-prediction (260) or motion-compensated prediction (ie, inter-prediction) (275). As described above, AMVP and pooling mode-based technologies can be used to extract motion vectors for motion compensation, which can use interpolation filters to compute interpolated values for sub-integer reference block samples. In-loop filters (265) are applied to the reconstructed image. The filtered image is stored in the reference frame buffer (280).
Декодированный кадр дополнительно может проходить через обработку после декодирования (285), например, обратное преобразование цветов (например, преобразование из YCbCr 4:2:0 в RGB 4:4:4) или обратное повторное преобразование, выполняющее инверсию процесса повторного преобразования, выполняемого при обработке перед кодированием (101). Обработка после декодирования может использовать метаданные, извлекаемые при обработке перед кодированием и сигнализируемые в потоке битов.The decoded frame may further undergo post-decoding processing (285), such as inverse color conversion (eg, conversion from YCbCr 4:2:0 to RGB 4:4:4) or inverse reconversion, which performs the inversion of the reconversion process performed at processing before encoding (101). Post-decoding processing may use metadata extracted during pre-encoding processing and signaled in the bitstream.
Фиг. 3 иллюстрирует пример единицы дерева кодирования и дерева кодирования в сжатой области. В HEVC-стандарте сжатия видео, кадр разделяется на так называемые единицы дерева кодирования (CTU), размер которых типично составляет 64×64, 128×128 или 256×256 пикселов. Каждая CTU представляется посредством дерева кодирования в сжатой области. Оно представляет собой разделение на дерево квадрантов CTU, в котором каждый лист называется "единицей кодирования (CU)".Fig. 3 illustrates an example of a coding tree unit and a compressed region coding tree. In the HEVC video compression standard, a frame is divided into so-called coding tree units (CTUs), which are typically 64x64, 128x128, or 256x256 pixels in size. Each CTU is represented by an encoding tree in a compressed region. It represents a division into a quadtree of CTUs, in which each leaf is called a "coding unit (CU)".
Фиг. 4 иллюстрирует пример разделения CTU на единицы кодирования, единицы прогнозирования и единицы преобразования. Для каждой CU затем предоставляются некоторые параметры внутреннего или взаимного прогнозирования (информация прогнозирования). Для этого, она пространственно сегментируется на одну или более единиц прогнозирования (PU), причем каждой PU назначается некоторая информация прогнозирования. Режим внутреннего или взаимного кодирования назначается на уровне CU.Fig. 4 illustrates an example of dividing a CTU into coding units, prediction units, and transformation units. For each CU, some internal or inter-prediction parameters (prediction information) are then provided. To do this, it is spatially segmented into one or more prediction units (PUs), with each PU assigned some prediction information. The internal or intercoding mode is assigned at the CU level.
Новые появляющиеся инструментальные средства сжатия видео, включающие в себя представление в виде единиц дерева кодирования в сжатой области, предлагаются для того, чтобы представлять данные кадров более гибким способом. Преимущество этого более гибкого представления дерева кодирования состоит в том, что оно обеспечивает повышенную эффективность сжатия по сравнению с CU/PU/TU-компоновкой HEVC-стандарта.New emerging video compression tools that include a representation of encoding tree units in a compressed domain are proposed to represent frame data in a more flexible manner. The advantage of this more flexible coding tree representation is that it provides improved compression efficiency compared to the CU/PU/TU layout of the HEVC standard.
Фиг. 5 иллюстрирует пример CTU-представления в виде дерева квадрантов плюс двоичного дерева (QTBT). Инструментальное средство кодирования на основе дерева квадрантов плюс двоичного дерева (QTBT) обеспечивает такую повышенную гибкость. QTBT заключается в дереве кодирования, в котором единицы кодирования могут разбиваться в виде дерева квадрантов и в виде двоичного дерева. Разбиение единицы кодирования определяется на стороне кодера через процедуру оптимизации искажения в зависимости от скорости передачи, которая определяет QTBT-представление CTU с функцией минимальных затрат на искажение в зависимости от скорости передачи. В QTBT-технологии, CU имеет квадратную или прямоугольную форму. Размер единицы кодирования всегда имеет степень 2 и типично составляет от 4 до 128. Помимо этого множества прямоугольных форм для единицы кодирования, такое CTU-представление имеет следующие различные характеристики по сравнению с HEVC. QTBT-разложение CTU состоит из двух стадий: сначала CTU разбивается в виде дерева квадрантов, затем каждый лист дерева квадрантов может дополнительно разделяться в двоичном виде. Это проиллюстрировано в правой части чертежа, в которой сплошные линии представляют линии для фаз разложения на дерево квадрантов, и пунктирные линии представляют двоичное разложение, которое пространственно встраивается в листья дерева квадрантов. Во внутренних сериях последовательных макроблоков, структура сегментации на блоки сигналов яркости и сигналов цветности разделяется и определяется независимо. CU-сегментация на единицы прогнозирований или единицу преобразования более не используется. Другими словами, каждая единица кодирования систематически состоит из одной единицы прогнозирования (типа сегмента единиц прогнозирования 2Nx2N) и одной единицы преобразования (без разделения на дерево преобразования).Fig. 5 illustrates an example of a quadtree plus binary tree (QTBT) representation of a CTU. The quadtree plus binary tree (QTBT) coding tool provides this increased flexibility. QTBT consists of a coding tree in which coding units can be partitioned as a quadtree and as a binary tree. The coding unit partitioning is determined at the encoder side through a rate-based distortion optimization procedure that defines a QTBT representation of the CTU with a minimum rate-based distortion cost function. In QTBT technology, the CU has a square or rectangular shape. The coding unit size is always a power of 2 and typically ranges from 4 to 128. In addition to this variety of rectangular shapes for the coding unit, this CTU representation has the following different characteristics compared to HEVC. QTBT decomposition of a CTU consists of two stages: first, the CTU is decomposed into a quadtree, then each leaf of the quadtree can be further partitioned in binary form. This is illustrated on the right side of the drawing, in which the solid lines represent the lines for the phases of the quadtree decomposition, and the dotted lines represent the binary decomposition that is spatially embedded in the leaves of the quadtree. In the inner series of successive macroblocks, the segmentation structure into blocks of luma signals and chrominance signals is separated and determined independently. CU segmentation into prediction units or conversion units is no longer used. In other words, each coding unit systematically consists of one prediction unit (such as a 2Nx2N segment of prediction units) and one transformation unit (without partitioning into a transformation tree).
Фиг. 6 иллюстрирует примерный расширенный набор сегментации единиц кодирования. В режимах разбиения на асимметричное двоичное дерево (ABT), прямоугольная единица кодирования с размером (ширина и высота), которая должна разбиваться через один из режимов асимметричного двоичного разбиения, например, HOR_UP (вверх по горизонтали), должна приводить к 2 субъединицам кодирования с соответствующими прямоугольными размерами и Помимо этого, может использоваться так называемая сегментация на троичное дерево CU, приводящая к набору возможных сегментов, приведенных на фиг. 5. Троичное дерево состоит в разбиении CU на древовидную суб-CU с размером (1/4, 1/2, 1/4) относительно родительской CU в рассматриваемой ориентации (например: HOR_TRIPLE для режима горизонтального разбиения).Fig. 6 illustrates an example superset of coding unit segmentation. In asymmetric binary tree (ABT) partitioning modes, a rectangular encoding unit with size (width and height), which should be split through one of the asymmetric binary partitioning modes, e.g. HOR_UP (horizontally up), should result in 2 encoding subunits with corresponding rectangular dimensions And In addition, so-called ternary CU tree segmentation can be used, leading to the set of possible segments shown in FIG. 5. Ternary tree consists of splitting a CU into a tree-like sub-CU with size (1/4, 1/2, 1/4) relative to the parent CU in the orientation in question (eg: HOR_TRIPLE for horizontal splitting mode).
Значительное повышение эффективности кодирования обеспечивается с использованием одного или более вариантов осуществления новых топологий, описанных выше.Significant improvements in coding efficiency are achieved using one or more embodiments of the new topologies described above.
Фиг. 7 иллюстрирует пример режима внутреннего прогнозирования с двумя опорными слоями. Фактически, новые режимы внутреннего прогнозирования рассматриваются в улучшенном синтаксисе. Первый новый внутренний режим гибели называется "множественным опорным внутренним прогнозированием (MRIP)". Это инструментальное средство упрощает использование нескольких опорных слоев для внутреннего прогнозирования блока. Типично, 2 опорных слоя используются для внутреннего прогнозирования, при этом каждый опорный слой состоит из левого опорного массива и верхнего опорного массива. Каждый опорный слой конструируется посредством замены опорных выборок и затем предварительно фильтруется.Fig. 7 illustrates an example of an intra prediction mode with two reference layers. In fact, new internal prediction modes are covered in improved syntax. The first new internal doom mode is called "multiple reference internal prediction (MRIP)." This tool makes it easy to use multiple reference layers for internal block prediction. Typically, 2 reference layers are used for intraprediction, with each reference layer consisting of a left reference array and a top reference array. Each reference layer is constructed by replacing reference samples and then pre-filtered.
С использованием каждого опорного слоя, конструируется прогнозирование для блока, типично как выполняется в HEVC или в JEM. Конечное прогнозирование формируется в качестве среднего взвешенного прогнозирований, выполненных из двух опорных слоев. Прогнозированию из самого ближнего опорного слоя присваивается более высокий весовой коэффициент, чем прогнозированию из самого дальнего слоя. Типичные используемые весовые коэффициенты равны 3 и 1.Using each reference layer, a prediction is constructed for the block, typically as done in HEVC or JEM. The final prediction is formed as a weighted average of the predictions made from the two reference layers. Predictions from the closest reference layer are weighted higher than predictions from the farthest layer. Typical weighting factors used are 3 and 1.
В последней части процесса прогнозирования, несколько опорных слоев могут использоваться для того, чтобы сглаживать граничные выборки для определенных режимов прогнозирования, с использованием зависимого от режима процесса.In the last part of the prediction process, multiple reference layers can be used to smooth the boundary samples for certain prediction modes, using a mode-dependent process.
В примерном варианте осуществления, инструментальные средства сжатия видео включают в себя также адаптивный размер блока для дискретизированного адаптивного смещения (SAO). Это инструментальное средство представляет собой контурный фильтр, указываемый в HEVC. В HEVC, SAO-процесс классифицирует восстановленные выборки одного блока на несколько классов, и выборки, принадлежащие некоторым классам, корректируются со смещениями. SAO-параметры кодируются в расчете на блок либо могут быть унаследованы только из левого или верхнего соседних блоков.In an exemplary embodiment, the video compression tool also includes an adaptive block size for sampled adaptive offset (SAO). This tool is a loop filter specified in HEVC. In HEVC, the SAO process classifies the reconstructed samples of one block into several classes, and the samples belonging to some classes are adjusted with biases. SAO parameters are encoded per block or can be inherited only from the left or top adjacent blocks.
Дополнительные улучшения предлагаются посредством задания палитрового SAO-режима. SAO-палитра сохраняет идентичные SAO-параметры в расчете на блок, но блоки могут наследовать эти параметры из всех других блоков. Это обеспечивает большую гибкость для SAO посредством расширения диапазона возможных SAO-параметров для одного блока. SAO-палитра состоит из набора различных SAO-параметров. Для каждого блока, индекс кодируется, чтобы указывать то, какой SAO-параметр следует использовать.Additional improvements are offered by setting the SAO palette mode. An SAO palette retains identical SAO parameters per block, but blocks can inherit these parameters from all other blocks. This provides greater flexibility for SAO by expanding the range of possible SAO parameters for a single block. The SAO palette consists of a set of different SAO parameters. For each block, an index is encoded to indicate which SAO parameter should be used.
Фиг. 8 иллюстрирует примерный вариант осуществления режима компенсации для двунаправленной компенсации освещенности. Компенсация освещенности (IC) обеспечивает возможность коррекции блочных прогнозных выборок (SMC), полученных через компенсацию движения, посредством возможного рассмотрения пространственного или временного варьирования локальной освещенности.Fig. 8 illustrates an exemplary embodiment of a compensation mode for bidirectional illumination compensation. Illumination Compensation (IC) provides the ability to correct block prediction samples (SMC) obtained through motion compensation by possibly considering spatial or temporal variation in local illumination.
SIC=ai . SMC+bi S IC =a i . S MC +b i
В случае бипрогнозирования, IC-параметры оцениваются с использованием выборок двух опорных выборок CU, как проиллюстрировано на фиг. 8. Во-первых, IC-параметры (a, b) оцениваются между двумя опорными блоками, затем IC-параметры (ai, bi) i=0,1 между опорным и текущим блоками извлекаются следующим образом:In the case of bi-prediction, the IC parameters are estimated using samples from two reference CU samples, as illustrated in FIG. 8. Firstly, the IC parameters (a, b) are estimated between two reference blocks, then the IC parameters (ai, bi) i=0.1 between the reference and current blocks are extracted as follows:
где: Where:
Если CU-размер меньше или равен 8 по ширине или высоте, IC-параметры оцениваются с использованием однонаправленного процесса. Когда CU-размер превышает 8, выбор между использованием IC-параметров, извлекаемых из двунаправленного или однонаправленного процесса, осуществляется посредством выбора IC-параметров, которые минимизируют разность среднего IC-компенсированных опорных блоков. Двунаправленный оптический поток (BIO) активируется с помощью инструментального средства двунаправленной компенсации освещенности.If the CU dimension is less than or equal to 8 in width or height, the IC parameters are estimated using a unidirectional process. When the CU size is greater than 8, the choice between using IC parameters extracted from a bidirectional or unidirectional process is made by selecting IC parameters that minimize the difference in the average of the IC-compensated reference blocks. Bidirectional Optical Flow (BIO) is enabled using the Bidirectional Light Compensation tool.
Множество инструментальных средств, введенных выше, выбираются и используются посредством видеокодера 100 и должны получаться и использоваться посредством видеодекодера 200. С этой целью, информация, представляющая использование этих инструментальных средств, переносится в кодированном потоке битов, сформированном посредством видеокодера, и получается посредством видеодекодера 200 в форме высокоуровневой синтаксической информации. С этой целью, соответствующий синтаксис задается и описывается в дальнейшем в этом документе. Этот синтаксис, собирающий множество инструментальных средств, обеспечивает повышенную эффективность кодирования.The plurality of tools introduced above are selected and used by the
Эта синтаксическая структура использует синтаксическую HEVC-структуру в качестве основы и включает в себя некоторые дополнительные синтаксические элементы. Синтаксические элементы, сообщаемые в курсивном полужирном шрифте и выделенные серым цветом в следующих таблицах, соответствуют дополнительным синтаксическим элементам согласно примерному варианту осуществления. Следует отметить, что синтаксические элементы могут иметь формы или названия, отличающиеся от форм и названий, показанных в синтаксических таблицах, при одновременной обработке идентичных функций. Синтаксические элементы могут постоянно размещаться на различных уровнях, например, некоторые синтаксические элементы могут быть размещены в наборе параметров последовательности (SPS), и некоторые синтаксические элементы могут быть размещены в наборе параметров кадра (PPS).This syntax structure uses the HEVC syntax structure as a basis and includes some additional syntax elements. Syntactic elements reported in italic bold font and highlighted in gray in the following tables correspond to additional syntactic elements according to the exemplary embodiment. It should be noted that syntactic elements may have forms or names that differ from those shown in the syntax tables while simultaneously processing identical functions. Syntax elements may be permanently located at different levels, for example, some syntax elements may be located in a sequence parameter set (SPS), and some syntax elements may be located in a frame parameter set (PPS).
Нижеприведенная таблица 1 иллюстрирует набор параметров последовательности (SPS) и вводит новые синтаксические элементы, вставленные в этот набор параметров, согласно, по меньшей мере, одному примерному варианту осуществления, более точно: multi_type_tree_enabled_primary, log2_min_cu_size_minus2, log2_max_cu_size_minus4, log2_max_tu_size_minus2, sep_tree_mode_intra, multi_type_tree_enabled_secondary, sps_bdip_enabled_flag, sps_mrip_enabled_flag, use_erp_aqp_flag, use_high_perf_chroma_qp_table, abt_one_third_flag, sps_num_intra_mode_ratio. Table 1 below illustrates a sequence parameter set (SPS) and introduces new syntax elements inserted into this parameter set, according to at least one exemplary embodiment, more specifically: multi_type_tree_enabled_primary, log2_min_cu_size_minus2, log2_max_cu_size_minus4, log2_max_tu_size_minus2, sep_tree_mode_intra, multi_type _tree_enabled_secondary, sps_bdip_enabled_flag, sps_mrip_enabled_flag, use_erp_aqp_flag, use_high_perf_chroma_qp_table, abt_one_third_flag, sps_num_intra_mode_ratio.
- i<=sps_max_sub_layers_minus1; i++){for (i=(sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1)
- i<=sps_max_sub_layers_minus1; i++){
Таблица 1. Модифицированный набор параметров последовательностиTable 1. Modified set of sequence parameters
Новые синтаксические элементы задаются следующим образом:New syntax elements are specified as follows:
- use_high_perf_chroma_qp_table: Этот синтаксический элемент указывает QP-таблицу сигналов цветности, используемую для того извлекать QP, используемый при декодировании компонентов сигнала цветности, ассоциированных с серией последовательных макроблоков, в качестве функции базового QP сигналов цветности, ассоциированного с компонентами сигнала цветности рассматриваемой серии последовательных макроблоков.- use_high_perf_chroma_qp_table: This syntax element specifies a chroma QP table used to extract the QP used in decoding the chroma components associated with a run of macroblocks as a function of the underlying chroma QP associated with the chroma components of the run of slices in question.
- multi_type_tree_enabled_primary: Этот синтаксический элемент указывает тип сегментации, разрешенной в кодированных сериях последовательных макроблоков. По меньшей мере, в одной реализации, этот синтаксический элемент сигнализируется на уровне последовательности (в SPS) и в силу этого применяется ко всем кодированным сериям последовательных макроблоков, которые используют этот SPS. Например, первое значение этого синтаксического элемента обеспечивает возможность сегментации на дерево квадрантов и двоичное дерево (QTBT) (NO-SPLIT, QT-SPLIT, HOR и VER по фиг. 5), второе значение обеспечивает возможность сегментации на QTBT плюс троичное дерево (TT) (NO-SPLIT, QT-SPLIT, HOR, VER, HOR_TRIPLE и VER_TRIPLE по фиг. 5), третье значение обеспечивает возможность сегментации на QTBT плюс асимметричное двоичное дерево (ABT) (NO-SPLIT, QT-SPLIT, HOR, VER, HOR-UP, HOR_DOWN, VER_LEFT и VER_RIGHT по фиг. 5), четвертое значение обеспечивает возможность сегментации на QTBT плюс TT плюс ABT (все случаи разбиения по фиг. 5).- multi_type_tree_enabled_primary: This syntax element specifies the type of segmentation enabled in the encoded series of successive macroblocks. In at least one implementation, this syntax element is signaled at the sequence level (in the SPS) and thereby applies to all coded runs of consecutive macroblocks that use this SPS. For example, the first value of this syntax element allows segmentation into quadtree and binary tree (QTBT) (NO-SPLIT, QT-SPLIT, HOR and VER in Fig. 5), the second value allows segmentation into QTBT plus ternary tree (TT) (NO-SPLIT, QT-SPLIT, HOR, VER, HOR_TRIPLE and VER_TRIPLE from Fig. 5), the third value allows segmentation into QTBT plus asymmetric binary tree (ABT) (NO-SPLIT, QT-SPLIT, HOR, VER, HOR -UP, HOR_DOWN, VER_LEFT and VER_RIGHT of Fig. 5), the fourth value allows segmentation into QTBT plus TT plus ABT (all partitioning cases of Fig. 5).
- sep_tree_mode_intra: Этот синтаксический элемент указывает то, используется или нет отдельное дерево кодирования для блоков сигналов яркости и сигналов цветности. Когда sep_tree_mode_intra равен 1, блоки сигналов яркости и сигналов цветности используют независимые деревья кодирования, и в силу этого сегментация блоков сигналов яркости и сигналов цветности является независимой. По меньшей мере, в одной реализации, этот синтаксический элемент сигнализируется на уровне последовательности (в SPS) и в силу этого применяется ко всем кодированным сериям последовательных макроблоков, которые используют этот SPS.- sep_tree_mode_intra: This syntax element indicates whether or not a separate coding tree is used for luma and chroma blocks. When sep_tree_mode_intra is equal to 1, the luma and chrominance blocks use independent encoding trees, and therefore the segmentation of the luma and chrominance blocks is independent. In at least one implementation, this syntax element is signaled at the sequence level (in the SPS) and thereby applies to all coded runs of consecutive macroblocks that use this SPS.
- multi_type_tree_enabled_secondary: Этот синтаксический элемент указывает то, что тип сегментации разрешается для блоков сигналов цветности в кодированных сериях последовательных макроблоков. Значения, которые может принимать этот синтаксический элемент, типично являются идентичными значениям синтаксического элемента multi_type_tree_enabled_primary. По меньшей мере, в одной реализации, этот синтаксический элемент сигнализируется на уровне последовательности (в SPS) и в силу этого применяется ко всем кодированным сериям последовательных макроблоков, которые используют этот SPS.- multi_type_tree_enabled_secondary: This syntax element indicates that the segmentation type is enabled for chroma blocks in a coded series of consecutive macroblocks. The values that this syntax element can take are typically identical to the values of the multi_type_tree_enabled_primary syntax element. In at least one implementation, this syntax element is signaled at the sequence level (in the SPS) and thereby applies to all coded runs of consecutive macroblocks that use this SPS.
- sps_bdip_enabled_flag: Этот синтаксический элемент указывает то, что двунаправленное внутреннее прогнозирование, описанное в JVET-J0022, разрешается в кодированных сериях последовательных макроблоков, содержащихся в рассматриваемой кодированной видеопоследовательности.- sps_bdip_enabled_flag: This syntax element indicates that bidirectional intra prediction, as described in JVET-J0022, is enabled in the coded runs of consecutive macroblocks contained in the coded video sequence in question.
- sps_mrip_enabled_flag: Этот синтаксический элемент указывает то, что инструментальное средство множественного опорного внутреннего прогнозирования используется при декодировании кодированных серий последовательных макроблоков, содержащихся в рассматриваемом кодированном потоке видеобитов.- sps_mrip_enabled_flag: This syntax element indicates that the multiple reference intra prediction tool is used when decoding the coded runs of consecutive macroblocks contained in the coded video bitstream in question.
- use_erp_aqp_flag: Этот синтаксический элемент указывает то, активируется или нет пространственно адаптивное квантование для VR360 ERP-контента, как описано в JVET-J0022, в кодированных сериях последовательных макроблоков.- use_erp_aqp_flag: This syntax element indicates whether or not spatially adaptive quantization is enabled for VR360 ERP content, as described in JVET-J0022, in a coded series of consecutive macroblocks.
- abt_one_third_flag: Этот синтаксический элемент указывает то, активируется или нет асимметричная сегментация на два сегмента с горизонтальной или вертикальной размерностью, составляющей 1/3 и 2/3 либо 2/3 и 1/3, соответственно, от горизонтальной или вертикальной размерности начальной CU, в кодированных сериях последовательных макроблоков.- abt_one_third_flag: This syntax element indicates whether or not asymmetric segmentation into two segments with a horizontal or vertical dimension of 1/3 and 2/3 or 2/3 and 1/3, respectively, of the horizontal or vertical dimension of the initial CU is activated, in encoded series of successive macroblocks.
- sps_num_intra_mode_ratio: Этот синтаксический элемент указывает то, как извлекать число внутреннего прогнозирования, используемого для размеров блоков, равных кратному 3 по ширине или высоте.- sps_num_intra_mode_ratio: This syntax element specifies how to extract the internal prediction number used for block sizes equal to a multiple of 3 in width or height.
Помимо этого, следующие три синтаксических элемента используются для того, чтобы управлять размером единиц кодирования (CU) и единиц преобразования (TU). По меньшей мере, в одной реализации, эти синтаксические элементы сигнализируются на уровне последовательности (в SPS) и в силу этого применяются ко всем кодированным сериям последовательных макроблоков, которые используют этот SPS.In addition, the following three syntax elements are used to control the size of coding units (CU) and transformation units (TU). In at least one implementation, these syntax elements are signaled at the sequence level (in the SPS) and thereby apply to all coded runs of consecutive macroblocks that use that SPS.
- log2_min_cu_size_minus2 указывает минимальный CU-размер.- log2_min_cu_size_minus2 indicates the minimum CU size.
- log2_max_cu_size_minus4 указывает максимальный CU-размер.- log2_max_cu_size_minus4 indicates the maximum CU size.
- log2_max_tu_size_minus2 указывает максимальный TU-размер.- log2_max_tu_size_minus2 indicates the maximum TU size.
В варианте осуществления, новые синтаксические элементы, введенные выше, вводятся не в наборе параметров последовательности, а в наборе параметров кадра (PPS).In an embodiment, the new syntax elements introduced above are not introduced in a sequence parameter set, but in a frame parameter set (PPS).
Нижеприведенная таблица 2 иллюстрирует набор параметров последовательности (SPS) и вводит новые синтаксические элементы, вставленные в этот набор параметров, согласно, по меньшей мере, одному примерному варианту осуществления, более точно:Table 2 below illustrates a sequence parameter set (SPS) and introduces new syntax elements inserted into this parameter set, according to at least one exemplary embodiment, more specifically:
- slice_sao_size_id: Этот синтаксический элемент указывает размер блоков, для которых SAO применяется для кодированной серии последовательных макроблоков.- slice_sao_size_id: This syntax element specifies the size of blocks for which SAO is applied for a coded series of consecutive macroblocks.
- slice_bidir_ic_enable_flag: указывает то, активируется или нет двунаправленная компенсация освещенности для кодированной серии последовательных макроблоков.- slice_bidir_ic_enable_flag: Indicates whether or not bidirectional light compensation is enabled for a coded series of consecutive macroblocks.
(! collocated_from_l0_flag && num_ref_idx_l1_active_minus1>0))if((collocated_from_l0_flag &&num_ref_idx_l0_active_minus1>0) | |
(! collocated_from_l0_flag &&num_ref_idx_l1_active_minus1>0))
(weighted_bipred_flag && slice_type==B))if((weighted_pred_flag && slice_type==P) | |
(weighted_bipred_flag && slice_type==B))
(slice_sao_luma_flag || slice_sao_chroma_flag | |
! slice_deblocking_filter_disabled_flag))if(pps_loop_filter_across_slices_enabled_flag &&
(slice_sao_luma_flag || slice_sao_chroma_flag | |
! slice_deblocking_filter_disabled_flag))
Таблица 2. Заголовок серии последовательных макроблоковTable 2. Header of a series of consecutive macroblocks
Нижеприведенные таблицы 3, 4, 5, 6 иллюстрируют синтаксис дерева кодирования, модифицированный, чтобы поддерживать дополнительные режимы сегментации согласно, по меньшей мере, одному примерному варианту осуществления. В частности, синтаксис для обеспечения возможности асимметричной сегментации указывается в coding_binary_tree(). Новые синтаксические элементы вставляются в синтаксис дерева кодирования, более точно:Tables 3, 4, 5, 6 below illustrate coding tree syntax modified to support additional segmentation modes according to at least one exemplary embodiment. In particular, the syntax to enable asymmetric segmentation is specified in coding_binary_tree(). New syntax elements are inserted into the coding tree syntax, more precisely:
- asymmetricSplitFlag, который указывает то, разрешается или нет асимметричное двоичное разбиение для текущей CU, и- asymmetricSplitFlag, which indicates whether asymmetric binary splitting is enabled or not for the current CU, and
- asymmetric_type, который указывает тип асимметричного двоичного разбиения. Он может принимать два значения, чтобы обеспечивать возможность горизонтального разбиения вверх или вниз либо вертикального разбиения влево или вправо.- asymmetric_type, which specifies the type of asymmetric binary partition. It can take two values to allow horizontal splitting up or down, or vertical splitting left or right.
Помимо этого, параметр btSplitMode интерпретируется по-другому.Additionally, the btSplitMode parameter is interpreted differently.
Таблица 3. coding_tree_unitTable 3. coding_tree_unit
- y0+(1<<log2CbSize)<=pic_height_in_luma_samples &&
log2CbSize==MinCbLog2SizeY)if(x0+(1<<log2CbSize)<=pic_width_in_luma_samples &&
- y0+(1<<log2CbSize)<=pic_height_in_luma_samples &&
log2CbSize==MinCbLog2SizeY)
Таблица 4. coding_treeTable 4. coding_tree
Таблица 5. coding_binary_treeTable 5. coding_binary_tree
Таблица 6. bt_split_modeTable 6. bt_split_mode
Фиг. 9 иллюстрирует интерпретацию bt-split-flag согласно, по меньшей мере, одному примерному варианту осуществления. Два синтаксических элемента asymmetricSplitFlag и asymmetric_type используются для того, чтобы указывать значение параметра btSplitMode; btSplitMode указывает режим двоичного разбиения, который применяется к текущей CU; btSplitMode извлекается отлично от предшествующего уровня техники. В JEM, он может принимает значения HOR, VER. В улучшенном синтаксисе, помимо этого, он может принимать значения HOR_UP, HOR_DOWN, VER_LEFT, VER_RIGHT, согласно сегментации, как проиллюстрировано на фиг. 6.Fig. 9 illustrates the interpretation of bt-split-flag according to at least one exemplary embodiment. The two syntax elements asymmetricSplitFlag and asymmetric_type are used to specify the value of the btSplitMode parameter; btSplitMode specifies the binary split mode that is applied to the current CU; btSplitMode is extracted differently from the prior art. In JEM, it can accept values HOR, VER. In the improved syntax, in addition, it can take the values HOR_UP, HOR_DOWN, VER_LEFT, VER_RIGHT, according to the segmentation, as illustrated in FIG. 6.
Нижеприведенные таблицы 7, 8, 9 и 10 иллюстрируют синтаксические элементы единицы кодирования и вводят новый синтаксический элемент для режима двунаправленного внутреннего прогнозирования.Tables 7, 8, 9 and 10 below illustrate the syntax elements of a coding unit and introduce a new syntax element for the bidirectional intra prediction mode.
Таблица 7. coding_unitTable 7. coding_unit
Таблица 8. cu_data_mergeTable 8. cu_data_merge
Таблица 9. cu_data_intraTable 9. cu_data_intra
Таблица 10. cu_data_interTable 10. cu_data_inter
- cbf_cb[x0][y0] || cbf_cr[x0][y0])if(CuPredMode[x0][y0] !=MODE_INTRA | |
- cbf_cb[x0][y0] || cbf_cr[x0][y0])
Таблица 11. cu_residual_dataTable 11. cu_residual_data
Несколько из синтаксических элементов, поясненных в этом документе, задаются как массивы. Например, btSplitFlag задается как массив с размерностью 4, индексированный посредством горизонтальной и вертикальной позиций в кадре и посредством размеров по горизонтали и вертикали кодированного блока. Для упрощений системы обозначений, в семантическом описании синтаксических элементов, индексы не сохраняются (например, btSplitFlag[x0][y0][cbSizeX][cbSizeY] помечается просто как btSplitFlag).Several of the syntax elements explained in this document are specified as arrays. For example, btSplitFlag is specified as a 4-dimensional array indexed by the horizontal and vertical positions in the frame and by the horizontal and vertical dimensions of the encoded block. To simplify the notation, indices are not stored in the semantic description of syntactic elements (for example, btSplitFlag[x0][y0][cbSizeX][cbSizeY] is simply marked as btSplitFlag).
Фиг. 10 иллюстрирует блок-схему примера системы, в которой реализуются различные аспекты и варианты осуществления. Система 1000 может быть осуществлена в качестве устройства, включающего в себя различные компоненты, описанные ниже, и выполнена с возможностью выполнять один или более аспектов, описанных в данной заявке. Примеры таких устройств включают в себя, но не только, различные электронные устройства, такие как персональные компьютеры, переносные компьютеры, смартфоны, планшетные компьютеры, цифровые мультимедийные абонентские приставки, цифровые телевизионные приемники, персональные записывающие видеосистемы, соединенные бытовые приборы, кодеры, транскодеры и серверы. Элементы системы 1000, отдельно или в комбинации, могут быть осуществлены в одной интегральной схеме, в нескольких IC и/или в дискретных компонентах. Например, по меньшей мере, в одном варианте осуществления, элементы обработки и кодера/декодера системы 1000 распределяются по нескольким IC и/или дискретных компонентам. В различных вариантах осуществления, система 1000 функционально соединяется с другими аналогичными системами или с другими электронными устройствами, например, через шину связи или через выделенные порты ввода и/или вывода. В различных вариантах осуществления, система 1000 выполнена с возможностью реализовывать один или более аспектов, описанных в этом документе.Fig. 10 illustrates a block diagram of an example system in which various aspects and embodiments are implemented. The
Система 1000 включает в себя, по меньшей мере, один процессор 1010, выполненный с возможностью выполнять инструкции, загруженные в него, для реализации, например, различных аспектов, описанных в этом документе. Процессор 1010 может включать в себя встраиваемое запоминающее устройство, интерфейс ввода-вывода и различные другие схемы, как известно в данной области техники. Система 1000 включает в себя, по меньшей мере, одно запоминающее устройство 1020 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 1000 включает в себя устройство 1040 хранения данных, которое может включать в себя энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, в том числе, но не только, EEPROM, ROM, PROM, RAM, DRAM, SRAM, флэш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. Устройство 1040 хранения данных может включать в себя внутреннее устройство хранения данных, подключенное устройство хранения данных и/или сетевое доступное устройство хранения данных, в качестве неограничивающих примеров.
Система 1000 включает в себя сконфигурированный модуль 1030 кодера/декодера, например, выполненный с в возможностью обрабатывать данные, чтобы предоставлять кодированное видео или декодированное видео, и модуль 1030 кодера/декодера может включать в себя собственный процессор и запоминающее устройство. Модуль 1030 кодера/декодера представляет модуль(и), который может быть включен в устройство, чтобы выполнять функции кодирования и/или декодирования. Как известно, устройство может включать в себя один или оба из модулей кодирования и декодирования. Дополнительно, модуль 1030 кодера/декодера может реализовываться как отдельный элемент системы 1000 или может быть включен в процессор 1010 в качестве комбинации аппаратных средств и программного обеспечения, как известно специалистам в данной области техники.
Программный код, который должен загружаться в процессор 1010 или кодер/декодер 1030, чтобы выполнять различные аспекты, описанные в этом документе, может сохраняться на устройстве 1040 хранения данных и затем загружаться в запоминающее устройство 1020 для выполнения посредством процессора 1010. В соответствии с различными вариантами осуществления, одно или более из процессора 1010, запоминающего устройства 1020, устройства 1040 хранения данных и модуля 1030 кодера/декодера могут сохранять один или более различных элементов в ходе выполнения процессов, описанных в этом документе. Такие сохраненные элементы могут включать в себя, но не только, входное видео, декодированное видео или части декодированного видео, потока битов, матрицы, переменные и промежуточные или конечные результаты из обработки уравнений, формул, операций и оперативной логики.Program code that must be loaded into
В нескольких вариантах осуществления, запоминающее устройство в процессоре 1010 и/или модуле 1030 кодера/декодера используется для того, чтобы сохранять инструкции и предоставлять оперативное запоминающее устройство для обработки, которая требуется во время кодирования или декодирования. Тем не менее, в других вариантах осуществления, запоминающее устройство, внешнее для обрабатывающего устройства (например, обрабатывающее устройство может представлять собой либо процессор 1010, либо модуль 1030 кодера/декодера), используется для одной или более из этих функций. Внешнее запоминающее устройство может представлять собой запоминающее устройство 1020 и/или устройство 1040 хранения данных, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимую флэш-память. В нескольких вариантах осуществления, внешняя энергонезависимая флэш-память используется для того, чтобы сохранять операционную систему телевизионного приемника. По меньшей мере, в одном варианте осуществления, быстрое внешнее динамическое энергозависимое запоминающее устройство, такое как RAM, используется в качестве оперативного запоминающего устройства для операций кодирования и декодирования видео, к примеру, для MPEG-2, HEVC или VVC (стандарта универсального кодирования видео).In several embodiments, memory in
Ввод в элементы системы 1000 может предоставляться через различные устройства ввода, как указано в блоке 1130. Такие устройства ввода включают в себя, но не только(i) RF-часть, которая принимает RF-сигнал, передаваемый, например, по радиоинтерфейсу посредством широковещательного передающего устройства, (ii) композитный входной контактный вывод, (iii) входной контактный USB-вывод и/или (iv) входной контактный HDMI-вывод.Input to elements of the
В различных вариантах осуществления, устройства ввода блока 1130 имеют ассоциированные соответствующие элементы обработки ввода, как известно в данной области техники. Например, RF-часть может быть ассоциирована с элементами, необходимыми для (i) выбора требуемой частоты (также называемого "выбором сигнала" или "ограничением полосы частот сигнала полосой частот"), (ii) преобразования с понижением частоты выбранного сигнала, (iii) ограничения полосы частот снова до более узкой полосы частот, чтобы выбирать (например) полосу частоты сигнала, которая может упоминаться как канал в конкретных вариантах осуществления, (iv) демодуляции преобразованного с понижением частоты сигнала с ограниченной полосой частот, (v) выполнения коррекции ошибок и (vi) демультиплексирования, чтобы выбирать требуемый поток пакетов данных. RF-часть различных вариантов осуществления включает в себя один или более элементов для того, чтобы выполнять эти функции, например, модули выбора частоты, модули выбора сигналов, модули ограничения полосы частот, модули выбора каналов, фильтры, преобразователи с понижением частоты, демодуляторы, модули коррекции ошибок и демультиплексоры. RF-часть может включать в себя тюнер, который выполняет различные эти функции, включающие в себя, например, преобразование с понижением частоты принимаемого сигнала до более низкой частоты (например, до промежуточной частоты или до частоты практически в полосе модулирующих частот) либо до полосы модулирующих частот. В одном варианте осуществления абонентской приставки, RF-часть и ее ассоциированный элемент обработки ввода принимают RF-сигнал, передаваемый по проводной (например, по кабелю) среде и выполняет выбор частоты посредством фильтрации, преобразования с понижением частоты и фильтрации снова в требуемую полосу частот. Различные варианты осуществления перекомпонуют порядок вышеописанных (и других) элементов, удаляют некоторые из этих элементов и/или добавляют другие элементы, выполняющие аналогичные или различные функции. Добавление элементов может включать в себя вставку элементов между существующими элементами, такую как, например, вставка усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления, RF-часть включает в себя антенну.In various embodiments, the input devices of
Дополнительно, контактные USB- и/или HDMI-выводы могут включать в себя соответствующие интерфейсные процессоры для соединения системы 1000 с другими электронными устройствами через USB- и/или HDMI-соединения. Следует понимать, что различные аспекты обработки ввода, например, коррекция ошибок Рида-Соломона, могут реализовываться, например, в отдельной IC обработки ввода или в процессоре 1010 при необходимости. Аналогично, аспекты интерфейсной USB- или HDMI-обработки могут реализовываться в отдельных интерфейсных IC или в процессоре 1010 при необходимости. Демодулированный и демультиплексированный поток после коррекции ошибок предоставляется в различные обрабатывающие элементы, включающие в себя, например, процессор 1010 и кодер/декодер 1030, работающие в комбинации с запоминающими элементами и элементами хранения данных, чтобы обрабатывать поток данных при необходимости для представления на устройстве вывода.Additionally, the USB and/or HDMI pins may include associated interface processors for connecting the
Различные элементы системы 1000 могут предоставляться в интегрированном корпусе. В интегрированном корпусе, различные элементы могут взаимно соединяться и передавать данные между собой с использованием подходящей компоновки соединений, например, внутренней шины, как известно в данной области техники, включающей в себя I2C-шину, монтажные и печатные платы.Various elements of the
Система 1000 включает в себя интерфейс 1050 связи, который обеспечивает связь с другими устройствами через канал 1060 связи. Интерфейс 1050 связи может включать в себя, но не только, приемо-передающее устройство, выполненное с возможностью передавать и принимать данные по каналу 1060 связи. Интерфейс 1050 связи может включать в себя, но не только, модем или сетевую карту, и канал 1060 связи может реализовываться, например, в проводной и/или беспроводной среде.
Данные передаются в потоковом режиме в систему 1000, в различных вариантах осуществления, с использованием Wi-Fi-сети, такой как IEEE 802.11. Wi-Fi-сигнал этих вариантов осуществления принимается по каналу 1060 связи и интерфейсу 1050 связи, которые адаптируются к Wi-Fi-связи. Канал 1060 связи этих вариантов осуществления типично соединяется с точкой доступа или маршрутизатором, который предоставляет доступ к внешним сетям, включающим в себя Интернет для обеспечения возможности работы приложений потоковой передачи данных и другой связи поверх сетей. Другие варианты осуществления предоставляют передаваемые в потоковом режиме данные в систему 1000 с использованием абонентской приставки, которая доставляет данные по HDMI-соединению входного блока 1130. Еще другие варианты осуществления предоставляют передаваемые в потоковом режиме данные в систему 1000 с использованием RF-соединения входного блока 1130.The data is streamed to the
Система 1000 может предоставлять выходной сигнал в различные устройства вывода, включающие в себя дисплей 1100, динамики 1110 и другие периферийные устройства 1120. Другие периферийные устройства 1120 включают в себя, в различных примерах вариантов осуществления, одно или более из автономного DVR, проигрывателя дисков, стереосистемы, системы освещения и других устройств, которые предоставляют функцию на основе вывода системы 1000. В различных вариантах осуществления, управляющие сигналы передаются между системой 1000 и дисплеем 1100, динамиками 1110 или другими периферийными устройствами 1120 с использованием сигнализации, такой как AV.Link, CEC или другие протоколы связи, которые обеспечивают управление между устройствами с или без вмешательства пользователя. Устройства вывода могут функционально соединяться с системой 1000 через выделенные соединения через соответствующие интерфейсы 1070, 1080 и 1090. Альтернативно, устройства вывода могут соединяться с системой 1000 с использованием канала 1060 связи через интерфейс 1050 связи. Дисплей 1100 и динамики 1110 могут интегрироваться в одном модуле с другими компонентами системы 1000 в электронном устройстве, таком как, например, телевизионный приемник. В различных вариантах осуществления, интерфейс 1070 отображения включает в себя драйвер дисплея, такой как, например, микросхема контроллера синхронизации (T Con).
Дисплей 1100 и динамик 1110 альтернативно могут быть отдельными от одного или более других компонентов, например, если RF-часть ввода 1130 представляет собой часть отдельной абонентской приставки. В различных вариантах осуществления, в которых дисплей 1100 и динамики 1110 представляют собой внешние компоненты, выходной сигнал может предоставляться через выделенные выходные соединения, включающие в себя, например, HDMI-порты, USB-порты или COMP-выводы. Реализации, описанные в данном документе, могут осуществляться, например, в способе или процессе, оборудовании, программно-реализованной программе, потоке данных или сигнале. Даже если поясняется только в контексте одной формы реализации (например, поясняется только как способ), реализация поясненных признаков также может осуществляться в других формах (например, как устройство или программа). Оборудование может реализовываться, например, в соответствующих аппаратных средствах, программном обеспечении и микропрограммном обеспечении. Способы могут реализовываться, например, в таком оборудовании, как, например, процессор, который означает устройства обработки в целом, включающие в себя, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые устройства (PDA) и другие устройства, которые упрощают обмен информацией между конечными пользователями.The
Фиг. 11 иллюстрирует блок-схему последовательности операций примера способа кодирования согласно варианту осуществления с использованием новых инструментальных средств кодирования. Такой способ кодирования может осуществляться посредством системы 1000, описанной на фиг. 10, и более точно, может реализовываться посредством процессора 1010. По меньшей мере, в одном варианте осуществления, на этапе 1190, процессор 1010 выбирает инструментальные средства кодирования, которые должны использоваться. Выбор может осуществляться с использованием различных технологий. Выбор может осуществляться пользователем через конфигурационный параметр кодирования (типично флаг), который указывает инструментальные средства, которые должны использоваться (а также соответствующие параметры при необходимости) во время процессов кодирования и декодирования. В примерном варианте осуществления, выбор осуществляется посредством задания значения для значения в файле, причем флаг считывается посредством устройства кодирования, которое интерпретирует значение флага, чтобы выбирать то, какое инструментальное средство следует использовать. В примерном варианте осуществления, выбор осуществляется посредством выполняемой вручную операции выбора, пользователем, конфигурационных параметров кодирования с использованием графического пользовательского интерфейса, который обрабатывает устройство кодера. После того как этот выбор осуществляется, кодирование выполняется на этапе 1193 с использованием выбранного инструментального средства из числа других инструментальных средств кодирования, и выбор инструментальных средств сигнализируется в высокоуровневых синтаксических элементах (например, в следующем SPS, PPS или даже заголовке серии последовательных макроблоков).Fig. 11 illustrates a flowchart of an example encoding method according to an embodiment using the new encoding tools. This encoding method may be accomplished by the
Фиг. 12 иллюстрирует блок-схему последовательности операций примера части способа декодирования согласно варианту осуществления с использованием новых инструментальных средств кодирования. Такой способ декодирования может осуществляться посредством системы 1000, описанной на фиг. 10, и более точно, может реализовываться посредством процессора 1010. По меньшей мере, в одном варианте осуществления, на этапе 1200, процессор 1010 осуществляет доступ к сигналу (например, принимаемому в интерфейсе ввода или считываемому из средства поддержки мультимедийной среды), извлекает и анализирует высокоуровневые синтаксические элементы, чтобы определять инструментальные средства, которые выбраны в устройстве кодирования. На этапе 1210, эти инструментальные средства используются для того, чтобы выполнять декодирование и формировать декодированное изображение, которое, например, может предоставляться в устройство или отображаться на устройстве.Fig. 12 illustrates a flowchart of an example portion of a decoding method according to an embodiment using the new encoding tools. Such a decoding method may be performed by the
Ссылка на "один вариант осуществления" или "вариант осуществления" либо "одну реализацию" или "реализацию", а также другие их разновидности означает то, что конкретный признак, структура, характеристика, и т.д., описанная в связи с вариантом осуществления, включается, по меньшей мере, в один вариант осуществления. Таким образом, вхождения фразы "в одном варианте осуществления" или "в варианте осуществления" либо "в одной реализации" или "в реализации", а также всех их разновидностей, появляющиеся в различных местах в подробном описании, не обязательно ссылаются на тот же самый вариант осуществления.Reference to “one embodiment” or “embodiment” or “one implementation” or “implementation”, as well as other variations thereof, means that the particular feature, structure, characteristic, etc. described in connection with the embodiment , is included in at least one embodiment. Thus, occurrences of the phrase "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation", and all variations thereof, appearing at various places in the detailed description do not necessarily refer to the same embodiment.
Дополнительно, эта заявка или ее формула изобретения может ссылаться на "определение" различных фрагментов информации. Определение информации может включать в себя, например, одно или более из оценки информации, вычисления информации, прогнозирования информации или извлечения информации из запоминающего устройства.Additionally, this application or its claims may refer to "definition" of various pieces of information. Determining information may include, for example, one or more of evaluating information, calculating information, predicting information, or retrieving information from a storage device.
Дополнительно, эта заявка или ее формула изобретения может ссылаться на "осуществление доступа" к различным фрагментам информации. Осуществление доступа к информации может включать в себя, например, одно или более из приема информации, извлечения информации (например, из запоминающего устройства), сохранения информации, перемещения информации, копирования информации, вычисления информации, прогнозирования информации или оценки информации.Additionally, this application or its claims may refer to “accessing” various pieces of information. Accessing information may include, for example, one or more of receiving information, retrieving information (eg, from a storage device), storing information, moving information, copying information, calculating information, predicting information, or evaluating information.
Дополнительно, эта заявка или ее формула изобретения может ссылаться на "прием" различных фрагментов информации. Прием, аналогично "осуществлению доступа", должен быть общим термином. Прием информации может включать в себя, например, одно или более из осуществления доступа к информации или извлечения информации (например, из запоминающего устройства или оптического мультимедийного устройства хранения данных). Дополнительно, "прием" типично предусмотрен, так или иначе, в ходе таких операций, как, например, сохранение информации, обработка информации, передача информации, перемещение информации, копирование информации, стирание информации, вычисление информации, определение информации, прогнозирование информации или оценка информации.Additionally, this application or its claims may refer to “receiving” various pieces of information. Receiving, like "accessing", should be a general term. Receiving information may include, for example, one or more of accessing or retrieving information (eg, from a memory device or an optical multimedia storage device). Additionally, "receiving" is typically provided in one way or another during operations such as, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or evaluating information. .
Следует принимать во внимание, что использование любого из следующих "/", "и/или" и "по меньшей мере, одно из", например, в случаях "A/B", "A и/или B" и "по меньшей мере, одно из A и B" имеет намерение охватывать выбор только первого перечисленного варианта (A) или выбор только второго перечисленного варианта (B), или выбор обоих вариантов (A и B). В качестве дополнительного примера, в случаях "A, B и/или C" и "по меньшей мере, одно из A, B и C", такая формулировка имеет намерение охватывать выбор только первого перечисленного варианта (A) или выбор только второго перечисленного варианта (B), или выбор только третьего перечисленного варианта (C), или выбор только первого и второго перечисленных вариантов (A и B), или выбор только первого и третьего перечисленных вариантов (A и C), или выбор только второго и третьего перечисленных вариантов (B и C), или выбор всех трех вариантов (A и B, и C). Это может распространяться, как очевидно для специалистов в данной области техники, на все перечисленные элементы.It should be appreciated that the use of any of the following "/", "and/or" and "at least one of", for example, in the cases of "A/B", "A and/or B" and "at least At least one of "A and B" is intended to cover the choice of only the first listed option (A), or the choice of only the second listed option (B), or the choice of both options (A and B). As a further example, in the cases of "A, B and/or C" and "at least one of A, B and C", such language is intended to cover the selection of only the first listed option (A) or the selection of only the second listed option (B), or selecting only the third listed option (C), or selecting only the first and second listed options (A and B), or selecting only the first and third listed options (A and C), or selecting only the second and third listed options (B and C), or select all three options (A and B, and C). This may extend, as will be apparent to those skilled in the art, to all of the elements listed.
Специалистам данной области техники должно быть очевидным, что реализации также могут формировать множество сигналов, отформатированных с возможностью переносить информацию, которая, например, может сохраняться или передаваться. Информация может включать в себя, например, инструкции для осуществления способа или данные, сформированные посредством одной из описанных реализаций. Например, сигнал может иметь такой формат, чтобы переносить поток битов описанного варианта осуществления. Этот сигнал, например, может форматироваться как электромагнитная волна (к примеру, с использованием радиочастотного участка спектра) или как сигнал в полосе модулирующих частот. Форматирование может включать в себя, например, кодирование потока данных и модуляцию несущей с кодированным потоком данных. Информация, которую переносит сигнал, например, может представлять собой аналоговую или цифровую информацию. Как известно, сигнал может передаваться по множеству различных линий проводной или беспроводной связи. Сигнал может сохраняться на машиночитаемом носителе.It will be apparent to those skilled in the art that implementations may also generate a plurality of signals formatted to carry information that, for example, may be stored or transmitted. The information may include, for example, instructions for implementing a method or data generated by one of the described implementations. For example, the signal may be formatted to carry the bitstream of the described embodiment. This signal, for example, may be formatted as an electromagnetic wave (eg, using the radio frequency portion of the spectrum) or as a baseband signal. Formatting may include, for example, encoding the data stream and modulating a carrier with the encoded data stream. The information that the signal carries, for example, may be analog or digital information. As you know, a signal can be transmitted over many different wired or wireless communication lines. The signal may be stored on a computer readable medium.
В разновидности первого, второго, третьего, четвертого, пятого, шестого, седьмого и восьмого аспекта, по меньшей мере, варианта осуществления, параметр, представляющий тип сегментации, содержит первое значение для сегментации на дерево квадрантов и двоичное дерево, второе значение для сегментации на дерево квадрантов и двоичное дерево плюс сегментации на троичное дерево, третье значение для сегментации на дерево квадрантов и двоичное дерево плюс сегментации на асимметричное двоичное дерево и четвертое значение для сегментации на дерево квадрантов и двоичное дерево плюс сегментации на троичное дерево плюс сегментации на асимметричное двоичное дерево.In a variation of the first, second, third, fourth, fifth, sixth, seventh and eighth aspect of at least an embodiment, a parameter representing a segmentation type comprises a first value for quadtree and binary tree segmentation, a second value for tree segmentation quadtree and binary tree plus ternary tree segmentations, a third value for quadtree and binary tree segmentations plus asymmetric binary tree segmentations, and a fourth value for quadtree and binary tree segmentations plus ternary tree segmentations plus asymmetric binary tree segmentations.
В разновидности первого, второго, третьего, четвертого, пятого, шестого, седьмого и восьмого аспекта, по меньшей мере, одного варианта осуществления, упомянутые параметры дополнительно содержат размер блоков, для которых дискретизированное адаптивное смещение применяется для кодированной серии последовательных макроблоков.In a variation of the first, second, third, fourth, fifth, sixth, seventh and eighth aspect of at least one embodiment, said parameters further comprise a block size for which a sampled adaptive offset is applied to the encoded series of successive macroblocks.
В разновидности первого, второго, третьего, четвертого, пятого, шестого, седьмого и восьмого аспекта, по меньшей мере, одного варианта осуществления, тип режима внутреннего прогнозирования содержит, по меньшей мере, один из режима внутреннего бипрогнозирования и режима множественного опорного внутреннего прогнозирования.In a variation of the first, second, third, fourth, fifth, sixth, seventh and eighth aspect of at least one embodiment, the intra prediction mode type comprises at least one of an intra bi prediction mode and a multiple reference intra prediction mode.
Claims (18)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18305693.6 | 2018-06-07 | ||
EP18305849.4 | 2018-07-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2020143949A RU2020143949A (en) | 2022-07-11 |
RU2802368C2 true RU2802368C2 (en) | 2023-08-28 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2575986C2 (en) * | 2011-08-01 | 2016-02-27 | Квэлкомм Инкорпорейтед | Coding parameter sets for various dimensions in video coding |
WO2016074567A1 (en) * | 2014-11-11 | 2016-05-19 | Mediatek Singapore Pte. Ltd | Method of video coding using separate coding tree for luma and chroma |
WO2017123980A1 (en) * | 2016-01-15 | 2017-07-20 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
RU2636692C2 (en) * | 2012-03-16 | 2017-11-27 | Квэлкомм Инкорпорейтед | High-level syntactic expansions for high-efficient video coding |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2575986C2 (en) * | 2011-08-01 | 2016-02-27 | Квэлкомм Инкорпорейтед | Coding parameter sets for various dimensions in video coding |
RU2636692C2 (en) * | 2012-03-16 | 2017-11-27 | Квэлкомм Инкорпорейтед | High-level syntactic expansions for high-efficient video coding |
WO2016074567A1 (en) * | 2014-11-11 | 2016-05-19 | Mediatek Singapore Pte. Ltd | Method of video coding using separate coding tree for luma and chroma |
WO2017123980A1 (en) * | 2016-01-15 | 2017-07-20 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9253495B2 (en) | Methods and apparatus for improved chroma transforms for inter frames in video encoding and decoding | |
US11956473B2 (en) | Managing coding tools combinations and restrictions | |
US20220141493A1 (en) | Syntax elements for video encoding or decoding | |
CN113228650A (en) | Quantization of video encoding or decoding based on block-based surfaces | |
CN112889287A (en) | Generalized bi-directional prediction and weighted prediction | |
CN114208178A (en) | Quadratic transforms for video encoding and decoding | |
US20240048750A1 (en) | Encoder and bitstream for efficient coding of global motion vectors | |
TW202118300A (en) | Homogeneous syntax | |
CN112771874A (en) | Method and apparatus for picture coding and decoding | |
CN111937383B (en) | Chroma quantization parameter adjustment in video encoding and decoding | |
CN113508599A (en) | Syntax for motion information signaling in video coding | |
RU2802368C2 (en) | Syntax elements for video coding or decoding | |
US20220312041A1 (en) | Method and apparatus for signaling decoding data using high level syntax elements | |
US20210385471A1 (en) | Parameter grouping among plural coding units for video encoding and decoding | |
KR20220024835A (en) | Method and apparatus for coding/decoding picture data | |
EP3591969A1 (en) | Syntax elements for video encoding or decoding | |
WO2024007695A1 (en) | Encoding/decoding video picture data | |
US20210344962A1 (en) | Method and apparatus for video encoding and decoding with signaling of coding type or coding tree type | |
EP4070547A1 (en) | Scaling process for joint chroma coded blocks | |
CN114073093A (en) | Signaling of merging indices for triangle partitioning | |
CN113170153A (en) | Initializing current picture reference block vectors based on binary trees | |
CN117501692A (en) | Template matching prediction for video encoding and decoding |