Ссылка на родственную заявку
[0001] Настоящая заявка является переводом на национальную фазу в России международной заявки № PCT/CN2021/088586, поданной 21 апреля 2020 г, согласно которой испрашивается приоритет в соответствии с заявкой на выдачу патента Китая №202010318681.1 под названием «СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО НА ОСНОВАНИИ ДОЛГОВРЕМЕННОГО ОПОРНОГО КАДРА, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И НОСИТЕЛЬ ДАННЫХ», описание которой ссылкой полностью включено в настоящий документ.
Область техники, к которой относится настоящее изобретение
[0002] Варианты осуществления настоящего раскрытия связаны с областью технологий обработки изображения и, в частности, связаны со способом и устройством для кодирования видео на основании долговременного опорного кадра, вычислительным устройством и носителем данных.
Предшествующий уровень техники настоящего изобретения
[0003] Кодирование в режиме интер-предсказания является важным способом, широко используемым при кодировании видео для улучшения эффективности сжатия. Согласно этому способу, в опорном кадре с помощью оценки движения проводится поиск оптимального сопоставляемого блока, затем с помощью технологии компенсации движения проводится предсказание предсказываемого блока для текущего блока, так что получается остаточный блок, и последующая обработка для сжатия при кодировании видео реализуется как преобразование, квантование и энтропийное кодирование остаточного блока.
Краткое раскрытие настоящего изобретения
[0004] В настоящем раскрытии предложены способ и устройство для кодирования видео на основании долговременного опорного кадра, вычислительное устройство и носитель данных.
[0005] Согласно некоторым вариантам осуществления настоящего раскрытия, предложен способ для кодирования видео на основании долговременного опорного кадра. Этот способ предусматривает следующие стадии: настройка долговременного опорного кадра согласно информации атрибутов кадра изображения; определение опорного индекса для подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и получение целевого сопоставляемого блока посредством выполнения интер-предсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения; причем настройка долговременного опорного кадра соответственно информации атрибутов кадра изображения предусматривает стадии: настройка долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения, причем степень избыточности во временной области указывает на степень наличия того же самого кодируемого макроблока в кадре изображения и в его соседнем кадре изображения, а степень избыточности в пространственной области указывает на степень наличия того же самого кодируемого макроблока внутри кадра изображения.
[0006] Согласно некоторым вариантам осуществления настоящего раскрытия, предложено устройство для кодирования видео на основании долговременного опорного кадра. Это устройство включает в себя: настроечный модуль, выполненный с возможностью настроить долговременный опорный кадр согласно информации атрибутов кадра изображения; индексный модуль, выполненный с возможностью определить опорный индекс для подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и кодирующий модуль, выполненный с возможностью получить целевой сопоставляемый блок посредством выполнения интерпредсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения; причем настроечный модуль дополнительно выполнен с возможностью настроить долговременный опорный кадр на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения, причем степень избыточности во временной области указывает на степень наличия того же самого кодируемого макроблока в кадре изображения и в его соседнем кадре изображения, а степень избыточности в пространственной области указывает на степень наличия того же самого кодируемого макроблока внутри кадра изображения.
[0007] Согласно некоторым вариантам осуществления настоящего раскрытия, предложено вычислительное устройство для кодирования видео на основании долговременного опорного кадра. Это вычислительное устройство включает в себя один или более процессоров; и память, выполненную с возможностью хранить одну или более программ, причем одна или более программ, будучи загруженными и выполняемыми одним или более процессорами, заставляют один или более процессоров выполнить способ для кодирования видео на основании долговременного опорного кадра, как определено согласно любому из вариантов осуществления настоящего раскрытия.
[0008] Согласно некоторым вариантам осуществления настоящего раскрытия, предложен энергонезависимый машиночитаемый носитель данных. В энергонезависимом машиночитаемом носителе данных хранится одна или более программ для компьютера, причем одна или более программ для компьютера, будучи загруженными и выполняемые процессором вычислительного устройства, заставляют вычислительное устройство выполнить способ для кодирования видео на основании долговременного опорного кадра, как определено согласно любому из вариантов осуществления настоящего раскрытия.
Краткое описание фигур
[0009] На фиг. 1 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 1 настоящего раскрытия;
[0010] На фиг. 2 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 2 настоящего раскрытия;
[ООН] На фиг. 3 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 3 настоящего раскрытия;
[0012] На фиг. 4 показана упрощенная схема поиска места кодируемого макроблока в первом опорном индексе согласно варианту осуществления 3 настоящего раскрытия;
[0013] На фиг. 5 показан пример схемы режима предсказания согласно варианту осуществления 3 настоящего раскрытия;
[0014] На фиг. 6 показана упрощенная блок-схема устройства для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 4 настоящего раскрытия; и
[0015] На фиг. 7 показана упрощенная блок-схема вычислительного устройства для кодирования видео согласно варианту осуществления 5 настоящего раскрытия.
Подробное раскрытие настоящего изобретения
[0016] Настоящее раскрытие подробно описано ниже со ссылками на прилагаемые фигуры совместно с вариантами осуществления. Следует понимать, что описанные в настоящем документе варианты осуществления предназначены только для объяснения настоящего раскрытия, и не предназначены для ограничения настоящего раскрытия. Кроме того, следует дополнительно отметить, что для упрощения описания на прилагаемых фигурах показаны только некоторые, а не все структуры, относящиеся к настоящему раскрытию.
[0017] Вариант осуществления 1
[0018] На фиг. 1 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 1 настоящего раскрытия. Этот вариант осуществления может применяться в случае, когда долговременный опорный кадр используется для осуществления кодирования изображения. Способ может быть выполнен устройством для кодирования видео на основании долговременного опорного кадра, причем устройство может быть реализовано аппаратными и/или программными средствами. Как показано на фиг. 1, предложенный согласно этому варианту осуществления настоящего раскрытия способ для кодирования видео на основании долговременного опорного кадра может предусматривать следующие стадии.
[0019] На стадии 101 долговременный опорный кадр настраивается согласно информации атрибутов кадра изображения.
[0020] Кадр изображения может быть любым кадром изображения в видео, которое необходимо закодировать. Информацией атрибутов могут быть данные, описывающие кадр изображения. Информация атрибутов может храниться в ассоциации с кадром изображения. Информация атрибутов может указывать, является ли соответствующий кадр изображения ключевым кадром или кадром переключения сценария. Информация атрибутов может быть создана анализирующим модулем в известном уровне техники, и создание информации атрибутов не описывается подробно в этом варианте осуществления настоящего раскрытия. Имеется два типа опорных кадров для кодирования с интер-предсказанием: кратковременный опорный кадр и долговременный опорный кадр. В сравнении с кратковременным опорным кадром долговременный опорный кадр может предоставить более долгое опорное изображение, интервал из двух долговременных опорных кадров во временной области более долгий, а эффективность сжатия при кодировании с использованием долговременного опорного кадра лучше для видео с малым изменением фона. Долговременный опорный кадр может быть кадром изображения для справок, хранящимся в буфере декодированных изображений (DPB), и буфер DPB может содержать изображение, которое кодируется, и может хранить в себе кратковременный опорный кадр, долговременный опорный кадр, неопорный кадр и тому подобное. Однако известная автору изобретения схема кодирования видео функционально поддерживает только долговременный опорный кадр, что значительно увеличивает сложность кодирования и снижает скорость кодирования со сжатием.
[0021] Согласно вариантам осуществления настоящего раскрытия долговременный опорный кадр может быть настроен согласно информации атрибутов для каждого кадра изображения из множества кадров изображения в видео. Например, в случае, когда степень избыточности в пространственной области кадра изображения превышает порог, кадр изображение может быть настроен в качестве долговременного кадра изображения. В случае, когда информации атрибутов для кадра изображения указывает, что кадр изображения является первым кадром изображения в видео, кадр изображение может быть настроен в качестве долговременного кадра изображения.
[0022] На стадии 102 на основании нормального опорного кадра и долговременного опорного кадра определяется опорный индекс подлежащего кодированию кадра изображения.
[0023] Нормальный опорный кадр может быть опорным кадром для интерпредсказания в известном уровне техники, а нормальный опорный кадр может быть кадром изображения, соседним во временной последовательности к подлежащему кодированию кадру изображения, например, он может быть предыдущим кадром или последующим кадром для подлежащего кодированию кадра изображения. Подлежащий кодированию кадр изображения может быть кадром изображения, который необходимо закодировать в видео, и один подлежащий кодированию кадр изображения может кодироваться каждый раз в процессе кодирования видео. Опорный индекс может быть информацией об относительном расположении на уровне кадра сопоставляемого блока, получаемого из опорного кадра, настроенного на основании подлежащего кодированию кадра изображения, и может включать в себя номер индекса нормального опорного кадра на уровне кадра и/или номер индекса долговременного опорного кадра на уровне кадра.
[0024] Согласно этому варианту осуществления настоящего раскрытия, опорный кадр, который наиболее подходит для интер-предсказания для подлежащего кодированию кадра изображения, может разыскиваться в нормальном опорном кадре и в долговременном опорном кадре, и номер индекса опорного кадра на уровне кадра может быть сохранен в качестве опорного индекса. Может быть понятно, что опорный кадр, который наиболее подходит для интер-предсказания для подлежащего кодированию кадра изображения, может быть кадром изображения с минимальными расходами на кодирование в нормальном опорном кадре и/или в долговременном опорном кадре, или может быть кадром изображения, самым близким к подлежащему кодированию кадру изображения во временной последовательности в нормальном опорном кадре и/или в долговременном опорном кадре. Опорный индекс может включать в себя по меньшей мере один из номеров индекса нормального опорного кадра на уровне кадра и/или номер индекса долговременного опорного кадра на уровне кадра.
[0025] На стадии 103 целевой сопоставляемый блок получается посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения.
[0026] Целевой сопоставляемый блок может быть кодируемым блоком, который является таким же или подобным кодируемому блоку в подлежащем кодированию кадре изображения, имеющим минимальные расходы на кодирование, и который был найден при выполнении интер-предсказания на основании опорного индекса.
[0027] Подлежащий кодированию кадр изображения может быть сегментирован по меньшей мере в один кодируемый макроблок, и для по меньшей мере одного кодируемого макроблока, целевой сопоставляемый блок, подобный кодируемому макроблоку, может быть найден на основании опорного индекса. Подлежащий кодированию кадр изображения может быть сжат и закодирован на основании соответствующей информации о целевом сопоставляемом блоке. Можно понять, что стадия 103 и стадия 102 могут выполняться одновременно. Например, каждый раз, когда определяется один опорный индекс подлежащего кодированию кадра изображения, целевой сопоставляемый блок, соответствующий подлежащему кодированию кадру изображения, может быть получен на основании опорного кадра. Альтернативно, стадия 103 может быть выполнена непосредственно после полного выполнения стадии 102. Например, непосредственно после определения всех опорных индексов подлежащего кодированию кадра изображения, выполняется поиск целевого сопоставляемого блока на основании множества опорных индексов.
[0028] Согласно этому варианту осуществления настоящего раскрытия, кадр изображения настраивается в качестве долговременного опорного кадра согласно информации атрибутов, опорный индекс подлежащего кодированию кадра изображения определяется на основании нормального опорного кадра и долговременного опорного кадра; и получение целевого сопоставляемого блока для подлежащего кодированию кадра изображения проводится посредством выполнения интер-предсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения. Долговременный опорный кадр заранее настроен согласно информации атрибутов кадра изображения, вследствие этого достигается точная настройка долговременного опорного кадра. Опорный индекс определяется на основании долговременного опорного кадра, и получается целевой сопоставляемый блок, вследствие этого снижаются накладные расходы на вычисления в процессе кодирования, снижается сложность кодирования на основании идеи обеспечения эффективности сжатия при кодировании изображения, снижается длительность кодирования видео, и достигается высокоэффективное кодирование изображения видео.
[0029] На основании вышеупомянутого варианта осуществления настоящего раскрытия, настройка долговременного опорного кадра соответственно информации атрибутов кадра изображения включает в себя: извлечение, для каждого из кадров изображения из множества кадров изображения, типа кадра в информации атрибутов, соответствующей каждому из кадров изображения; и настройка кадра изображения, соответствующего типу кадра, в качестве долговременного опорного кадра в случае, когда тип кадра является ключевым кадром и/или кадром переключения сценария.
[0030] Тип кадра может быть информацией, описывающей использование или контент кадра изображения. В случае, когда тип кадра используется для описания использования кадра изображения, тип кадра может включать в себя ключевой кадр I, неключевой кадр Р, неключевой кадр В и тому подобное. В случае, когда тип кадра используется для описания контента, тип кадра может включать в себя кадр переключения сценария, кадр сценария и тому подобное. Ключевой кадр может указывать, что кадр изображения используется в качестве опорного кадра в процессе кодирования, а кадр переключения сценария может указывать, что контент кадра изображения может включать в себя контент переключения сценария. Например, в случае, когда контентом кадра изображения является изображение человека, выходящего на улицу из помещения, кадр изображение может быть кадром переключения сценария.
[0031] Может быть получена информация атрибутов каждого кадра изображения из множества кадров изображения в видео. В случае, когда тип кадра в информации атрибутов для кадра изображения является ключевым кадром и/или кадром переключения сценария, кадр изображение может быть настроен в качестве долговременного кадра изображения. Например, изображение кадра может храниться в буфере DPB, и может быть настроен идентификатор для долговременного опорного кадра.
[0032] На основании вышеупомянутого варианта осуществления настоящего раскрытия, настройка долговременного опорного кадра соответственно информации атрибутов кадра изображения включает в себя: настройку долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения.
[0033] Согласно этому варианту осуществления настоящего раскрытия, степень избыточности во временной области может указывать степень наличия того же самого кодируемого макроблока в кадре изображения и в соседнем кадре изображения, и большое количество тех же самых кодируемых макроблоков в кадре изображения и в соседнем кадре изображения указывает на более высокую соответствующую степень избыточности во временной области. Степень избыточности в пространственной области может указывать степень наличия того же самого кодируемого макроблока внутри кадра изображения, и большое количество тех же самых кодируемых макроблоков внутри кадра изображения указывает на более высокую соответствующую степень избыточности в пространственной области. Поскольку долговременный опорный кадр необходимо использовать в качестве опорного кадра в течение долгого времени, и степень избыточности в пространственной области у долговременного опорного кадра относительно высокая, кадр изображения, степень избыточности у которого в пространственной области больше, чем степень избыточности во временной области, может быть выбран и настроен в качестве долговременного опорного кадра, или определяется отношение степени избыточности во временной области к степени избыточности в пространственной области, и кадр изображения, у которого это отношение меньше порога, настраивается в качестве долговременного опорного кадра.
[0034] Вариант осуществления 2
[0035] На фиг. 2 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 2 настоящего раскрытия. Этот вариант осуществления настоящего раскрытия описан на основании вышеупомянутого варианта осуществления. Долговременный опорный кадр настраивается на основании степени избыточности во временной области и степени избыточности в пространственной области у кадра изображения. Как показано на фиг. 2, предложенный согласно этому варианту осуществления настоящего раскрытия способ для кодирования видео на основании долговременного опорного кадра предусматривает следующие стадии.
[0036] На стадии 201 для каждого кадра изображения из множества кадров изображения определяются затраты на межкадровое кодирование и внутрикадровое кодирование соответственно, причем затраты на межкадровое кодирование отражают степень избыточности во временной области, а затраты на внутрикадровое кодирование отражают степень избыточности в пространственной области, степень избыточности во временной области является обратно пропорциональной затратам на межкадровое кодирование, а степень избыточности в пространственной области является обратно пропорциональной затратам на внутрикадровое кодирование.
[0037] Затраты на межкадровое кодирование могут представлять сложность кодирования, возникающую во время межкадрового кодирования кадра изображения. В случае, когда сложность кодирования ниже, затраты на межкадровое кодирование могут быть ниже. Затраты на межкадровое кодирование могут быть обратно пропорциональны степени избыточности во временной области, и более высокая степень избыточности во временной области у кадра изображение может соответствовать меньшим затратам на межкадровое кодирование. Затраты на внутрикадровое кодирование могут представлять сложность кодирования, возникающую во время внутрикадрового кодирования кадра изображения. В случае, когда сложность кодирования ниже, затраты на внутрикадровое кодирование могут быть ниже. Затраты на внутрикадровое кодирование могут быть обратно пропорциональны степени избыточности в пространственной области, и более высокая степень избыточности в пространственной области у кадра изображение может соответствовать меньшим затратам на внутрикадровое кодирование.
[0038] Согласно этому варианту осуществления настоящего раскрытия, затраты на внутрикадровое кодирование и затраты на межкадровое кодирование могут быть определены модулем предварительного анализа системы кодирования. Затраты на внутрикадровое кодирование и затраты на межкадровое кодирование могут храниться вместе с кадром изображения в качестве информации атрибутов. Во время кодирования видео информация атрибутов кадра изображения может быть получена заранее. Затраты на внутрикадровое кодирование могут отражать степень избыточности в пространственной области у кадра изображения, а затраты на межкадровое кодирование могут отражать степень избыточности во временной области у кадра изображения.
[0039] На стадии 202 текущее отношение затрат кодирования для текущего кадра изображения определяется на основании значений затрат на внутрикадровое кодирование и затрат на межкадровое кодирование. Текущий кадр изображения является одним кадром из множества кадров изображения в подлежащем кодированию видео.
[0040] Текущее отношение затрат кодирования может быть отношением затрат на внутрикадровое кодирование к затратам на межкадровое кодирование и может использоваться для измерения степени избыточности в пространственной области и степени избыточности во временной области у кадра изображения. Избыточность обратно пропорциональна затратам на кодирование. Например, чем меньше текущее значение отношения затрат кодирования, тем выше степень избыточности в пространственной области у кадра изображения по отношению к степени избыточности во временной области у кадра изображения, и во время межкадрового кодирования кадр изображения можно использовать в качестве долговременного опорного кадра.
[0041] Согласно этому варианту осуществления настоящего раскрытия, отношение затрат на внутрикадровое кодирование к затратам на межкадровое кодирование каждого кадра изображения из множества кадров изображения в видео может быть вычислено как текущее значение отношения затрат кодирования каждого кадра изображения, причем затраты на межкадровое кодирование могут отражать степень избыточности во временной области у кадра изображения, затраты на внутрикадровое кодирование могут отражать степень избыточности в пространственной области у кадра изображения, а степень избыточности обратно пропорциональна затратам на кодирование.
[0042] На стадии 203 определяются соответственно первое отношение затрат на кодирование кадра изображения, предыдущего для текущего кадра изображения, и второе отношение затрат на кодирование кадра изображения перед предыдущим кадром изображения, и определяется дисперсия отношения для текущего отношения затрат на кодирование, первого отношения затрат на кодирование и второго отношения затрат на кодирование.
[0043] Предыдущий кадр изображения для текущего кадра изображения может быть кадром изображения в предыдущий момент относительно текущего кадра изображения во временной последовательности, а кадр изображения перед предыдущим кадром изображения может быть кадром изображения во второй момент перед текущим кадром изображения во временной последовательности. Первое отношение затрат на кодирование может быть отношением затрат на внутрикадровое кодирование к затратам на межкадровое кодирование для предыдущего кадра изображения относительно текущего кадра изображения, а второе отношение затрат на кодирование может быть отношением затрат на внутрикадровое кодирование к затратам на межкадровое кодирование для кадра изображения перед предыдущим кадром изображения.
[0044] Можно выполнить поиск двух первых кадров изображения в каждом кадре изображения в буфере DPB, могут быть отдельно получены затраты на внутрикадровое кодирование и затраты на межкадровое кодирование для каждых двух первых кадров изображения, и могут быть отдельно вычислены первое отношение затрат на кодирование предыдущего кадра изображения и второе отношение затрат на кодирование другого кадра изображения для соответствующих первых двух кадров изображения. Дисперсия отношения вычисляется на основании отношения затрат на кодирование текущего кадра изображения, отношения затрат на кодирование предыдущего кадра изображения и отношения затрат на кодирование другого кадра изображения, чтобы определить изменение отношения затрат на кодирование в положении каждого кадра изображения.
[0045] На стадии 204 текущий кадр изображения настраивается в качестве долговременного опорного кадра в случае, когда определено, что второе отношение затрат на кодирование, первое отношение затрат на кодирование и текущее отношение затрат на кодирование последовательно уменьшаются, и дисперсия отношения меньше значения порога.
[0046] Значение порога может быть близким к нулю значением. В случае, когда дисперсия отношения меньше значения порога, можно считать, что значение дисперсии отношения равно 0.
[0047] Изменение отношения затрат на кодирование в некотором положении текущего кадра изображения может быть определено на основании текущего отношения затрат на кодирование, первого отношения затрат на кодирование и второго отношения затрат на кодирование. В случае, когда определено, что текущее отношение затрат на кодирование меньше, чем первое отношение затрат на кодирование, и первое отношение затрат на кодирование меньше чем второе отношение затрат на кодирование, отношения затрат на кодирование кадров изображения могут быть постепенно уменьшающимися. В случае, когда дисперсия отношения меньше значения порога, может быть определено, что изменение отношения затрат на кодирование в некотором положении в текущем кадре изображения равно 0, и может быть определено, что текущее отношение затрат на кодирование текущего кадра изображения является полярной точкой отношений затрат на кодирование нескольких соседних кадров изображения, и кадр изображения может быть использован в качестве опорного кадра для соседнего кадра изображения в течение долгого времени. В этом случае текущий кадр изображение может быть настроен в качестве долговременного опорного кадра.
[0048] На стадии 205 опорный индекс, соответствующий подлежащему кодированию кадру изображения, определяется на основании нормального опорного кадра и долговременного опорного кадра и последовательно согласно режиму предсказания первого типа, режиму предсказания второго типа и режиму предсказания третьего типа, причем режим предсказания первого типа по меньшей мере включает в себя режим предсказания MERGE (ОБЪЕДИНЕНИЕ) и/или режим предсказания SKIP (ПРОПУСК), режим предсказания второго типа по меньшей мере включает в себя режим предсказания 2N*2N и/или режим предсказания ВГОШ. (ДВУНАПР), а режим предсказания третьего типа по меньшей мере включает в себя режим предсказания 2N*N, режим предсказания N*2N, режим предсказания 2N*nD, режим предсказания 2N*nU, режим предсказания nR*2N и/или режим предсказания nL*2N.
[0049] Может быть множество режимов предсказания. Например, стандарт высокоэффективного видеокодирования (HEVC) может содержать 10 типов режимов предсказания, а именно MERGE/SKIP/2N*2N/BIDIR/2N*N/N*2N/2N*nD/2N*nU/nR*2N/nL*2N. В случае, когда опорный индекс отдельно выбирается в каждом режиме предсказания, сложность вычислений значительно возрастает. Следовательно, режимы предсказания можно классифицировать в режим предсказания первого типа, режим предсказания второго типа и режим предсказания третьего типа, и опорный индекс для подлежащего кодированию кадру изображения может быть последовательно определен по порядку для режима предсказания первого типа, режима предсказания второго типа и режима предсказания третьего типа. Опорный индекс для режима предсказания второго типа может быть создан посредством непосредственного использования опорного индекса для режима предсказания первого типа, а опорный индекс для режима предсказания третьего типа может быть создан посредством непосредственного использования опорного индекса для режима предсказания первого типа и опорного индекса для режима предсказания второго типа. Следовательно, повторяющийся процесс создания опорного индекса может быть сокращен, и сложность создания опорного индекса уменьшается. Согласно этому варианту осуществления настоящего раскрытия, режимы предсказания могут быть классифицированы в три типа, причем режим предсказания первого типа по меньшей мере включает в себя режим предсказания MERGE (ОБЪЕДИНЕНИЕ) и/или режим предсказания SKIP (ПРОПУСК), режим предсказания второго типа по меньшей мере включает в себя режим предсказания 2N*2N и/или режим предсказания ВГОГО. (ДВУНАПР), режим предсказания третьего типа по меньшей мере включает в себя режим предсказания 2N*N, режим предсказания N*2N, режим предсказания 2N*nD, режим предсказания 2N*nU, режим предсказания nR*2N и/или режим предсказания nL*2N.
[0050] На стадии 206 целевой сопоставляемый блок получается посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения.
[0051] Согласно этому варианту осуществления настоящего раскрытия, затраты на межкадровое кодирование каждого кадра изображения получаются для отражения степени избыточности во временной области, а затраты на внутрикадровое кодирование для каждого кадра изображения получаются для отражения степени избыточности в пространственной области; отношение затрат на внутрикадровое кодирование к затратам на межкадровое кодирование каждого кадра изображения используется в качестве текущего отношения затрат на кодирование; первое отношение затрат на кодирование предыдущего кадра изображения для каждого кадра изображения и второе отношение затрат на кодирование кадра изображения перед предыдущим кадром изображения получаются отдельно, и дисперсия отношения определяется на основании текущего отношения затрат на кодирование, первого отношения затрат на кодирование и второго отношения затрат на кодирование; а в этом случае, когда определено, что текущий кадр изображения является полярной точкой на основании текущего отношения затрат на кодирование, первого отношения затрат на кодирование, второго отношения затрат на кодирование и дисперсии отношения, текущий кадр изображения настраивается в качестве долговременного опорного кадра. Затем опорный индекс кадра изображения, соответствующий режиму предсказания первого типа, опорный индекс кадра изображения, соответствующий режиму предсказания второго типа, и опорный индекс кадра изображения, соответствующий режиму предсказания третьего типа, определяются на основании нормального опорного кадра и долговременного опорного кадра и последовательно согласно режиму предсказания первого типа, режиму предсказания второго типа и режиму предсказания третьего типа. Выполняется поиск целевого сопоставляемого блока на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения. Следовательно, долговременный опорный кадр точно настроен, улучшена эффективность кодирования, снижена сложность кодирования, и отношение сжатия изображения улучшено на основании идеи обеспечения эффективности сжатия при кодировании изображения, благодаря этому снижаются расходы на полосу частот и улучшаются ощущения от использования.
[0052] Вариант осуществления 3
[0053] На фиг. 3 показана блок-схема алгоритма способа для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 3 настоящего раскрытия. Этот вариант осуществления настоящего раскрытия описан на основании вышеупомянутого варианта осуществления, в котором снижен диапазон поиска для режима интер-предсказания, так что сложность кодирования уменьшена на основании идеи обеспечения эффективности сжатия. Как показано на фиг. 3, предложенный согласно этому варианту осуществления настоящего раскрытия способ для кодирования видео на основании долговременного опорного кадра предусматривает следующие стадии.
[0054] На стадии 301 долговременный опорный кадр настраивается согласно информации атрибутов кадра изображения.
[0055] На стадии 302 кодируемый макроблок подлежащего кодированию кадра изображения получается согласно режиму предсказания первого типа, и первый опорный индекс, соответствующий подлежащему кодированию кадру изображения в режиме предсказания первого типа создается посредством объединения информации целевых опорных индексов левого блока, верхнего левого блока, верхнего блока, верхнего правого блока и нижнего левого блока кодируемого макроблока и информации целевого опорного индекса опорного кодируемого макроблока, положение которого соответствует кодируемому макроблоку во временной области, причем опорный кодируемый макроблок расположен в нормальном опорном кадре и/или в долговременном опорном кадре.
[0056] Кодируемый макроблок может быть набором пикселей в подлежащем кодированию кадре изображения. Например, 64 пикселя могут образовать один кодируемый макроблок, и кодируемый макроблок может быть наименьшим компонентом для кодирования кадра изображения. Опорный кодируемый макроблок может быть наименьшим компонентом для кодирования долговременного опорного кадра и/или нормального опорного кадра, и опорный кодируемый макроблок может быть образован множеством пикселей. Левый блок может быть кодируемым макроблоком, расположенным с левой стороны от кодируемого макроблока, а другие блоки могут быть кодируемыми макроблоками, расположенными в соответствующих местах от кодируемого макроблока.
[0057] В случае, когда опорный индекс получается согласно режиму предсказания первого типа, в режиме предсказания ОБЪЕДИНЕНИЕ/ПРОПУСК, оценка движения не требуется, компенсация движения выполняется непосредственно на основании информации индексного межкадрового кодирования соседнего блока в пространственной области, и блок, положение которого соответствует кодируемому макроблоку во временной области, и целевой макроблок с минимальными затратами на кодирование, окончательно определяются в качестве информации межкадрового кодирования для кодируемого макроблока. Во время компенсации движения информация межкадрового кодирования левого блока, верхнего левого блока, верхнего блока, верхнего правого блока и нижнего левого блока от кодируемого макроблока может быть использована в пространственной области, а информация межкадрового кодирования опорного кодируемого макроблока в том же самом относительном положении от кодируемого макроблока может быть использована во временной области, причем опорный кадр во временной области может включать в себя нормальный опорный кадр и/или долговременный опорный кадр. Опорный индекс для опорного кодируемого макроблока с оптимальной опорной информацией может быть определен в качестве информации целевого опорного индекса, например, номер индекса на уровне кадра для кодируемого макроблока с минимальными затратами на кодирование или номер индекса на уровне кадра для кодируемого макроблока, который является ближайшим к подлежащему кодированию кадру изображения во временной последовательности в нормальном опорном кадре и/или в долговременном опорном кадре. Информация целевых опорных индексов левого блока, верхнего левого блока, верхнего блока, верхнего правого блока и нижнего левого блока и информация целевого индекса опорного кодируемого макроблока, положение которого соответствует кодируемому макроблоку во временной области, может быть сохранена в первом опорном индексе. На фиг. 4 показана упрощенная схема поиска места кодируемого макроблока в первом опорном индексе согласно варианту осуществления 3 настоящего раскрытия. Как показано на фиг. 4, опорный кадр и кадр изображения могут быть сегментированы во множество опорных кодируемых макроблоков 11 и множество кодируемых макроблоков 21. Оптимальные опорные индексы соседнего блока в пространственной области для кодируемого макроблока 21 и опорный кодируемый блок, положение которого соответствует кодируемому макроблоку во временной области, могут быть объединены вместе для получения объединенного опорного индекса , причем d представляет глубину кодируемого блока, a RefMaski представляет опорный индекс (i+1)-го блока. Первый блок является левым блоком текущего кодируемого блока 21 в кадре изображения, второй блок является верхним левым блоком текущего кодируемого блока 21 в кадре изображения, третий блок является верхнем блоком текущего кодируемого блока 21 в кадре изображения, четвертый блок является верхним правым блоком текущего кодируемого блока 21 в кадре изображения, пятый блок является нижним левым блоком текущего кодируемого блока 21 в кадре изображения и шестой блок является опорным кодируемым макроблоком, положение которого соответствует кодируемому макроблоку. В стандарте HEVC k=5, то есть всего имеется k+2 кодируемых макроблоков, которые включают в себя левый блок 23, верхний левый блок 24, верхний блок 25, верхний правый блок 26 и нижний левый блок 22 текущего кодируемого макроблока 21 в кадре изображения, и опорный кодируемый макроблок 21 в опорном кадре, положение которого соответствует кодируемому макроблоку. Во время создания опорного индекса опорный кадр может быть передним опорным кадром или задним опорным кадром. Опорный индекс RefMaski для (i+1)-го блока удовлетворяет условию RefMaski=1<<RefForwardi+(1<<RefBackwardi)<<16, где RefForwardi представляет передний опорный индекс (i+1)-го блока (номер индекса переднего опорного кадра на уровне кадра), а RefBackwardi представляет задний опорный индекс (i+1)-го блока (номер индекса заднего опорного кадра на уровне кадра). Номер индекса заднего опорного кадра на уровне кадра можно хранить в 16 старших значащих битах первого опорного индекса, а номер индекса переднего опорного кадра на уровне кадра можно хранить в 16 младших значащих битах первого опорного индекса. То есть, в случае, когда опорный кадр, включающий в себя (i+1)-ый блок, является передним опорным кадром, опорный индекс RefMaski (i+1)-го блока является индексом, получаемым при перемещении 1 влево на RefForwardi, а в случае, когда опорный кадр, включающий в себя (1+1)-ый блок является задним опорным кадром, опорный индекс RefMaski (i+1)-го блока является индексом, получаемым при перемещении 1 влево на RefBackwardi и затем на 16 битов. Логическая операция ИЛИ выполняется в соответствующих местах опорных индексов шести блоков для получения первого опорного индекса кодируемого макроблока 21, где «+» представляет операцию ИЛИ. В случае, когда опорный кадр, включающий в себя (1+1)-ый блок, является передним опорным кадром, задний опорный индекс (i+1)-го блока равен 0, а в случае когда опорный кадр, включающий в себя (1+1)-ый блок, является задним опорным кадром, передний опорный индекс (i+1)-го блока равен 0.
[0058] На стадии 303 рекурсивное кодирование выполняется на кодируемом макроблоке подлежащего кодированию кадра изображения, родительский опорный индекс объединения определяется на основании информации целевого опорного индекса родительского кодируемого блока в кодируемом макроблоке, а дочерний опорный индекс объединения определяется на основании информации целевого опорного индекса дочернего кодируемого блока в кодируемом макроблоке.
[0059] Рекурсивное кодирование является процессом повторения выполнения рекурсивной сегментации кодируемого макроблока. То есть в процессе рекурсивного кодирования кодируемый макроблок может сегментироваться дальше. Например, размер кодируемого макроблока составляет 64*64, и кодируемый макроблок может быть сегментирован в четыре дочерних кодируемых макроблока с размером 32*32. В процессе рекурсивного кодирования размер дочернего кодируемого блока может изменяться в зависимости от глубины сегментации. Дочерний кодируемый блок может быть создан посредством сегментации кодируемого макроблока, а родительский кодируемый блок может быть кодируемым макроблоком, глубина которого по меньшей мере на единицу меньше глубины его дочернего кодируемого блока. Например, для дочернего кодируемого блока с глубиной 3 глубина родительского кодируемого блока может быть равна 2, 1 или 0.
[0060] Согласно этому варианту осуществления настоящего раскрытия, рекурсивное кодирование может быть выполнено на подлежащем кодированию кадре изображения, причем кодируемый макроблок подлежащего кодированию кадра изображения затем сегментируется дальше для создания дочерних кодируемых блоков различной глубины, и при этом определяется опорный индекс каждого из дочерних кодируемых блоков. Для каждого из дочерних кодируемых блоков может быть создан опорный индекс родительского кодируемого блока, соответствующего каждому из кодируемых блоков, и опорный индекс дочернего кодируемого блока, соответствующего каждому из дочерних кодируемых блоков. Например, для дочернего кодируемого блока опорные индексы левого дочернего блока, верхнего левого дочернего блока, верхнего дочернего блока, верхнего правого дочернего блока и нижнего левого дочернего блока для текущего дочернего кодируемого блока, и опорный индекс опорного дочернего кодируемого блока, расположенного в том же самом положении во временной области, как у текущего дочернего кодируемого блока, получаются как опорные индексы, соответствующие текущему дочернему кодируемому блоку. Таким образом, получаются дочерние опорные индексы объединения всех дочерних кодируемых блоков и родительские опорные индексы объединения всех родительских кодируемых блоков текущего дочернего кодируемого блока.
[0061] Например, в случае, когда глубина d дочернего кодируемого блока не меньше 1, родительский опорный индекс объединения родительского кодируемого блока для дочернего кодируемого блока может быть получен как где RefMaskj представляет первый опорный индекс родительского кодируемого блока для дочернего кодируемого блока на глубине j. В случае, когда рекурсия может быть последовательно выполнена вниз от дочернего кодируемого блока, после завершения рекурсии может быть получен опорный индекс каждого дочернего кодируемого блока для дочернего кодируемого блока. Дочерний опорный индекс объединения может быть получен посредством сбора опорных индексов множества дочерних кодируемых блоков, а более конкретно, дочерний опорный индекс объединения удовлетворяет условию, где SplitRefm представляет опорный индекс для (m+1)-го дочернего кодируемого блока, и максимальное значение m равно 3, что указывает, что кодируемый макроблок сегментирован в четыре дочерних кодируемых блока.
[0062] На стадии 304 первый опорный индекс, родительский опорный индекс объединения и дочерний опорный индекс объединения определяются в качестве второго опорного индекса, соответствующего подлежащего кодированию кадру изображения в режиме предсказания второго типа.
[0063] Второй опорный индекс, соответствующий подлежащему кодированию кадру изображения в режиме предсказания второго типа, может быть получен посредством объединения первого опорного индекса, родительского опорного индекса объединения и дочернего опорного индекса объединения. Например, совокупность из первого опорного индекса, родительского опорного индекса объединения и дочернего опорного индекса объединения может быть определена в качестве второго опорного индекса, и второй опорный индекс удовлетворяет условию может представлять родительский опорный индекс объединения, SplitRefSum может представлять дочерний опорный индекс объединения, a RefMaskd может представлять первый опорный индекс. Объединенный второй опорный индекс RefMaskSum используется для ограничения поиска в режиме 2N*2N. Опорный индекс в это время адаптивным образом исключает из себя или включает в себя долговременный опорный индекс, вследствие чего эффективность кодирования может быть улучшена без увеличения сложности кодирования.
[0064] На стадии 305 выполняется поиск третьего опорного индекса, соответствующего подлежащему кодированию кадру изображения, поиск выполняется на основании типа режима у режима предсказания третьего типа в заранее определенной таблице конфигурации индексов.
[0065] В заранее определенной таблице конфигурации индексов может храниться таблица информации об опорных индексах, созданная в процессе рекурсивного кодирования, и в заранее определенной таблице конфигурации индексов может храниться режим предсказания в ассоциации с опорным индексом, полученным в методе, соответствующем режиму предсказания.
[0066] Согласно этому варианту осуществления настоящего раскрытия, поиск соответствующего опорного индекса может быть выполнен согласно типу режима у режима предсказания третьего типа. Например, на фиг. 5 показан пример схемы режима предсказания согласно варианту осуществления 3 настоящего раскрытия. Как показано на фиг. 5, режимы предсказания могут включать в себя режим предсказания 2N*N, режим предсказания N*2N, режим предсказания 2N*nD, режим предсказания 2N*nU, режим предсказания nR*2N и режим предсказания nL*2N.
[0067] На основании вышеупомянутого варианта осуществления настоящего раскрытия, взаимосвязь соответствия между типом режима и третьим опорным индексом в заранее определенной таблице конфигурации индексов включает в себя по меньшей мере одно из следующих: в случае, когда тип режима является режимом предсказания 2N*N, верхний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса второго дочернего кодируемого блока в процессе рекурсивного кодирования, а нижний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса третьего дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования; в случае, когда тип режима является режимом предсказания N*2N, левый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса третьего дочернего кодируемого блока в процессе рекурсивного кодирования, а правый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса второго дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования; в случае, когда тип режима является режимом предсказания 2N*nD, верхний индекс третьего опорного индекса является равным второму опорному индексу, а нижний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса третьего дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования; в случае, когда тип режима является режимом предсказания 2N*nU, верхний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса второго дочернего кодируемого блока в процессе рекурсивного кодирования, а нижний индекс третьего опорного индекса является равным второму опорному индексу; в случае, когда тип режима является режимом предсказания nR*2N, левый индекс третьего опорного индекса является равным второму опорному индексу, а правый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса второго дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования; в случае, когда тип режима является режимом предсказания nL*2N, левый индекс третьего опорного индекса определяется на информации основании целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса третьего дочернего кодируемого блока в процессе рекурсивного кодирования, а правый индекс третьего опорного индекса является равным второму опорному индексу.
[0068] Первый дочерний кодируемый блок, второй дочерний кодируемый блок, третий дочерний кодируемый блок и четвертый дочерний кодируемый блок могут быть четырьмя дочерними кодируемыми блоками, созданными посредством сегментации кодируемого макроблока в подлежащем кодированию кадре изображения во время процесса рекурсивного кодирования, и четыре дочерних кодируемых блока могут быть соответственно обозначены как первый дочерний кодируемый блок, второй дочерний кодируемый блок, третий дочерний кодируемый блок и четвертый дочерний кодируемый блок в порядке верхний левый, верхний правый, нижний левый и нижний правый.
[0069] Согласно этому варианту осуществления настоящего раскрытия, в режиме предсказания третьего типа опорный индекс может быть получен на основании взаимосвязи соответствия положения в заранее определенной таблице конфигурации индексов, где заранее определенная таблица конфигурации индексов может быть показана в виде следующий таблицы:
[0070] ВЕРХНИЙ может представлять верхний индекс, НИЖНИЙ может представлять нижний индекс, ЛЕВЫЙ может представлять левый индекс и ПРАВЫЙ может представлять правый индекс. SplitRef0, SplitRef2, SplitRef3, SplitRef4 и Ref2N*2N могут соответственно представлять информацию целевого опорного индекса первого дочернего кодируемого блока, информацию целевого опорного индекса второго дочернего кодируемого блока, информацию целевого опорного индекса третьего дочернего кодируемого блока, информацию целевого опорного индекса четвертого дочернего кодируемого блока и второй опорный индекс.
[0071] На стадии 306 выполняется поиск целевого сопоставляемого блока на основании опорного индекса в нормальном опорном кадре и/или в долговременном опорном кадре.
[0072] Нормальный опорный кадр может быть нормальным кратковременным опорным кадром в известном уровне техники, а кратковременный опорный кадр может быть соседним кадром к подлежащему кодированию кадру изображения. Может быть понятно, что для подлежащего кодированию кадра изображения, когда выполняется поиск целевого сопоставляемого блока на основании опорного индекса, поиск целевого сопоставляемого блока может проводиться как в нормальном опорном кадре, так и в долговременном опорном кадре, причем целевой сопоставляемый блок может быть кодируемым макроблоком, подобным подлежащему кодированию кадру изображения в нормальном опорном кадре и/или в долговременном опорном кадре. Для различных режимов предсказания различные опорные индексы могут использоваться для поиска целевого сопоставляемого блока. Например, для режима предсказания первого типа первый опорный индекс используется для поиска целевого сопоставляемого блока, для режима предсказания второго типа второй опорный индекс используется для поиска целевого сопоставляемого блока, и для режима предсказания третьего типа третий опорный индекс используется для поиска целевого сопоставляемого блока.
[0073] На стадии 307 кодирование со сжатием выполняется на подлежащем кодированию кадре изображения на основании целевого сопоставляемого блока.
[0074] Подлежащий кодированию кадр изображения может быть сжат на основании информации об относительном положении целевого сопоставляемого блока и данных изображения в целевом сопоставляемом блоке, а подлежащий кодированию кадр изображения может быть представлен в форме относительного смещения множества целевых сопоставляемых блоков, благодаря этому достигается кодирование со сжатием подлежащего кодированию кадра изображения.
[0075] Согласно этому варианту осуществления настоящего раскрытия, долговременный опорный кадр настраивается согласно атрибутам кадра изображения, кодируемый макроблок подлежащего кодированию кадра изображения, соседний кодируемый макроблок в пространственной области такого кадра и соседний кодируемый макроблок во временной области такого кадра получаются согласно режиму предсказания первого типа, первый опорный индекс создается на основании информации целевого опорного индекса соседнего кодируемого макроблока в пространственной области и информации целевого опорного индекса опорного кодируемого макроблока. Рекурсивное кодирование выполняется на кодируемом макроблоке, во время процесса рекурсивного кодирования создаются дочерний опорный индекс объединения и родительский опорный индекс объединения, и используемый для режима предсказания второго типа второй опорный индекс создается посредством сочетания. Третий опорный индекс для режима предсказания третьего типа может быть создан посредством запрашивания заранее определенной таблицы конфигурации индексов с использованием типа модели. Выполняется поиск целевого сопоставляемого блока на основании опорного индекса, и кодирование подлежащего кодированию кадра изображения выполняется на основании целевого сопоставляемого блока. Следовательно, достигнуты надлежащий поиск и кодирование долговременного опорного кадра, и целевой сопоставляемый блок последовательно ищется согласно режимам предсказания различных типов, благодаря этому снижается сложность получения опорного индекса, сужается диапазон поиска и улучшаются эффективность кодирования и впечатления пользователя.
[0076] На основании вышеупомянутого варианта осуществления раскрытия, основанный на опорном индексе поиск целевого сопоставляемого блока в нормальном опорном кадре и/или в долговременном опорном кадре включает в себя: в режиме предсказания 2N*2N в случае, когда определено, что нормальный опорный кадр и/или долговременный опорный кадр не является целевым опорным кадром в режиме предсказания ОБЪЕДИНЕНИЕ, проводится сужение диапазона поиска целевого сопоставляемого блока в нормальном опорном кадре и/или в долговременном опорном кадре.
[0077] Согласно этому варианту осуществления настоящего раскрытия, в случае, когда поиск целевого сопоставляемого блока выполняется согласно режиму предсказания 2N*2N, поскольку текущий найденный опорный кадр не является оптимальным опорным кадром, определенным в режиме предсказания ОБЪЕДИНЕНИЕ, вероятность того, что целевой сопоставляемый блок может быть найден в текущем опорном кадре, очень мала, где текущий опорный кадр может быть нормальным опорным кадром или долговременным опорным кадром. Для улучшения эффективности поиска можно сузить диапазон поиска целевого сопоставляемого блока в текущем опорном кадре, например его можно сузить до 1/3 от начального диапазона поиска и для поиска выбираются только 1/3 опорных кадров в нормальном опорном кадре и в долговременном опорном кадре.
[0078] На основании вышеупомянутого варианта осуществления раскрытия, основанный на опорном индексе поиск целевого сопоставляемого блока в нормальном опорном кадре и/или в долговременном опорном кадре предусматривает стадию: поиск целевого сопоставляемого блока на основании алгоритма алмазного поиска и опорного индекса в нормальном опорном кадре и/или в долговременном опорном кадре в случае, когда информация атрибутов о подлежащем кодированию кадре изображения включает в себя информацию В-кадра и информацию неключевого кадра.
[0079] В случае, когда информация атрибутов о подлежащем кодированию кадре изображения включает в себя информацию В-кадра и информацию неключевого кадра, подлежащий кодированию кадр изображения может быть небольшим В-кадром. Роль подлежащего кодированию кадра изображения в видео не является очевидной, и алгоритм алмазного поиска можно использовать для поиска целевого сопоставляемого блока для улучшения скорости поиска целевого сопоставляемого блока.
[0080] Вариант осуществления 4
[0081] На фиг. 6 показана упрощенная блок-схема устройства для кодирования видео на основании долговременного опорного кадра согласно варианту осуществления 4 настоящего раскрытия; Устройство для кодирования видео на основании долговременного опорного кадра может выполнять способ для кодирования видео на основании долговременного опорного кадра, предложенный в любом варианте осуществления настоящего раскрытия, и включать в себя соответствующие функциональные модули для выполнения способа. Устройство может быть реализовано аппаратными и/или программными средствами и включает в себя настроечный модуль 401, индексный модуль 402 и кодирующий модуль 403.
[0082] Настроечный модуль 401 выполнен с возможностью настроить долговременный опорный кадр согласно информации атрибутов кадра изображения.
[0083] Индексный модуль 402 выполнен с возможностью определить опорный индекс подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра.
[0084] Кодирующий модуль 403 выполнен с возможностью получить целевой сопоставляемый блок посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения.
[0085] Согласно этому варианту осуществления настоящего раскрытия, настроечный модуль настраивает кадр изображения в качестве долговременного опорного кадра согласно информации атрибутов, индексный модуль определяет опорный индекс подлежащего кодированию кадра изображения на основании долговременного опорного кадра и нормального опорного кадра, а кодирующий модуль получает целевой сопоставляемый блок для подлежащего кодированию кадра изображения посредством выполнения интерпредсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения. Долговременный опорный кадр заранее настроен согласно информации атрибутов кадра изображения, вследствие этого достигается точная настройка долговременного опорного кадра. Опорный индекс определяется на основании долговременного опорного кадра, и получается целевой сопоставляемый блок, вследствие этого снижаются накладные расходы на вычисления в процессе кодирования, и снижается сложность кодирования на основании идеи обеспечения эффективности сжатия при кодировании изображения.
[0086] Вариант осуществления 5
[0087] На фиг. 7 показана упрощенная блок-схема вычислительного устройства для кодирования видео согласно варианту осуществления 5 настоящего раскрытия. Как показано на фиг. 7, вычислительное устройство включает в себя процессор 50, память 51, входную аппаратуру 52 и выходную аппаратуру 53. В устройстве может быть один или более процессоров 50. На фиг. 7 в качестве примера используется один процессор 50. Процессор 50, память 51, входная аппаратура 52 и выходная аппаратура 53 вычислительного устройства могут быть соединены друг с друга с помощью шины или другим образом. На фиг. 7 в качестве примера соединение выполнено с помощью шины.
[0088] В качестве машиночитаемого носителя данных память 51 может быть выполнена с возможностью хранить одну или более программ программного обеспечения, одну или более выполняемых компьютером программ и один или более модулей, например, модулей (то есть настроечный модуль 401, индексный модуль 402 и кодирующий модуль 403) устройства для кодирования видео согласно варианту осуществления 4 настоящего раскрытия. Процессор 50 после загрузки и выполнения одной или более программ, одной или более инструкций, или одного или более модулей, хранящихся в памяти 51, выполняет множество функциональных приложений и обработки данных вычислительного устройства, то есть, выполняет вышеупомянутый способ для кодирования видео на основании долговременного опорного кадра.
[0089] Память 51 может содержать в себе область хранения программы и область хранения данных. В области хранения программы может храниться операционная система и по меньшей мере одна прикладная программа, необходимая для функции; а в области хранения данных могут храниться данные, созданные согласно использованию терминала, и тому подобные. Кроме того, память 51 может содержать в себе высокоскоростное оперативное запоминающее устройство, и может дополнительно содержать в себе энергонезависимую память, например по меньшей мере одно устройство памяти на магнитном диске, устройство флеш-памяти, или другое энергонезависимое полупроводниковое устройство памяти. Согласно некоторым примерам память 51 может дополнительно содержать в себе память, расположенную дистанционно относительно процессора 50. Дистанционная память может быть соединена с устройством с помощью сети. Примеры вышеупомянутой сети включают в себя, помимо прочего, интернет, интранет, локальную вычислительную сеть, сеть мобильной связи и их комбинацию.
[0090] Входная аппаратура 52 может быть выполнена с возможностью принимать вводимую численную или текстовую информацию, и создавать сигнал ввода с клавиш, относящийся к пользователю, настраивающему устройство или осуществляющему управление им. Выходная аппаратура 53 может включать в себя устройство отображения, например, экран дисплея.
[0091] Вариант осуществления 6
[0092] Согласно варианту осуществления 6 настоящего раскрытия дополнительно предложен энергонезависимый носитель данных, на котором хранится одна или более выполняемых компьютером инструкций. Одна или более инструкций, когда они загружены и выполняются процессором компьютера, заставляют процессор компьютера выполнять способ для кодирования видео, причем этот способ предусматривает следующие стадии: настройка долговременного опорного кадра согласно информации атрибутов кадра изображения; определение опорного индекса для подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и получение целевого сопоставляемого блока посредством выполнения интер-предсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения.
[0093] Конечно, выполняемая компьютером инструкция, хранящаяся на носителе данных, предложенном в этом варианте осуществления настоящего раскрытия, не ограничена выполнением вышеупомянутого способа, и может дополнительно выполнять операции, относящиеся к способу для кодирования видео, предложенные согласно любому варианту осуществления настоящего раскрытия.
[0094] Согласно вышеупомянутым описаниям вариантов осуществления, специалист в данной области техники может ясно понимать, что настоящее раскрытие может быть реализовано с помощью программного обеспечения и необходимого обычного аппаратного обеспечения, или, несомненно, может быть реализовано с помощью аппаратного обеспечения. На основании такого понимания технические решения настоящего раскрытия, вносящие существенный или частичный вклад в известный уровень технических решений, могут быть реализованы в виде программного продукта. Программный продукт для компьютера может храниться на машиночитаемом носителе данных, например, на гибкой дискете, в постоянном запоминающем устройстве (ПЗУ), в оперативном запоминающем устройстве (ОЗУ), во флеш-памяти, на жестком диске или на оптическом диске компьютера, и может содержать в себе несколько инструкций для указания вычислительному устройству (которое может быть персональным компьютером, сервером, сетевым устройством или к тому подобным) выполнения способов согласно вариантам осуществления настоящего раскрытия.
[0095] Следует отметить, что согласно вышеупомянутому варианту осуществления устройства для кодирования видео включенное в него множество блоков и модулей разделены только согласно функциональной логике, но они не ограничены вышеупомянутым разделением, могут быть применены другие разделения при условии реализации соответствующих функций. Кроме того, названия множества функциональных блоков указаны только с целью различения их друг от друга, и они не предназначены для ограничения объема правовой охраны настоящего раскрытия. Кроме того, термин «и/или» при использовании со списком элементов означает любой один из этих элементов или их комбинацию, кроме случаев, когда контекст явно оговаривает иное. Например, «X, Y и/или Z» обозначает «X», «Y», «Z», «X и Y», «X и Z», «Y и Z» или «X, Y и Z» или любое сочетание из вышеупомянутого.
Изобретение относится к технологии обработки изображения, в частности к кодированию видео на основании долговременного опорного кадра. Техническим результатом является повышение эффективности сжатия видео. Результат достигается тем, что выполняют следующие стадии: настройка долговременного опорного кадра согласно информации атрибутов кадра изображения; определение опорного индекса для подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и получение целевого сопоставляемого блока посредством выполнения интер-предсказания на основании опорного индекса, чтобы осуществить кодирование подлежащего кодированию кадра изображения; причем настройка долговременного опорного кадра соответственно информации атрибутов кадра изображения предусматривает стадию настройки долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения. 4 н. и 8 з.п. ф-лы, 7 ил., 1 табл.
1. Способ для кодирования видео на основании долговременного опорного кадра, предусматривающий стадии:
настройка долговременного опорного кадра согласно информации атрибутов кадра изображения;
определение опорного индекса подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и
получение целевого сопоставляемого блока посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения;
причем настройка долговременного опорного кадра согласно информации атрибутов кадра изображения предусматривает стадии:
настройка долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения, причем степень избыточности во временной области указывает на степень наличия того же самого кодируемого макроблока в кадре изображения и в его соседнем кадре изображения, а степень избыточности в пространственной области указывает на степень наличия того же самого кодируемого макроблока внутри кадра изображения.
2. Способ по п. 1, в котором настройка долговременного опорного кадра согласно информации атрибутов кадра изображения предусматривает стадии:
извлечение, для каждого кадра изображения из множества кадров изображения, типа кадра из информации атрибутов, соответствующей кадру изображения; и
настройка кадра изображения, соответствующего типу кадра, в качестве долговременного опорного кадра в случае, когда тип кадра является по меньшей мере одним кадром из ключевого кадра или кадра переключения сценария.
3. Способ по п. 1, в котором настройка долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения предусматривает стадии:
определение для каждого кадра изображения из множества кадров изображения затрат на межкадровое кодирование и затрат на внутрикадровое кодирование соответственно, причем затраты на межкадровое кодирование отражают степень избыточности во временной области, а затраты на внутрикадровое кодирование отражают степень избыточности в пространственной области, степень избыточности во временной области является обратно пропорциональной затратам на межкадровое кодирование, а степень избыточности в пространственной области является обратно пропорциональной затратам на внутрикадровое кодирование;
определение текущего отношения затрат кодирования для текущего кадра изображения на основании значений затрат на внутрикадровое кодирование и затрат на межкадровое кодирование;
определение первого отношения затрат на кодирование кадра изображения, предыдущего для текущего кадра изображения, и второго отношения затрат на кодирование для кадра изображения перед предыдущим кадром изображения, и определение дисперсии отношения для текущего отношения затрат на кодирование, первого отношения затрат на кодирование и второго отношения затрат на кодирование; и
настройка текущего кадра изображения в качестве долговременного опорного кадра в случае, когда определено, что второе отношение затрат на кодирование, первое отношение затрат на кодирование и текущее отношение затрат на кодирование последовательно уменьшаются, и дисперсия отношения меньше значения порога.
4. Способ по любому из пп. 1-3, в котором определение опорного индекса подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра предусматривает стадии:
определение на основании нормального опорного кадра и долговременного опорного кадра и последовательно согласно режиму предсказания первого типа, режиму предсказания второго типа и режиму предсказания третьего типа опорного индекса, соответствующего подлежащему кодированию кадру изображения, причем
режим предсказания первого типа по меньшей мере включает в себя режим предсказания ОБЪЕДИНЕНИЕ или режим предсказания ПРОПУСК, режим предсказания второго типа по меньшей мере включает в себя режим предсказания 2N*2N или режим предсказания ДВУНАПР, а режим предсказания третьего типа по меньшей мере включает в себя режим предсказания 2N*N, режим предсказания N*2N, режим предсказания 2N*nD, режим предсказания 2N*nU, режим предсказания nR*2N или режим предсказания nL*2N.
5. Способ по п. 4, в котором определение на основании нормального опорного кадра и долговременного опорного кадра и последовательно согласно режиму предсказания первого типа, режиму предсказания второго типа и режиму предсказания третьего типа опорного индекса, соответствующего подлежащему кодированию кадру изображения, предусматривает стадии:
получение кодируемого макроблока подлежащего кодированию кадра изображения согласно режиму предсказания первого типа и создание первого опорного индекса, соответствующего подлежащему кодированию кадру изображения в режиме предсказания первого типа посредством объединения информации целевых опорных индексов левого блока, верхнего левого блока, верхнего блока, верхнего правого блока и нижнего левого блока кодируемого макроблока и опорного кодируемого макроблока, положение которого соответствует кодируемому макроблоку во временной области, причем опорный кодируемый макроблок расположен по меньшей мере в одном нормальном опорном кадре или в долговременном опорном кадре;
выполнение рекурсивного кодирования на кодируемом макроблоке подлежащего кодированию кадра изображения, определение родительского опорного индекса объединения на основании информации целевого опорного индекса родительского кодируемого блока в кодируемом макроблоке и определение дочернего опорного индекса объединения на основании информации целевого опорного индекса дочернего кодируемого блока в кодируемом макроблоке;
определение первого опорного индекса, родительского опорного индекса объединения и дочернего опорного индекса объединения в качестве второго опорного индекса, соответствующего подлежащего кодированию кадру изображения в режиме предсказания второго типа; и
поиск третьего опорного индекса, соответствующего подлежащему кодированию кадру изображения, в заранее определенной таблице конфигурации индексов на основании типа режима у режима предсказания третьего типа.
6. Способ по п. 5, в котором взаимосвязь соответствия между типом режима и третьим опорным индексом в заранее определенной таблице конфигурации индексов предусматривает по меньшей мере одну из следующих стадий:
в случае, когда тип режима является режимом предсказания 2N*N, верхний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса второго дочернего кодируемого блока в процессе рекурсивного кодирования, а нижний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса третьего дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования;
в случае, когда тип режима является режимом предсказания N*2N, левый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса третьего дочернего кодируемого блока в процессе рекурсивного кодирования, а правый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса второго дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования;
в случае, когда тип режима является режимом предсказания 2N*nD, верхний индекс третьего опорного индекса является равным второму опорному индексу, а нижний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса третьего дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования;
в случае, когда тип режима является режимом предсказания 2N*nU, верхний индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса второго дочернего кодируемого блока в процессе рекурсивного кодирования, а нижний индекс третьего опорного индекса является равным второму опорному индексу;
в случае, когда тип режима является режимом предсказания nR*2N, левый индекс третьего опорного индекса является равным второму опорному индексу, а правый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса второго дочернего кодируемого блока и информации целевого опорного индекса четвертого дочернего кодируемого блока в процессе рекурсивного кодирования; и
в случае, когда тип режима является режимом предсказания nL*2N, левый индекс третьего опорного индекса определяется на основании информации целевого опорного индекса первого дочернего кодируемого блока и информации целевого опорного индекса третьего дочернего кодируемого блока в процессе рекурсивного кодирования, а правый индекс третьего опорного индекса является равным второму опорному индексу, причем
первый дочерний кодируемый блок, второй дочерний кодируемый блок, третий дочерний кодируемый блок и четвертый дочерний кодируемый блок являются соответственно верхним левым дочерним кодируемым блоком, верхним правым дочерним кодируемым блоком, нижним левым дочерним кодируемым блоком и нижним правым дочерним кодируемым блоком в четырех дочерних кодируемых блоках, созданными посредством сегментации кодируемого макроблока во время процесса рекурсивного кодирования.
7. Способ по п. 1 или 5, в котором получение целевого сопоставляемого блока выполняется посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения, предусматривает стадии:
поиск целевого сопоставляемого блока на основании опорного индекса по меньшей мере в одном кадре из нормального опорного кадра или долговременного опорного кадра; и
выполнение на основании целевого сопоставляемого блока кодирования со сжатием на подлежащем кодированию кадре изображения.
8. Способ по п. 7, в котором поиск целевого сопоставляемого блока на основании опорного индекса по меньшей мере в одном кадре из нормального опорного кадра или долговременного опорного кадра предусматривает стадию:
в режиме предсказания 2N*2N в случае, когда определено, что по меньшей мере один кадр из нормального опорного кадра или долговременного опорного кадра не является целевым опорным кадром в режиме предсказания ОБЪЕДИНЕНИЕ, выполняется сужение диапазона поиска целевого сопоставляемого блока по меньшей мере в одном кадре из нормального опорного кадра или долговременного опорного кадра.
9. Способ по п. 7, в котором поиск целевого сопоставляемого блока на основании опорного индекса по меньшей мере в одном кадре из нормального опорного кадра или долговременного опорного кадра предусматривает стадию:
поиск на основании алгоритма алмазного поиска целевого сопоставляемого блока по меньшей мере в одном кадре из нормального опорного кадра или долговременного опорного кадра в случае, когда информация атрибутов о подлежащем кодированию кадре изображения включает в себя информацию В-кадра и информацию неключевого кадра.
10. Устройство для кодирования видео, включающее в себя:
настроечный модуль, выполненный с возможностью настроить долговременный опорный кадр согласно информации атрибутов кадра изображения;
индексный модуль, выполненный с возможностью определить опорный индекс подлежащего кодированию кадра изображения на основании нормального опорного кадра и долговременного опорного кадра; и
кодирующий модуль, выполненный с возможностью получить целевой сопоставляемый блок посредством осуществления интер-предсказания на основании опорного индекса, чтобы выполнить кодирование подлежащего кодированию кадра изображения;
причем настроечный модуль дополнительно выполнен с возможностью настройки долговременного опорного кадра на основании степени избыточности во временной области и степени избыточности в пространственной области для кадра изображения, причем степень избыточности во временной области указывает на степень наличия того же самого кодируемого макроблока в кадре изображения и в его соседнем кадре изображения, а степень избыточности в пространственной области указывает на степень наличия того же самого кодируемого макроблока внутри кадра изображения.
11. Вычислительное устройство для кодирования видео на основании долговременного опорного кадра, включающее в себя:
один или более процессоров; и
память, выполненную с возможностью хранить одну или более программ, причем
одна или более программ, при загрузке и выполнении одним или более процессорами, заставляют один или более процессоров выполнить способ для кодирования видео на основании долговременного опорного кадра, как определено по любому из пп. 1-9.
12. Энергонезависимый машиночитаемый носитель данных, в котором хранится одна или более программ для компьютера, причем одна или более программ для компьютера, при загрузке и выполнении процессором вычислительного устройства, заставляют вычислительное устройство выполнить способ для кодирования видео на основании долговременного опорного кадра, как определено по любому из пп. 1-9.
US 8861598 B2, 2014.10.14 | |||
CN 107820095 A, 2018.03.20 | |||
US 2019045217 A1, 2019.02.07 | |||
CN 111405282 A, 2020.07.10 | |||
US 9479776 B2, 2016.10.25 | |||
US 8494049 B2, 2013.07.23 | |||
US 9674542 B2, 2017.06.06 | |||
US 2015304671 A1, 2015.10.22 | |||
КОДИРОВАНИЕ ВИДЕО ПРИ ПОМОЩИ БОЛЬШИХ МАКРОБЛОКОВ | 2009 |
|
RU2533196C2 |
Авторы
Даты
2023-07-10—Публикация
2021-04-21—Подача