Способ и устройство для построения списка векторов движения для предсказания векторов движения

Настоящее изобретение относится к области кодирования видео. Технический результат - повышение эффективности сжатия при кодировании за счет возможности параллельной обработки, по меньшей мере, двух единиц предсказания в одной и той же единице кодирования. Способ построения списка векторов движения для предсказания векторов движения содержит: получение соседних в пространстве блоков относительно текущего блока предсказания, причем текущий блок предсказания расположен внутри текущей единицы кодирования; определение доступных соседних блоков относительно текущего блока предсказания в соответствии с типом разделения текущей единицы кодирования, причем доступные соседние блоки расположены за пределами текущей единицы кодирования; получение предикторов векторов движения из доступных соседних блоков в предварительно заданной последовательности в соответствии с предикторами векторов движения доступных соседних блоков и добавление получаемых предикторов векторов движения в список векторов движения. 2 н. и 14 з.п. ф-лы, 10 ил.

 

[0001]

ОБЛАСТЬ ТЕХНИКИ

[0002] Настоящее изобретение относится к области кодирования видео и, в частности, к способу и устройству для построения списка векторов движения для предсказания векторов движения.

УРОВЕНЬ ТЕХНИКИ

[0003] Технология межкадрового предсказания в HEVC (High Efficiency Video Coding, стандарт высокоэффективного кодирования видео) заимствовала стандартный способ MCP (Motion Compensated Prediction, предсказание с компенсацией движения). Для предсказания векторов движения в HEVC заимствован способ конкуренции множества векторов движения, который повышает точность предсказания векторов движения, тем самым повышая эффективность сжатия при кодировании.

[0004] Режим межкадрового предсказания HEVC может включать, но не ограничиваясь этим, режим объединения (merge mode), режим пропуска (skip mode) и так далее, в них во всех используют конкуренцию множества векторов движения для того, чтобы осуществлять межкадровое предсказание. Список векторов движения используют, когда осуществляют предсказание векторов движения. Для режима объединения и режима пропуска допустимо, что список векторов движения содержит предикторы четырех наибольших пространственных векторов движения и один временной предиктор вектора движения, причем режим объединения и режим пропуска совместно используют один список векторов движения. Кодировщик выбирает наилучший предиктор вектора движения из списка векторов движения в качестве предиктора вектора движения текущей PU (Prediction Unit, единица предсказания (которую можно далее в настоящем документе называть блоком предсказания)).

[0005] Способ построения списка векторов движения может включать:

[0006] Как показано на фиг. 1, соседние в пространстве блоки текущего PU могут включать: соседний блок A0 (нижний левый опорный блок, соответствующий нижнему левому угловому положению текущей PU), соседний блок A1 (левый опорный блок, соответствующий нижнему левому угловому положению текущей PU), соседний блок B0 (верхний правый опорный блок, соответствующий верхнему правому угловому положению текущей PU), соседний блок B1 (верхний опорный блок, соответствующий верхнему правому угловому положению текущей PU) и соседний блок B2 (верхний левый опорный блок, соответствующий верхнему левому положению текущей PU). TMVP (Temporal Motion Vector predictor, временной предиктор вектора движения) представляет собой предиктор вектора движения, соответствующий текущей PU во временной области.

[0007] Сначала предикторы векторов движения последовательно получают из соседних блоков и TMVP в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0, соседнего блока B2 и TMVP. Затем получаемые предикторы векторов движения добавляют в список векторов движения согласно правилу в HEVC. Конкретный способ построения списка векторов движения представляют собой технологию, хорошо известную специалистам в данной области, так что подробности не будут снова изложены в настоящем документе.

[0008] Кроме того, текущая CU (Coding Unit, единица кодирования (которую можно далее в настоящем документе называть единицей кодирования)) может включать по меньшей мере две PU, а списки векторов движения по меньшей мере двух PU строят по порядку.

[0009] Во время реализации упомянутого выше способа построения списка векторов движения обнаружено, что в известном уровне техники имеет место по меньшей мере следующая проблема: если текущая CU содержит по меньшей мере две PU, а списков векторов движения из по меньшей мере двух PU строят по порядку, скорость построения списков векторов движения из по меньшей мере двух PU в одной и той же CU является низкой, тем самым снижая возможность параллельной обработки.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩЕСТВА ИЗОБРЕТЕНИЯ

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

[0011] Для того чтобы решить упомянутую выше задачу, следующие технические решения использованы в вариантах осуществления настоящего изобретения.

[0012] В одном из аспектов предусмотрен способ построения списка векторов движения для предсказания векторов движения, который включает в себя:

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

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

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

