Предсказание векторов движения при кодировании видео

Иллюстрации

Показать все

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

Реферат

[0001] Это раскрытие сущности испрашивает приоритет предварительной заявки на патент (США) № 61/477,561, поданной 20 апреля 2011 года, и предварительной заявки на патент (США) № 61/512,765, поданной 28 июля 2011 года, содержимое обеих из которых полностью содержится в данном документе по ссылке.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0002] Данное раскрытие сущности относится к кодированию видео.

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

[0003] Поддержка цифрового видео может быть включена в широкий диапазон устройств, включающих в себя цифровые телевизионные приемники, системы цифровой прямой широковещательной передачи, беспроводные широковещательные системы, персональные цифровые устройства (PDA), переносные или настольные компьютеры, планшетные компьютеры, устройства для чтения электронных книг, цифровые камеры, цифровые записывающие устройства, цифровые мультимедийные проигрыватели, устройства видеоигр, консоли для видеоигр, сотовые или спутниковые радиотелефоны, так называемые "смартфоны", устройства видеоконференц-связи, устройства потоковой передачи видео и т.п. Цифровые видеоустройства реализуют такие технологии сжатия видео, как технологии сжатия видео, описанные в стандартах, заданных посредством разрабатываемых в настоящее время стандартов MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), стандарта высокоэффективного кодирования видео (HEVC), и расширений таких стандартов. Видеоустройства могут передавать, принимать, кодировать, декодировать и/или сохранять цифровую видеоинформацию более эффективно посредством реализации таких технологий сжатия видео.

[0004] Способы сжатия видео выполняют пространственное (внутрикадровое, intra-picture) предсказание и/или временное (межкадровое, inter-picture) предсказание для того, чтобы уменьшать или удалять избыточность, внутренне присущую в видеопоследовательностях. Для блочного кодирования видео срез (секция) видео (т.е. изображение или часть изображения) может быть разделен на видеоблоки, которые также могут называться "древовидными блоками", "единицами кодирования (CU)" и/или "узлами кодирования". Видеоблоки во внутренне-кодированном (I) срезе изображения кодируются с использованием пространственного предсказания относительно опорных выборок в соседних блоках в идентичном изображении. Видеоблоки во внешне кодированном (P- или B-) срезе изображения могут использовать пространственное предсказание относительно опорных выборок в соседних блоках в идентичном изображении или временное предсказание относительно опорных выборок в других опорных изображениях.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

[0016] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему кодирования и декодирования видео, которая может использовать технологии, описанные в этом раскрытии сущности.

[0017] Фиг. 2 является блок-схемой, иллюстрирующей примерный видеокодер, который может реализовывать способы, описанные в этом раскрытии сущности.

[0018] Фиг. 3 является блок-схемой, иллюстрирующей примерный видеодекодер, который может реализовывать способы, описанные в этом раскрытии сущности.

[0019] Фиг. 4 является концептуальной схемой, иллюстрирующей примерный шаблон предсказания по стандарту кодирования многовидового видео (MVC).

[0020] Фиг. 5 является блок-схемой, иллюстрирующей примерные местоположения для кандидатов предикторов вектора движения.

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

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

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

[0024] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей примерный способ кодирования информации предсказания для блока видеоданных.

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

[0028] В некоторых случаях, также применяется кодирование с предсказанием векторов движения, чтобы дополнительно уменьшать объем данных, требуемых для того, чтобы передавать вектор движения. Когда вектор движения устанавливается, он исходит из целевого изображения к опорному изображению. Вектор движения может пространственно или временно предсказываться. Пространственно предсказанный вектор движения ассоциирован с доступными пространственными блоками (блоком для идентичного момента времени). Временно предсказанный вектор движения ассоциирован с доступными временными блоками (блоком для другого момента времени). В случае предсказания векторов движения, вместо кодирования и передачи самого вектора движения, кодер кодирует и передает разность векторов движения (MVD) относительно известного (или узнаваемого) вектора движения. В H.264/AVC известный вектор движения, который может быть использован с MVD, чтобы задавать текущий вектор движения, может быть задан посредством так называемого предиктора вектора движения (MVP). Для того чтобы быть допустимым MVP, вектор движения должен указывать на изображение, идентичное изображению вектора движения, в данный момент кодируемого посредством MVP и MVD.

[0029] Видеокодер может компоновать список кандидатов предикторов вектора движения, который включает в себя несколько соседних блоков в пространственном и временном направлениях в качестве кандидатов для MVP. В этом случае, видеокодер может выбирать самый точный предиктор из набора кандидатов на основе анализа скорости кодирования и искажения (например, с использованием анализа функции затрат на искажение в зависимости от скорости передачи или другого анализа эффективности кодирования). Индекс предиктора вектора движения (mvp_idx) может быть передан в видеодекодер, чтобы сообщать в декодер то, где находить MVP. MVD также передается. Декодер может комбинировать MVD с MVP (заданным посредством индекса предиктора вектора движения) с тем, чтобы восстанавливать вектор движения.