[0013] В другом аспекте предоставлено устройство для построения списка векторов движения для предсказания векторов движения, который содержит:

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

[0016] На фиг. 1 представлена схематическая структурная диаграмма единицы кодирования CU, PU и соседних блоков согласно одному из вариантов осуществления.

[0017] На фиг. 2a-2g представлены схематические структурные диаграммы единицы кодирования CU с различными типами разделения согласно одному из вариантов осуществления.

[0018] На фиг. 3 представлена блок-схема способа построения списка векторов движения для предсказания векторов движения согласно одному из вариантов осуществления; и

[0019] на фиг. 4 представлена схематическая структурная диаграмма устройства для построения списка векторов движения для предсказания векторов движения согласно одному из вариантов осуществления.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0020] Далее ясно и в полной мере описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопроводительные чертежи в вариантах осуществления настоящего изобретения. Очевидно, описанные варианты осуществления представляют собой лишь часть, а не все варианты осуществления настоящего изобретения. Все другие варианты осуществления, которые получит специалист в данной области, основываясь на вариантах осуществления настоящего изобретения, без творческих усилий входят в объем защиты настоящего изобретения.

[0021] В известном уровне техники CU может содержать по меньшей мере две PU, а списки векторов движения по меньшей мере двух PU строят по порядку. То есть после построения списка векторов движения строят для текущей PU, начинают строить список векторов движения для следующей PU.

[0022] Конкретный способ может включать:

[0023] Как показано на фиг. 2a-2g, CU (сплошная рамка на чертежах) дополнительно можно разделять на множество PU. В HEVC CU может иметь семь типов разделения (partition). Например, в типах разделения, представленных на фиг. 2a-2c, текущая CU разделена на две PU (PU1 и PU2) на левой и правой сторонах. В качестве другого примера в типе разделения, представленном на фиг. 2d, текущая CU разделена на четыре PU (PU1, PU2, PU3 и PU4), а другие типы не описаны в настоящем документе.

[0024] Взяв разделение, представленное на фиг. 2a, в качестве примера, поскольку пространственный опорный блок A1 для PU2 расположен внутри PU1, список векторов движения в PU2 можно начинать строить только после завершения кодирования PU1, причем списки векторов движения в PU1 и PU2 строят по порядку. В частности, список векторов движения в PU1 сначала строят согласно приведенному выше способу, а затем список векторов движения в PU2 строят согласно приведенному выше способу.

[0025] Таким образом, скорость построения списков векторов движения по меньшей мере двух PU является низкой и происходит снижение эффективности сжатия при кодировании.

[0026] Для того чтобы решить изложенную выше проблему, связанную с тем, что скорость построения списков векторов движения по меньшей мере двух PU является низкой и происходит снижение эффективности сжатия при кодировании, способ построения списка векторов движения для предсказания векторов движения предусмотрен в одном из вариантов осуществления. Как показано на фиг. 3, способ может включать:

[0027] 301: Получить соседние в пространстве блоки относительно текущего блока предсказания, причем текущий блок предсказания расположен внутри текущей единицы кодирования.

[0028] 302: Определить доступные соседние блоки относительно текущего блока предсказания в соответствии с типом разделения текущей единицы кодирования, причем доступные соседние блоки расположены за пределами текущей единицы кодирования.

[0029] 303: Получить предикторы векторов движения из доступных соседних блоков в предварительно заданной последовательности в соответствии с предикторами векторов движения доступных соседних блоков и добавить получаемые предикторы векторов движения в список векторов движения.

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

[0031] Другой способ построения списка векторов движения для предсказания векторов движения предоставлен в одном из вариантов осуществления, и способ представляет собой дальнейшее расширение способа, представленного на фиг. 3. Как показано на фиг. 3, способ может включать:

[0032] 301: Получить соседние в пространстве блоки относительно текущего блока предсказания, причем текущий блок предсказания расположен внутри текущей единицы кодирования.

[0033] Как показано на фиг. 1, соседние в пространстве блоки относительно блока предсказания могут содержать: соседний блок A0, расположенный на нижней левой стороне относительно блока предсказания, соседний блок A1, расположенный на левой стороне относительно блока предсказания, соседний блок B0 на верхней правой стороне относительно блока предсказания, соседний блок B1 на верхней стороне относительно блока предсказания, и соседний блок B2 на верхней левой стороне относительно блока предсказания.

[0034] Способ получения соседних в пространстве блоков относительно блока предсказания, блока предсказания и соседних блоков не ограничен в этом варианте осуществления, и технология хорошо известна специалисту в данной области, так что подробности не описаны еще раз в настоящем документе.

[0035] 302: Определить доступные соседние блоки относительно текущего блока предсказания в соответствии с типом разделения текущей единицы кодирования, причем доступные соседние блоки расположены за пределами текущей единицы кодирования.

[0036] Кроме того, как показано на фиг. 2e-2g, если текущая единица кодирования CU разделена на первый блок предсказания PU1 и второй блок предсказания PU2 на верхней и нижней сторонах, и текущий блок предсказания представляет собой второй блок предсказания PU2, доступные соседние блоки относительно PU2 включают: соседний блок A0, соседний блок A1, соседний блок B0 и соседний блок B2 относительно второго блока предсказания. В этот момент соседний блок В1 расположен внутри текущей единицы кодирования CU и не действует в качестве доступного соседнего блока относительно второго блока предсказания PU2.

[0037] Как показано на фиг. 2a-2c, если текущая единица кодирования CU разделена на первый блок предсказания PU1 и второй блок предсказания PU2 на левой и правой сторонах, и текущий блок предсказания представляет собой второй блок предсказания PU2, доступные соседние блоки PU2 включают: соседний блок A0, соседний блок B0, соседний блок B1 и соседний блок B2 относительно второго блока предсказания PU2. В этот момент соседний блок A1 расположен внутри текущей единицы кодирования CU и не действует в качестве доступного соседнего блока относительно второго блока предсказания PU2.

[0038] Кроме того, доступные соседние блоки можно определять посредством использования флаговых битов соседних блоков. Флаговые биты можно, но без ограничения, использовать для того, чтобы идентифицировать, что соседние блоки не расположены внутри CU.

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

[0040] 303: Получить предикторы векторов движения из доступных соседних блоков в предварительно заданной последовательности в соответствии с предикторами векторов движения доступных соседних блоков и добавить получаемые предикторы векторов движения в список векторов движения.

[0041] Кроме того, получение предикторов векторов движения из доступных соседних блоков в предварительно заданной последовательности может включать:

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

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

[0043] В частности, если доступные соседние блоки относительно блока предсказания включают: соседний блок A0, соседний блок A1, соседний блок B0 и соседний блок B2 относительно второго блока предсказания, предикторы векторов движения получают из соседнего блока A0, соседнего блока A1, соседнего блока B0 и соседнего блока B2 в последовательности из соседнего блока A0, соседнего блока A1, соседнего блока B0 и соседнего блока B2. Ввиду приведенного выше, когда текущая CU разделена на первый и второй блоки предсказания на верхней и нижней сторонах, доступные соседние блоки относительно второго блока предсказания не включают соседний блок B1, расположенный внутри первого блока предсказания. Следовательно, предиктор вектора движения из B1 не получают.

[0044] Если доступные соседние блоки относительно блока предсказания включают: соседний блок A0, соседний блок B0, соседний блок B1 и соседний блок B2 относительно второго блока предсказания PU2, предикторы векторов движения получают из соседнего блока A0, соседнего блока B0, соседнего блока B1 и соседнего блока B2 в последовательности из соседнего блока A0, соседнего блока B0, соседнего блока B1 и соседнего блока B2. Ввиду приведенного выше, когда текущая CU разделена на первый и второй блоки предсказания на левой и правой сторонах, доступные соседние блоки относительно второго блока предсказания не включают соседний блок A1, расположенный внутри первого блока предсказания. Следовательно, предиктор вектора движения из A1 не получают.

[0045] Кроме того, если получаемый предиктор вектора движения представляет собой предиктор вектора движения текущего доступного соседнего блока, добавление получаемых предикторов векторов движения в список векторов движения включает:

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

[0046] Ввиду приведенного выше, во время приведенного выше способа, поскольку доступные соседние блоки не включают соседний блок, расположенный внутри текущей CU, множество PU из CU не имеют зависимости и их можно исполнять параллельно. Например, когда текущая CU разделена на первый и второй блоки предсказания на левой и правой сторонах, доступные соседние блоки относительно второго блока предсказания не включают соседний блок A1, расположенный внутри первого блока предсказания, и предиктор вектора движения A1 не вовлечен в процесс определения. Следовательно, для второго блока предсказания и первого блока предсказания способ можно исполнять параллельно.

[0047] В частности, в качестве типа реализации варианта осуществления, если текущий доступный соседний блок представляет собой соседний блок B1, то определяют, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1;

если текущий доступный соседний блок представляет собой соседний блок B0, то определяют, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока B1;

если текущий доступный соседний блок представляет собой соседний блок A0, то определяют, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1; и

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