[0030] Также может быть доступным так называемый "режим слияния", в котором информация движения (такая как векторы движения, индексы опорных изображений, направления предсказания или другая информация) соседнего видеоблока наследуется для текущего кодируемого видеоблока. Значение индекса может быть использовано для того, чтобы идентифицировать соседа, из которого текущий видеоблок наследует свою информацию движения.

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

[0032] Кодированные виды могут использоваться для трехмерного отображения видеоданных. Например, два вида (например, виды для левого и правого глаза человека-зрителя) могут отображаться одновременно или практически одновременно с использованием различных поляризаций света, и зритель может носить пассивные поляризованные очки, так что каждый из глаз зрителя принимает соответствующий из видов. Альтернативно, зритель может носить активные очки, которые закрывают каждый глаз независимо, и отображение может быстро чередоваться между изображениями для каждого глаза синхронно с очками.

[0033] В MVC конкретное изображение конкретного вида называется "компонентой вида". Иными словами, компонента вида для вида соответствует конкретному временному моменту вида. Типично, идентичные или соответствующие объекты двух видов не являются совместно размещенными. Термин "вектор диспаратности" может быть использован как означающий вектор, который указывает смещение объекта в изображении вида относительно соответствующего объекта в другом виде. Такой вектор также может называться "вектором смещения". Вектор диспаратности также может быть применимым к пикселю или блоку видеоданных изображения. Например, пиксель в изображении первого вида может быть смещен относительно соответствующего пикселя в изображении второго вида посредством конкретной диспаратности, связанной с отличающимися местоположениями камеры, из которых захватываются первый вид и второй вид. В некоторых примерах, диспаратность может быть использована для того, чтобы предсказывать вектор движения от одного вида до другого вида.

[0034] В контексте MVC изображения одного вида могут быть предсказаны из изображений другого вида. Например, блок видеоданных может быть предсказан относительно блока видеоданных в опорном изображении идентичного временного момента, но другого вида. В примере, блок, который в данный момент кодируется, может называться "текущим блоком". Вектор движения, прогнозирующий текущий блок из блока в другом виде, но в идентичный момент времени, называется "вектором диспаратности движения". Вектор диспаратности движения типично является применимым в контексте кодирования многовидового видео, в котором несколько видов могут быть доступными. Согласно этому раскрытию сущности, "расстояние для вида" для вектора диспаратности движения может означать разность перемещения между видом опорного изображения и видом целевого изображения. Иными словами, расстояние для вида может представляться как разность идентификаторов видов между идентификатором вида опорного изображения и идентификатором вида целевого изображения.

[0035] Другой тип вектора движения является "временным вектором движения". В контексте кодирования многовидового видео, временной вектор движения означает вектор движения, прогнозирующий текущий блок из блока в другой момент времени, но в идентичном виде. Согласно этому раскрытию сущности, "временное расстояние" временного вектора движения может означать расстояние на основе номера в последовательности изображений (POC) от опорного изображения до целевого изображения.

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

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

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

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

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

[0041] В некоторых примерах, когда вектор движения, прогнозируемый из другого вида, является временным вектором движения, вектор движения может масштабироваться на основе разности в расстояниях на основе номера в последовательности изображений (POC). Например, согласно аспектам этого раскрытия сущности, если опорное изображение временного вектора движения, использующегося для предсказания, имеет POC-значение, идентичное POC-значению опорного изображения прогнозируемого текущего вектора движения, и целевое изображение временного вектора движения, использующегося для предсказания, имеет POC-значение, идентичное POC-значению опорного изображения прогнозируемого текущего вектора движения, вектор движения, использующийся для предсказания, не может масштабироваться. Тем не менее, в противном случае, вектор движения, использующийся для предсказания, может масштабироваться на основе разности в POC-значении между опорным изображением вектора движения, использующегося для предсказания, и опорным изображением вектора движения, в данный момент прогнозируемого.

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

[0043] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 10 кодирования и декодирования видео, которая может использовать способы для предсказания векторов движения при многовидовом кодировании. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое предоставляет кодированные видеоданные, которые должны быть декодированы позднее посредством устройства-адресата 14. В частности, устройство-источник 12 предоставляет видеоданные в устройство-адресат 14 через считываемый компьютером носитель 16. Устройство-источник 12 и устройство-адресат 14 могут содержать любые из широкого диапазона устройств, включающих в себя настольные компьютеры, ноутбуки (т.е. переносные компьютеры), планшетные компьютеры, абонентские приставки, телефонные аппараты, к примеру, так называемые смартфоны, так называемые интеллектуальные планшеты, телевизионные приемники, камеры, устройства отображения, цифровые мультимедийные проигрыватели, консоли для видеоигр, устройство потоковой передачи видео и т.п. В некоторых случаях устройство-источник 12 и устройство-адресат 14 могут быть оснащены возможностями беспроводной связи.