[0048] Кроме того, если получаемый предиктор вектора движения представляет собой предиктор вектора движения текущего доступного соседнего блока, то добавление получаемых предикторов векторов движения в список векторов движения дополнительно может включать:

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

[0049] В частности, в качестве типа реализации варианта осуществления, если текущий доступный соседний блок представляет собой соседний блок В1, то определяют, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения;

если текущий доступный соседний блок представляет собой соседний блок B0, то определяют, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока B1, который добавлен в список векторов движения;

если текущий доступный соседний блок представляет собой соседний блок A0, то определяют, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения; и

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

[0050] Кроме того, TMVP дополнительно можно принимать во внимание во время построения списка векторов движения.

[0051] В качестве типа реализации варианта осуществления получение предикторов векторов движения из доступных соседних блоков в предварительно заданной последовательности дополнительно может представлять собой: получение предикторов векторов движения из доступных соседних блоков и/или TMVP в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0, соседнего блока B2 и TMVP.

[0052] Для того чтобы описать решение по настоящему изобретению более ясно, способ построения списка векторов движения для CU с различными типами разделения конкретно описаны ниже.

[0053] 1. CU разделена на PU1 и PU2 на левой и правой сторонах

[0054] (1) Строить список векторов движения PU1

[0055] 1) Получать предикторы векторов движения из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 и добавлять их в список векторов движения.

[0056] a. Когда текущий соседний блок представляет собой соседний блок A1 и только когда соседний блок A1 содержит предиктор вектора движения, добавлять предиктор вектора движения соседнего блока A1 в список векторов движения;

b. Когда текущий соседний блок представляет собой соседний блок B1 и только когда соседний блок B1 содержит предиктор вектора движения, и предиктор отличается от предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B1 в список векторов движения;

c. Когда текущий соседний блок представляет собой соседний блок B0 и только когда соседний блок B0 содержит предиктор вектора движения, и предиктор отличается от предиктора вектора движения соседнего блока B1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B0 в список векторов движения;

d. Когда текущий соседний блок представляет собой соседний блок A0 и только когда соседний блок A0 содержит предиктор вектора движения, и предиктор отличается от предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока A0 в список векторов движения; и

e. Когда текущий соседний блок представляет собой соседний блок B2 и только когда соседний блок B2 содержит предиктор вектора движения, предиктор отличается как от предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, так и от предиктора вектора движения соседнего блока B1, который добавлен в список векторов движения, и предиктор вектора движения по меньшей мере одного из соседнего блока A1, соседнего блока B1, соседнего блока B0 и соседнего блока A0 не добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B2 в список векторов движения.

[0057] 2) Получать TMVP и добавлять его в список векторов движения. В частности, TMVP для PU1 получают посредством использования временного опорного изображения PU1, и если TMVP для PU1 доступен, TMVP добавляют в список векторов движения.

[0058] (2) Строить список векторов движения PU2

[0059] 1) Получать предикторы векторов движения из соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 в последовательности из соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 и добавлять их в список векторов движения.

[0060] a. Когда текущий соседний блок представляет собой соседний блок B1 и только когда соседний блок B1 содержит предиктор вектора движения, добавлять предиктор вектора движения соседнего блока B1 в список векторов движения;

b. Когда текущий соседний блок представляет собой соседний блок B0 и только когда соседний блок B0 содержит предиктор вектора движения и значение предсказания отличается от предиктора вектора движения соседнего блока В1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B0 в список векторов движения;

c. Когда текущий соседний блок представляет собой соседний блок A0 и только когда соседний блок A0 содержит предиктор вектора движения, добавлять предиктор вектора движения соседнего блока A0 в список векторов движения; и

d. Когда текущий соседний блок представляет собой соседний блок B2 и только когда соседний блок B2 содержит предиктор вектора движения и предиктор отличается от предиктора вектора движения соседнего блока B1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B2 в список векторов движения.

[0061] 2) Получать TMVP и добавлять его в список векторов движения. В частности, TMVP для PU1 получают посредством использования временного опорного изображения PU1, и если TMVP для PU1 доступен, TMVP добавляют в список векторов движения.

[0062] В этот момент, поскольку, когда строят список векторов движения PU2, соседний блок A1 из PU2 не учитывают, списки векторов движения в PU1 и PU2 можно строить параллельно.

[0063] 2. CU разделена на PU1 и PU2 на верхней и нижней сторонах

[0064] (1) Строить список векторов движения PU1

[0065] Это похоже на способ «(1) Строить список векторов движения PU1» в «1. CU разделена на PU1 и PU2 на левой и правой сторонах», так что подробности не описаны еще раз в настоящем документе.

[0066] (2) Строить список векторов движения PU2

[0067] 1) Получать предикторы векторов движения из соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 в последовательности из соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2 и добавлять их в список векторов движения.

[0068] a. Когда текущий соседний блок представляет собой соседний блок A1 и только когда соседний блок A1 содержит предиктор вектора движения, добавлять предиктор вектора движения соседнего блока A1 в список векторов движения;

b. Когда текущий соседний блок представляет собой соседний блок B0 и только когда соседний блок B0 содержит предиктор вектора движения, добавлять предиктор вектора движения соседнего блока B0 в список векторов движения;

c. Когда текущий соседний блок представляет собой соседний блок A0 и только когда соседний блок A0 содержит предиктор вектора движения, и предиктор отличается от предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока A0 в список векторов движения; и

d. Когда текущий соседний блок представляет собой соседний блок B2 и только когда соседний блок B2 содержит предиктор вектора движения, и предиктор отличается от предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, добавлять предиктор вектора движения соседнего блока B2 в список векторов движения.

[0069] 2) Получать TMVP и добавлять его в список векторов движения. В частности, TMVP для PU1 получают посредством использования временного опорного изображения PU1, и если TMVP для PU1 доступен, TMVP добавляют в список векторов движения.

[0070] В этот момент, поскольку когда строят список векторов движения PU2, не учитывают соседний блок B1 из PU2, списки векторов движения в PU1 и PU2 можно строить параллельно.

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

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

[0073] Устройство для построения списка векторов движения для предсказания векторов движения предоставлено в одном из вариантов осуществления. Как показано на фиг. 4, устройство может содержать:

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

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

[0074] Кроме того, соседние в пространстве блоки относительно блока предсказания, получаемые посредством приемника 41, включают: соседний блок A0, расположенный на нижней левой стороне относительно блока предсказания, соседний блок A1, расположенный на левой стороне относительно блока предсказания, соседний блок B0 на верхней правой стороне относительно блока предсказания, соседний блок B1 на верхней стороне относительно блока предсказания и соседний блок B2 на верхней левой стороне относительно блока предсказания.

[0075] Кроме того, процессор 42 дополнительно выполнен с возможностью: если текущая единица кодирования разделена на первый блок предсказания и второй блок предсказания на верхней и нижней сторонах, и текущий блок предсказания представляет собой второй блок предсказания, доступные соседние блоки относительно блока предсказания включают: соседний блок A0, соседний блок A1, соседний блок B0 и соседний блок B2 относительно второго блока предсказания; и

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

[0076] Кроме того, процессор 42 дополнительно выполнен с возможностью: если доступные соседние блоки представляют собой блоки межкадрового кодирования, получать предикторы векторов движения из доступных соседних блоков в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2.

[0077] Кроме того, процессор 42 дополнительно выполнен с возможностью определять, является ли предиктор вектора движения текущего доступного соседнего блока таким же, как предикторы векторов движения других доступных соседних блоков, за исключением текущего доступного соседнего блока; и

если нет, добавлять предиктор вектора движения текущего доступного соседнего блока в список векторов движения.

[0078] Кроме того, процессор 42 дополнительно выполнен с возможностью определять, является ли предиктор вектора движения текущего доступного соседнего блока таким же, как предикторы векторов движения, которые добавлены в список векторов движения; и

если нет, добавлять предиктор вектора движения текущего доступного соседнего блока в список векторов движения.

[0079] Кроме того, процессор 42 дополнительно выполнен с возможностью: если текущий доступный соседний блок представляет собой соседний блок B1, определять, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1;

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

если текущий доступный соседний блок представляет собой соседний блок A0, определять, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1; и

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

[0080] Кроме того, процессор 42 дополнительно выполнен с возможностью: если текущий доступный соседний блок представляет собой соседний блок B1, определять, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения;

если текущий доступный соседний блок представляет собой соседний блок B0, определять, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока B1, который добавлен в список векторов движения;

если текущий доступный соседний блок представляет собой соседний блок A0, определять, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения; и

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

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

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

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

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

2. Способ построения списка векторов движения для предсказания векторов движения по п. 1, причем соседние в пространстве блоки относительно блока предсказания содержат:
соседний блок A0, расположенный на нижней левой стороне относительно блока предсказания, соседний блок A1, расположенный на левой стороне относительно блока предсказания, соседний блок B0 на верхней правой стороне относительно блока предсказания, соседний блок В1 на верхней стороне относительно блока предсказания и соседний блок B2 на верхней левой стороне относительно блока предсказания.