[0044] Устройство-адресат 14 может принимать кодированные видеоданные, которые должны быть декодированы, через считываемый компьютером носитель 16. Считываемый компьютером носитель 16 может содержать любой тип носителя или устройства, допускающего перемещение кодированных видеоданных из устройства-источника 12 в устройство-адресат 14. В одном примере считываемый компьютером носитель 16 может содержать среду связи, чтобы давать возможность устройству-источнику 12 передавать кодированные видеоданные непосредственно в устройство-адресат 14 в реальном времени.

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

[0046] В некоторых примерах кодированные данные могут выводиться из интерфейса 22 вывода в устройство хранения данных. Аналогично, к кодированным данным может осуществляться доступ из устройства хранения данных посредством интерфейса ввода. Устройство хранения данных может включать в себя любые из множества носителей хранения данных с распределенным или локальным доступом, такие как жесткий диск, Blu-Ray-диски, DVD, CD-ROM, флэш-память, энергозависимое или энергонезависимое запоминающее устройство или любые другие подходящие цифровые носители хранения данных для сохранения кодированных видеоданных. В дополнительном примере устройство хранения данных может соответствовать файловому серверу или другому промежуточному устройству хранения данных, которое может сохранять кодированное видео, сгенерированное посредством устройства-источника 12.

[0047] Устройство-адресат 14 может осуществлять доступ к сохраненным видеоданным из устройства хранения данных через потоковую передачу или загрузку. Файловый сервер может быть любым типом сервера, допускающего сохранение кодированных видеоданных и передачу этих кодированных видеоданных в устройство-адресат 14. Примерные файловые серверы включают в себя веб-сервер (например, для веб-узла), FTP-сервер, устройства системы хранения данных с подключением по сети (NAS) или локальный накопитель на дисках. Устройство-адресат 14 может осуществлять доступ к кодированным видеоданным через любое стандартное подключение для передачи данных, включающее в себя Интернет-подключение. Оно может включать в себя беспроводной канал (например, Wi-Fi-подключение), проводное подключение (например, DSL, кабельный модем и т.д.) или комбинацию означенного, которая является подходящей для того, чтобы осуществлять доступ к кодированным видеоданным, сохраненным на файловом сервере. Передача кодированных видеоданных из устройства хранения данных может представлять собой потоковую передачу, передачу на основе загрузки или комбинацию вышеозначенного.

[0048] Способы этого раскрытия сущности не обязательно ограничены приложениями или настройками беспроводной связи. Способы могут применяться к кодированию видео в поддержку любых из множества мультимедийных приложений, таких как телевизионные широковещательные передачи по радиоинтерфейсу, кабельные телевизионные передачи, спутниковые телевизионные передачи, потоковые передачи видео по Интернету, такие как динамическая адаптивная потоковая передача по HTTP (DASH), цифровое видео, которое кодируется на носитель хранения данных, декодирование цифрового видео, сохраненного на носителе хранения данных, или другие приложения. В некоторых примерах система 10 может быть выполнена с возможностью поддерживать одностороннюю или двустороннюю передачу видео, чтобы поддерживать такие приложения, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония.

[0049] В примере по фиг. 1 устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20 и интерфейс 22 вывода. Устройство-адресат 14 включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В соответствии с этим раскрытием сущности, видеокодер 20 устройства-источника 12 может быть выполнен с возможностью применять способы для предсказания векторов движения при многовидовом кодировании. В других примерах устройство источник и устройство адресат могут включать в себя другие компоненты или компоновки. Например, устройство-источник 12 может принимать видеоданные из внешнего видеоисточника 18, такого как внешняя камера. Аналогично, устройство-адресат 14 может взаимодействовать с внешним устройством отображения вместо включения в себя интегрированного устройства отображения.

[0050] Проиллюстрированная система 10 по фиг. 1 является просто одним примером. Способы для предсказания векторов движения при многовидовом кодировании могут выполняться посредством любого устройства кодирования и/или декодирования цифрового видео. Хотя, в общем, способы этого раскрытия сущности выполняются посредством устройства кодирования видео, способы также могут выполняться посредством видеокодера/декодера, типично называемого "кодеком". Кроме того, способы этого раскрытия сущности также могут выполняться посредством видеопрепроцессора. Устройство-источник 12 и устройство-адресат 14 являются просто примерами таких устройств кодирования, в которых устройство-источник 12 формирует кодированные видеоданные для передачи в устройство-адресат 14. В некоторых примерах устройства 12, 14 могут ра