3. Способ построения списка векторов движения для предсказания векторов движения по п. 2, причем определение доступных соседних блоков относительно текущего блока предсказания в соответствии с типом разделения текущей единицы кодирования содержит:
если текущая единица кодирования разделена на первый блок предсказания и второй блок предсказания на верхней и нижней сторонах, и текущий блок предсказания представляет собой второй блок предсказания, доступные соседние блоки относительно блока предсказания содержат: соседний блок A0, соседний блок A1, соседний блок B0 и соседний блок B2 относительно второго блока предсказания; и
если текущая единица кодирования разделена на первый блок предсказания и второй блок предсказания на левой и правой сторонах, и текущий блок предсказания представляет собой второй блок предсказания, доступные соседние блоки относительно блока предсказания содержат: соседний блок A0, соседний блок B0, соседний блок B1 и соседний блок B2 относительно второго блока предсказания.

4. Способ построения списка векторов движения для предсказания векторов движения по п. 2 или 3, причем получение предикторов векторов движения из доступных соседних блоков в предварительно заданной последовательности содержит:
если доступные соседние блоки представляют собой блоки межкадрового кодирования, получение предикторов векторов движения из доступных соседних блоков в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2.

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

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

7. Способ построения списка векторов движения для предсказания векторов движения по п. 5, причем определение того, является ли предиктор вектора движения текущего доступного соседнего блока таким же, как предикторы векторов движения других доступных соседних блоков, за исключением текущего доступного соседнего блока, включает:
если текущий доступный соседний блок представляет собой соседний блок B1, определение того, является ли предиктор вектора движения соседнего блока В1 таким же, как предиктор вектора движения соседнего блока A1;
если текущий доступный соседний блок представляет собой соседний блок B0, определение того, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока В1;
если текущий доступный соседний блок представляет собой соседний блок A0, определение того, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1; и
если текущий доступный соседний блок представляет собой соседний блок B2, определение того, является ли предиктор вектора движения соседнего блока B2 таким же, как по меньшей мере один из предиктора вектора движения соседнего блока A1 и предиктора вектора движения соседнего блока B1.

8. Способ построения списка векторов движения для предсказания векторов движения по п. 6, причем определение того, является ли предиктор вектора движения текущего доступного соседнего блока таким же, как предикторы векторов движения, которые добавлены в список векторов движения, содержит:
если текущий доступный соседний блок представляет собой соседний блок B1, определение того, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения;
если текущий доступный соседний блок представляет собой соседний блок B0, определение того, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока B1, который добавлен в список векторов движения;
если текущий доступный соседний блок представляет собой соседний блок A0, определение того, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения; и
если текущий доступный соседний блок представляет собой соседний блок B2, определение того, является ли предиктор вектора движения соседнего блока B2 таким же, как по меньшей мере один из предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, и предиктора вектора движения соседнего блока B1, который добавлен в список векторов движения.

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

10. Устройство для построения списка векторов движения для предсказания векторов движения по п. 9, причем соседние в пространстве блоки относительно блока предсказания, получаемые посредством приемника, содержат:
соседний блок A0, расположенный на нижней левой стороне относительно блока предсказания, соседний блок A1, расположенный на левой стороне относительно блока предсказания, соседний блок B0 на верхней правой стороне относительно блока предсказания, соседний блок B1 на верхней стороне относительно блока предсказания и соседний блок B2 на верхней левой стороне относительно блока предсказания.

11. Устройство для построения списка векторов движения для предсказания векторов движения по п. 10, причем процессор дополнительно выполнен с возможностью: если текущая единица кодирования разделена на первый блок предсказания и второй блок предсказания на верхней и нижней сторонах и текущий блок предсказания представляет собой второй блок предсказания, доступные соседние блоки относительно блока предсказания содержат: соседний блок A0, соседний блок A1, соседний блок B0 и соседний блок B2 относительно второго блока предсказания; и
если текущая единица кодирования разделена на первый блок предсказания и второй блок предсказания на левой и правой сторонах, и текущий блок предсказания представляет собой второй блок предсказания, доступные соседние блоки относительно блока предсказания содержат: соседний блок A0, соседний блок B0, соседний блок B1 и соседний блок B2 относительно второго блока предсказания.

12. Устройство для построения списка векторов движения для предсказания векторов движения по п. 10 или 11, причем процессор дополнительно выполнен с возможностью: если доступные соседние блоки представляют собой блоки межкадрового кодирования, получать предикторы векторов движения из доступных соседних блоков в последовательности из соседнего блока A1, соседнего блока B1, соседнего блока B0, соседнего блока A0 и соседнего блока B2.

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

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

15. Устройство для построения списка векторов движения для предсказания векторов движения по п. 13, причем процессор дополнительно выполнен с возможностью: если текущий доступный соседний блок представляет собой соседний блок B1, определять, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1;
если текущий доступный соседний блок представляет собой соседний блок B0, определять, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока В1;
если текущий доступный соседний блок представляет собой соседний блок A0, определять, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1; и
если текущий доступный соседний блок представляет собой соседний блок B2, определять, является ли предиктор вектора движения соседнего блока B2 таким же, как по меньшей мере один из предиктора вектора движения соседнего блока A1 и предиктора вектора движения соседнего блока В1.

16. Устройство для построения списка векторов движения для предсказания векторов движения по п. 14, причем процессор дополнительно выполнен с возможностью: если текущий доступный соседний блок представляет собой соседний блок B1, определять, является ли предиктор вектора движения соседнего блока B1 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения;
если текущий доступный соседний блок представляет собой соседний блок B0, определять, является ли предиктор вектора движения соседнего блока B0 таким же, как предиктор вектора движения соседнего блока B1, который добавлен в список векторов движения;
если текущий доступный соседний блок представляет собой соседний блок A0, определять, является ли предиктор вектора движения соседнего блока A0 таким же, как предиктор вектора движения соседнего блока A1, который добавлен в список векторов движения; и
если текущий доступный соседний блок представляет собой соседний блок B2, определять, является ли предиктор вектора движения соседнего блока B2 таким же, как по меньшей мере один из предиктора вектора движения соседнего блока A1, который добавлен в список векторов движения, и предиктора вектора движения соседнего блока B1, который добавлен в список векторов движения.



 

Похожие патенты:
Изобретение относится к области цифрового телевидения. Технический результат заключается в увеличении средних значений пропускных кадровых способностей видеокодеков, работающих в режиме реального времени, при незначительных снижениях средних значений объемов кода и качества декодируемых изображений.
Изобретение относится к средствам обработки видеоданных. Техническим результатом является повышение качества отображения при воспроизведении ускоренного воспроизведения 3D-видеоданных.
Изобретение относится к области кодирования изображения для обработки сжатия входных сигналов изображения, состоящих из множества компонентов цвета. Техническим результатом является применение обработки кодирования к трем компонентам цвета, используя формат 4:0:0, что позволяет устанавливать одинаковую информацию времени или одинаковые режимы кодирования для соответствующих компонентов цвета.

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

Изобретение относится к средствам кодирования и декодирования изображения. Техническим результатом является обеспечение возможности управления качеством изображения.

Группа изобретений относится к средствам кодирования и декодирования изображений. Техническим результатом является повышение скорости кодирования и декодирования.

Изобретение относится к кодированию и декодированию изображения посредством преобразования изображения в пиксельной области в коэффициенты в частотной области.

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

Изобретение к способу управления защитой от детей просмотра определенного контента в телевидении на основе Интернет-протокола (IPTV) и к серверу электронной программы передач (EPG).

Изобретение относится к средствам кодирования и декодирования видео. Техническим результатом является повышение эффективности кодирования опорной информации.

Изобретение относится к вычислительной технике, а именно к системам управления устройствами отображения. Техническим результатом является обеспечение оптимизированного состояния устройства отображения изображения для конкретного пользователя в требуемом положении. Предложено устройство отображения. Устройство содержит секцию формирования изображения, выполненную с возможностью захвата изображения заданного диапазона динамического изображения относительно направления отображения изображения, а также, устройство содержит секцию анализа изображения, выполненную с возможностью анализа динамического изображения, захватываемого секцией формирования изображения, и вычисления положения конкретного пользователя из множества пользователей. При этом устройство также включает в себя секцию выполнения процесса оптимизации системы, выполненную с возможностью вычисления информации управления системой для оптимизации системы на основе положения указанного конкретного пользователя, вычисляемого с помощью секции анализа изображения. 2 н. и 5 з.п. ф-лы, 23 ил.

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

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

Изобретение относится к технологии автоматического выбора дополнительной информации, например рекламного объявления, направляющей информации, вспомогательной информации, информации об эксплуатационных параметрах. Техническим результатом является обеспечение адаптированного выбора дополнительной информации для включения ее в контент, уменьшая общее количество дополнительной информации. Таким образом, могут быть сэкономлены ресурсы для обработки, хранения и/или передачи. Автоматическое устройство для автоматического выбора дополнительной информации для включения в контент включает классификатор, связанный с профилем пользователя, и средство выбора, связанное с базой данных дополнительной информации. Дополнительная информация, принадлежащая к определенной категории, помещается в согласующийся или контрастирующий контекст в зависимости от степени заинтересованности пользователя в данной товарной категории. Профили пользователя автоматически классифицируются как профили со слабой или с сильной заинтересованностью в определенной категории. 3 н. и 8 з.п. ф-лы, 2 ил.

Изобретение относится к технологиям кодирования/декодирования видео, использующим контурный фильтр, который уменьшает шум блочности. Технический результат заключается в снижении вычислительной сложности фильтра шумоподавления, сдерживая при этом снижение эффективности кодирования. Технический результат достигается за счет того, что в устройстве кодирования/декодирования видео, которое кодирует или декодирует видео, используя контурный фильтр, содержится модуль вычисления степени отклонения, который вычисляет степень отклонения между целевым пикселем шумоподавления и окрестным пикселем целевого пикселя, используя декодированное изображение. Модуль установки формы шаблона ограничивает форму шаблона таким образом, что чем ниже степень отклонения относительно максимального значения степени отклонения в декодированном изображении, тем меньше форма шаблона. При удалении шума целевого пикселя, используя весовой коэффициент в соответствии со степенью сходства между шаблоном целевого пикселя и шаблоном каждой из точек поиска в форме поиска и взвешенную сумму значений пикселя в точках поиска, контурный фильтр выполняет сравнение шаблонов, используя ограниченную форму шаблона, и удаляет шум целевого пикселя. 3 н. и 2 з.п. ф-лы, 19 ил.

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

Изобретение относится к мультимедийному устройству и системе для управления доступом пользователя к мультимедийному контенту. Техническим результатом является управление доступом пользователя к мультимедийному контенту, причем доступ разрешается именно на выбранном мультимедийном устройстве. Предложено мультимедийное устройство (100, 200) для управления доступом пользователя к мультимедийному контенту, содержащее: средство вывода (102, 103, 202) идентифицирующего кода для обеспечения идентифицирующего кода пользователю, причем идентифицирующий код идентифицирует мультимедийное устройство; генератор (104, 204) управляющего кода для генерации управляющего кода в зависимости от упомянутого идентифицирующего кода и права доступа; средство ввода (106, 107, 206) кода доступа для приема кода доступа от пользователя. Код доступа сгенерирован в зависимости от идентифицирующего кода и права доступа некоторым устройством кода доступа, а контроллер (108, 208) доступа обеспечивает сравнение кода доступа с управляющим кодом и, когда код доступа совпадает с управляющим кодом, разрешает доступ пользователя к мультимедийному контенту в соответствии с правом доступа. 4 н. и 10 з.п. ф-лы, 6 ил.

Изобретение относится к средствам кодирования и декодирования видео. Техническим результатом является повышение эффективности сигнализации режима внутреннего предсказания используемого для кодирования блока данных посредством обеспечения относительной экономии бит для кодированного битового потока. Способ содержит определение первого наиболее вероятного режима внутреннего предсказания и второго наиболее вероятного режима внутреннего предсказания для текущего блока видеоданных на основе контекста для текущего блока, выполнение процесса контекстно-адаптивного двоичного арифметического кодирования (САВАС) для определения принятого кодового слова, соответствующего модифицированному индексу режима внутреннего предсказания, определение индекса режима внутреннего предсказания, выбор режима внутреннего предсказания. 16 н. и 34 з.п. ф-лы, 13 ил. 7 табл.

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

Изобретение относится к средствам обнаружения незаконного применения устройства обработки системы безопасности, используемого для дескремблирования различных мультимедиа данных, распространяемых по нескольким соответствующим каналам. Технический результат заключается в уменьшении вероятности незаконного применения устройства обработки. Подсчитывают новые сообщения ECMj,c, принятые устройством обработки системы безопасности для каналов, отличающихся от канала i, после последнего принятого сообщения ECMi,p. Проверяют, что сообщение ECMi,c принято в течение указанного временного интервала, путем проверки, что количество новых сообщений ECMj,c, принятых для каналов, отличающихся от канала i, достигает или превосходит заданный порог, больший двух. Увеличивают счетчик Kchi на заданную величину всякий раз, когда, после проверки, сообщение ECMi,c принято в течение заданного временного интервала, следующего непосредственно за сообщением ECMi,p, и, в противном случае сбрасывают счетчик Kchi в исходное значение, обнаруживают незаконное применение, как только счетчик Kchi достигает заданного порога. 3 н. и 7 з.п. ф-лы, 3 ил.
Наверх