Отдельное кодирование позиции последнего значимого коэффициента видеоблока при кодировании видео

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

 

[0001] Данная заявка притязает на приоритет предварительной заявки на патент (США) № 61/419740, поданной 3 декабря 2010 года, содержимое которой полностью содержится в данном документе по ссылке.

Область техники, к которой относится изобретение

[0002] Данное раскрытие сущности относится к кодированию видео, а более конкретно, к кодированию синтаксической информации, связанной с коэффициентами видеоблока.

Уровень техники

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

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

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

Сущность изобретения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

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

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

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

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

[0025] Фиг. 5A-5C являются концептуальными схемами, которые иллюстрируют примеры блоков видеоданных, сканированных с использованием зигзагообразного порядка сканирования, горизонтального порядка сканирования и вертикального порядка сканирования.

[0026] Фиг. 6A-6B являются концептуальными схемами, которые иллюстрируют примеры информации позиции последнего значимого коэффициента для блоков видеоданных.

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

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

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

Подробное описание изобретения

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

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

[0032] В этом раскрытии сущности, термин "кодирование" (coding) означает кодирование (encoding), которое осуществляется в кодере, или декодирование, которое осуществляется в декодере. Аналогично, термин "кодер" (coder) означает кодер (encoder), декодер или комбинированный кодер/декодер ("кодек"). Термины кодер (coder), кодер (encoder), декодер и кодек означают конкретные машины, спроектированные с возможностью кодирования (coding) (кодирования (encoding) и/или декодирования) видеоданных в соответствии с этим раскрытием сущности.

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

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

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

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

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

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

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

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

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

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

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

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

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

[0046] Видеоисточник 18 исходного устройства 12 может включать в себя устройство видеозахвата, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, и/или видеопередачу от поставщика видеосодержимого. В качестве дополнительной альтернативы, видеоисточник 18 может формировать основанные на компьютерной графике данные в качестве исходного видео или комбинацию передаваемого вживую видео, архивного видео и машиногенерируемого видео. В некоторых случаях, если видеоисточником 18 является видеокамера, исходное устройство 12 и целевое устройство 14 могут формировать так называемые камерофоны или видеофоны. Тем не менее, как упомянуто выше, технологии, описанные в этом раскрытии сущности, могут быть применимыми к кодированию видео в целом и могут применяться к беспроводным и/или проводным вариантам применения. В каждом случае, захваченное, предварительно захваченное или машиногенерируемое видео может быть кодировано посредством видеокодера 20. Кодированная видеоинформация затем может быть модулирована посредством модема 22 согласно стандарту связи и передана в целевое устройство 14 через передающее устройство 24. Модем 22 может включать в себя различные микшеры, фильтры, усилители или другие компоненты, спроектированные с возможностью модуляции сигналов. Передающее устройство 24 может включать в себя схемы, разработанные для передачи данных, в том числе усилители, фильтры и одну или более антенн.

[0047] Приемное устройство 26 целевого устройства 14 принимает информацию по каналу 16, и модем 28 демодулирует информацию. С другой стороны, процесс кодирования видео, описанный выше, может реализовывать одну или более технологий, описанных в данном документе, чтобы кодировать информацию позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока. Информация, передаваемая по каналу 16, может включать в себя синтаксическую информацию, заданную посредством видеокодера 20, которая также используется посредством видеодекодера 30, которая включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку блоков видеоданных (например, макроблоков или единиц кодирования), например, информацию позиции последнего значимого коэффициента и информацию позиции значимых коэффициентов для блоков, а также другую информацию. Устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как дисплей на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.

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

[0049] Видеокодер 20 и видеодекодер 30 могут работать согласно такому стандарту сжатия видео, как стандарт ITU-T H.264, альтернативно упоминаемый как MPEG-4, часть 10, усовершенствованное кодирование видео (AVC). Тем не менее, технологии этого раскрытия сущности не ограничены каким-либо конкретным стандартом кодирования. Другие примеры включают в себя разрабатываемые в настоящее время стандарты MPEG-2, ITU-T H.263 и стандарт высокоэффективного кодирования видео (HEVC). В общем, технологии этого раскрытия сущности описываются относительно HEVC, но следует понимать, что эти технологии также могут быть использованы в сочетании с другими стандартами кодирования видео. Хотя не показано на фиг. 1, в некоторых аспектах, видеокодер 20 и видеодекодер 30 могут быть интегрированы с аудио-кодером и декодером, соответственно, и могут включать в себя соответствующие модули мультиплексора-демультиплексора либо другие аппаратные средства и программное обеспечение, чтобы обрабатывать кодирование как аудио, так и видео в общем потоке данных или в отдельных потоках данных. Если применимо, модули мультиплексора-демультиплексора могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

[0050] Видеокодер 20 и видеодекодер 30 могут быть реализованы как любая из множества надлежащих схем кодера и декодера, к примеру, один или более микропроцессоров, процессоры цифровых сигналов (DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA), дискретная логика, программное обеспечение, аппаратные средства, микропрограммное обеспечение либо любые комбинации вышеозначенного. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть комбинированного кодера/декодера (кодека) в соответствующей камере, компьютере, мобильном устройстве, абонентском устройстве, широковещательном устройстве, абонентской приставке, на сервере и т.п.

[0051] Видеопоследовательность типично включает в себя серии видеокадров. Группы изображений (GOP), в общем, содержат последовательность из одного или более видеокадров. GOP может включать в себя в заголовке GOP, заголовке одного или более кадров GOP или в другом месте синтаксические данные, которые описывают число кадров, включенных в GOP. Каждый кадр может включать в себя синтаксические данные кадра, которые описывают режим кодирования для соответствующего кадра. Видеокодер, например, видеокодер 20, типично управляет видеоблоками в отдельных видеокадрах, чтобы кодировать видеоданные. Согласно стандарту ITU-T H.264, видеоблок может соответствовать макроблоку или сегменту макроблока. Согласно другим стандартам, например, HEVC, подробнее описанным ниже, видеоблок может соответствовать единице кодирования (например, наибольшей единице кодирования) или сегменту единицы кодирования. Видеоблоки могут иметь фиксированный или варьирующийся размер и могут отличаться по размеру согласно заданному стандарту кодирования. Каждый видеокадр может включать в себя множество серий последовательных макроблоков, т.е. частей видеокадра. Каждая серия последовательных макроблоков может включать в себя множество видеоблоков, которые могут размещаться в сегментах, также называемых "субблоками".

[0052] В зависимости от указанного стандарта кодирования видеоблоки могут быть сегментированы на различные размеры субблоков "N×N", к примеру, 16×16, 8×8, 4×4, 2×2 и т.д. В этом раскрытии сущности, "N×N" и "N×N" могут быть использованы взаимозаменяемо для того, чтобы ссылаться на размеры пиксела блока с точки зрения размеров по вертикали и горизонтали, например, 16×16 пикселов или 16×16 пикселов. В общем, блок 16×16 должен иметь шестнадцать пикселов в вертикальном направлении (y=16) и шестнадцать пикселов в горизонтальном направлении (x=16). Аналогично, блок N×N, в общем, имеет N пикселов в вертикальном направлении и N пикселов в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пикселы в блоке могут размещаться в строках и столбцах. Кроме того, блок не обязательно должен иметь совпадающее число пикселов в горизонтальном направлении и в вертикальном направлении. Например, блоки могут содержать N×M пикселов, где M не обязательно равно N. В качестве одного примера, в стандарте ITU-T H.264, блоки, размер которых составляет 16×16 пикселов, могут упоминаться как макроблоки, а блоки, которые меньше 16×16 пикселов, может упоминаться как сегменты макроблока 16×16. В других стандартах, например, HEVC, блоки могут быть заданы, если обобщать, относительно своего размера, например, в качестве единиц кодирования и их сегментов, каждая из которых имеет варьирующийся, а не фиксированный размер.

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

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

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

[0056] В данный момент проводится работа, нацеленная на разработку нового стандарта кодирования видео, на сегодня называемого "стандартом высокоэффективного кодирования видео (HEVC)". Выходящий HEVC-стандарт также может упоминаться как H 265. Работа по стандартизации основана на модели устройства кодирования видео, называемого "тестовой моделью HEVC (HM)". HM предполагает несколько дополнительных возможностей устройств кодирования видео по сравнению с устройствами согласно, например, ITU-T H.264/AVC. Например, тогда как H.264 предоставляет девять режимов кодирования внутреннего прогнозирования, HM предоставляет целых тридцать пять режимов кодирования внутреннего прогнозирования, например, на основе размера кодируемого в режиме внутреннего прогнозирования блока.

[0057] HM ссылается на блок видеоданных в качестве единицы кодирования (CU). CU может ссылаться на прямоугольную область изображения, которая служит в качестве базовой единицы, к которой применяются различные инструментальные средства кодирования для сжатия. В H.264 она также может называться "макроблоком". Синтаксические данные в потоке битов могут задавать наибольшую единицу кодирования (LCU), которая является наибольшей CU с точки зрения числа пикселов. В общем, CU имеет назначение, аналогичное назначению макроблока H.264 за исключением того, что CU не имеет различия размера. Таким образом, CU может быть сегментирована или "разбита" на суб-CU.

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

[0059] CU, которая не разбивается (т.е. CU, соответствующая терминальному или "концевому" узлу в данном дереве квадрантов), может включать в себя одну или более единиц прогнозирования (PU). В общем, PU представляет всю или часть соответствующей CU и включает в себя данные для извлечения опорной выборки для PU для целей выполнения прогнозирования для CU. Например, когда CU кодируется во внутреннем режиме, PU может включать в себя данные, описывающие режим внутреннего прогнозирования для PU. В качестве другого примера, когда CU кодируется во взаимном режиме, PU может включать в себя данные, задающие вектор движения для PU. Данные, задающие вектор движения, могут описывать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешение для вектора движения (например, точность в одну четверть пиксела или точность в одну восьмую пиксела), опорный кадр, на который указывает вектор движения, и/или опорный список (например, список 0 или список 1) для вектора движения. Данные для CU, задающей или более PU для CU, также могут описывать, например, секционирование CU на одну или более PU. Режимы секционирования могут отличаться между тем, является CU некодированной, кодированной в режиме внутреннего прогнозирования или кодированной в режиме взаимного прогнозирования.

[0060] CU, имеющая одну или более PU, также может включать в себя одну или более единиц преобразования (TU). После прогнозирования для CU с использованием одной или более PU, как описано выше, видеокодер может вычислять один или более остаточных блоков для соответствующих частей CU согласно одной или более PU. Остаточные блоки могут представлять пикселную разность между видеоданными для CU и прогнозированными данными для одного или более PU. Набор остаточных значений может быть преобразован, отсканирован и квантован, чтобы задавать набор квантованных коэффициентов преобразования. TU может задавать структуру данных сегментов, которая указывает информацию сегментов для коэффициентов преобразования, которая является практически аналогичной структуре данных в виде дерева квадрантов, описанной выше в отношении CU. TU не обязательно ограничивается размером PU. Таким образом, TU могут быть больше или меньше соответствующих PU для идентичной CU. В некоторых примерах, максимальный размер TU может соответствовать размеру соответствующей CU. В одном примере, остаточные выборки, соответствующие CU, могут подразделяться на меньшие единицы с использованием структуры в виде дерева квадрантов, известной как "остаточное дерево квадрантов" (RQT). В этом случае, концевые узлы RQT могут упоминаться как TU, для которых могут быть преобразованы и квантованы соответствующие остаточные выборки.

[0061] После внутреннего прогнозирующего или взаимного прогнозирующего кодирования для того, чтобы формировать прогнозирующие данные и остаточные данные, и после преобразований (таких как целочисленное преобразование 4×4 или 8×8, используемое в H.264/AVC, или дискретное косинусное преобразование (DCT)) для того, чтобы формировать коэффициенты преобразования, может быть выполнено квантование коэффициентов преобразования. Квантование, в общем, означает процесс, в котором коэффициенты преобразования квантуются, чтобы, возможно, уменьшать объем данных, используемых для того, чтобы представлять коэффициенты. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Например, n-битовое значение может быть округлено в меньшую сторону до m-битового значения в ходе квантования, при этом n больше m.

[0062] После квантования может быть выполнено энтропийное кодирование квантованных данных (т.е. квантованных коэффициентов преобразования). Энтропийное кодирование может соответствовать технологиям этого раскрытия сущности относительно кодирования информации позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока, а также может использовать другие технологии энтропийного кодирования, такие как контекстно-адаптивное кодирование переменной длины (CAVLC), CABAC, PIPE или другая технология энтропийного кодирования. Например, значения коэффициентов, представленные в качестве абсолютных величин и соответствующих знаков (например, "+1", или "-1") для квантованных коэффициентов преобразования, могут быть кодированы с использованием технологий энтропийного кодирования.

[0063] Следует отметить, что прогнозирование, преобразование и квантование, описанные выше, могут быть выполнены для любого блока видеоданных, например, для PU и/или TU для CU либо для макроблока, в зависимости от указанного стандарта кодирования. Соответственно, технологии этого раскрытия сущности, связанные с кодированием информации позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока, могут применяться к любому блоку видеоданных, например, к любому блоку квантованных коэффициентов преобразования, включающему в себя макроблок или TU для CU. Кроме того, блок видеоданных (например, макроблок или TU для CU) может включать в себя каждый из компонента сигнала яркости (Y), первого компонента сигнала цветности (U) и второго компонента сигнала цветности (V) соответствующих видеоданных. В связи с этим, технологии этого раскрытия сущности могут быть выполнены для каждого из Y-, U- и V-компонентов данного блока видеоданных.

[0064] Чтобы кодировать блоки видеоданных, как описано выше, также может быть сформирована и кодирована информация касательно позиции значимых коэффициентов в данном блоке. Затем могут быть кодированы значения значимых коэффициентов, как описано выше. В H.264/AVC и выходящем HEVC-стандарте, при использовании процесса контекстно-адаптивного энтропийного кодирования, например, CABAC-процесса, позиция значимых коэффициентов в блоке видеоданных может быть кодирована до кодирования значений значимых коэффициентов. Процесс кодирования позиции всех значимых коэффициентов в блоке может упоминаться как кодирование на основе карты значимости (SM). Фиг. 4A-4C, подробнее описанные ниже, являются концептуальными схемами, которые иллюстрируют пример блока 4×4 квантованных коэффициентов преобразования и соответствующих SM-данных.

[0065] Типичная процедура SM-кодирования может быть описана следующим образом. Для данного блока видеоданных SM может быть кодирован, только если существует, по меньшей мере, один значимый коэффициент в блоке. Присутствие значимых коэффициентов в данном блоке видеоданных может указываться в шаблоне кодированного блока (например, с использованием элемента синтаксиса "coded_block_pattern", или CBP), который является двоичным значением, кодированным для набора блоков (к примеру, блоков сигнала яркости и цветности), ассоциированных с областью пикселов в видеоданных. Каждый бит в CBP упоминается как флаг кодированного блока (например, согласно элементу синтаксиса "coded_block_flag") и используется для того, чтобы указывать то, существует или нет, по меньшей мере, один значимый коэффициент в соответствующем блоке. Другими словами, флаг кодированного блока является однобитовым символом, указывающим то, существуют или нет какие-либо значимые коэффициенты в одном блоке коэффициентов преобразования, и CBP является набором флагов кодированных блоков для набора связанных блоков видеоданных.

[0066] Если флаг кодированного блока указывает то, что значимые коэффициенты не присутствуют в соответствующем блоке (например, флаг равен "0"), дополнительная информация не может быть кодирована для блока. Тем не менее, если флаг кодированного блока указывает то, что, по меньшей мере, один значимый коэффициент существует в соответствующем блоке (например, флаг равен "1"), SM может быть кодирован для блока в соответствии с порядком сканирования коэффициентов, ассоциированным с блоком. Порядок сканирования может задавать порядок, в котором значимость каждого коэффициента в блоке кодирована как часть SM-кодирования. Другими словами, сканирование может преобразовывать в последовательную форму двумерный блок коэффициентов в одномерное представление, чтобы определять значимость коэффициентов. Могут быть использованы различные порядки сканирования (например, зигзагообразный, горизонтальный и вертикальный). Фиг. 5A-5C, также подробнее описанные ниже, иллюстрируют примеры некоторых из различных порядков сканирования, которые могут использоваться для блоков 8×8 видеоданных. Тем не менее, технологии этого раскрытия сущности также могут применяться относительно множества других порядков сканирования, включающих в себя диагональный порядок сканирования, порядки сканирования, которые являются комбинациями зигзагообразного, горизонтального, вертикального и/или диагонального порядка сканирования, а также порядки сканирования, которые являются частично зигзагообразными, частично горизонтальными, частично вертикальными и/или частично диагональными. Помимо этого, технологии этого раскрытия сущности также могут рассматривать порядок сканирования, который является адаптивным на основе статистики, ассоциированной с ранее кодированными блоками видеоданных (например, блоками, имеющими размер блока или режим кодирования, идентичный размеру блока или режиму кодирования кодируемого текущего блока). Например, в некоторых случаях порядок адаптивного сканирования может быть порядком сканирования, ассоциированным с блоком.

[0067] С учетом флага кодированного блока, который указывает то, что, по меньшей мере, один значимый коэффициент существует в данном блоке, и порядка сканирования для блока, SM для блока может быть кодирован следующим образом. Двумерный блок квантованных коэффициентов преобразования может сначала преобразовываться в одномерную матрицу с использованием порядка сканирования. Для каждого коэффициента в матрице согласно порядку сканирования, может быть кодирован однобитовый флаг значимого коэффициента (например, согласно элементу синтаксиса "significant_coeff_flag"). Иными словами, каждой позиции в матрице может назначаться двоичное значение, которое может задаваться равным "1", если соответствующий коэффициент является значащим, и задаваться равным "0", если он является незначащим (т.е. нулевым). Если данный флаг значимого коэффициента равен "1", что указывает то, что соответствующий коэффициент является значащим, также может быть кодирован дополнительный однобитовый флаг последнего значимого коэффициента (например, согласно элементу синтаксиса "last_significant_coeff_flag"), который может указывать то, является или нет соответствующий коэффициент последним значимым коэффициентом в матрице (т.е. в блоке с учетом порядка сканирования). В частности, каждый флаг последнего значимого коэффициента может задаваться равным "1", если соответствующий коэффициент является последним значимым коэффициентом в матрице, и задаваться равным "0" в противном случае. Если последняя позиция матрицы достигается таким образом, и процесс SM-кодирования не завершен посредством флага последнего значимого коэффициента, равного "1", то последний коэффициент в матрице (и в силу этого блок с учетом порядка сканирования) может логически выводиться как значащий, и флаг последнего значимого коэффициента не может быть кодирован для последней позиции матрицы.

[0068] Фиг. 4B-4C являются концептуальными схемами, которые иллюстрируют примеры наборов флагов значимых коэффициентов и флагов последних значимых коэффициентов, соответственно, согласно SM-данным для блока, проиллюстрированного на фиг. 4A, представленного в форме карты, а не в форме матрицы. Следует отметить, что флаги значимых коэффициентов и флаги последних значимых коэффициентов, как описано выше, могут задаваться равными различным значениям (например, флаг значимого коэффициента может задаваться равным "0", если соответствующий коэффициент является значащим, и "1", если он является незначащим, и флаг последнего значимого коэффициента может задаваться равным "0", если соответствующий коэффициент является последним значимым коэффициентом, и "1", если он не является последним значимым коэффициентом) в других примерах.

[0069] После того, как SM кодируется, как описано выше, значение каждого значимого коэффициента (т.е. абсолютная величина и знак каждого значимого коэффициента, например, указываемые посредством элементов синтаксиса "coeff_abs_level_minus1" и "coeff_sign_flag", соответственно) в блоке также может быть кодировано.

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

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

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

[0073] В качестве одного примера, видеокодер 20 исходного устройства 12 может быть выполнен с возможностью кодировать определенные блоки видеоданных (например, один или более макроблоков или TU для CU), и видеодекодер 30 целевого устройства 14 может быть выполнен с возможностью принимать кодированные видеоданные из видеокодера 20, например, из модема 28 и приемного устройства 26. В соответствии с технологиями этого раскрытия сущности, в качестве одного примера, видеокодер 20 и/или видеодекодер 30 может быть выполнен с возможностью кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, ассоциированному с блоком, до кодирования информации, которая идентифицирует позиции других значимых коэффициентов в блоке, при этом для того, чтобы кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, видеокодер 20 и/или видеодекодер 30 может быть выполнен с возможностью осуществлять, по меньшей мере, одно из следующего: кодировать одномерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; кодировать двумерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; и кодировать флаг, который указывает то, находится или нет последний значимый коэффициент в блоке согласно порядку сканирования в рамках диапазона позиций в блоке, и кодировать одномерную позицию в блоке, когда последний значимый коэффициент в блоке согласно порядку сканирования находится в рамках диапазона, и в противном случае кодировать двумерную позицию в блоке.

[0074] В качестве одного примера, для того, чтобы кодировать одномерную позицию в блоке, видеодекодер 20 и/или видеодекодер 30 может быть выполнен с возможностью кодировать информацию позиции последнего значимого коэффициента с использованием порядка сканирования. Например, видеокодер 20 и/или видеодекодер 30 может кодировать бит или "элемент выборки" для каждого из одного или более коэффициентов в порядке сканирования, начиная с первого коэффициента в порядке сканирования и заканчивая последним значимым коэффициентом. В этом примере, видеокодер 20 и/или видеодекодер 30 может кодировать каждый элемент выборки посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст может включать в себя позицию коэффициента, соответствующего элементу выборки в блоке согласно порядку сканирования. Оценки вероятности для контекстной модели, используемой для того, чтобы кодировать каждый элемент выборки, могут указывать вероятность равенства элемента выборки конкретному значению (например, "0" или "1").

[0075] В качестве другого примера, для того, чтобы кодировать двумерную позицию в блоке, видеокодер 20 и/или видеодекодер 30 может быть выполнен с возможностью использовать информацию позиции последнего значимого коэффициента в качестве контекста для кодирования самой информации. В следующих примерах, двумерная позиция может содержать горизонтальную и вертикальную координаты (например, координаты X и Y) позиции последнего значимого коэффициента в блоке, при этом горизонтальная координата соответствует номеру столбца позиции, а вертикальная координата соответствует номеру строки позиции. Например, номера строк и столбцов могут быть относительно номеров строк и столбцов, соответствующих исходной позиции или позиции "начала координат" в блоке, например, позиции верхнего левого блока, также называемой "DC-позицией".

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

[0077] В одном примере, видеокодер 20 и/или видеодекодер 30 может кодировать каждый элемент выборки унарного кодового слова для данной координаты посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст может включать в себя позицию элемента выборки в унарном кодовом слове. Как описано выше, позиция элемента выборки в унарном кодовом слове может соответствовать номеру строки или столбца позиции в блоке, соответствующем элементу выборки. Другими словами, контекст, используемый для того, чтобы кодировать элемент выборки, может быть позицией в блоке в направлении по оси X или Y, которое соответствует элементу выборки.

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

[0079] Соответственно, в другом примере, при кодировании информации позиции последнего значимого коэффициента в случаях, если одна координата (например, вертикальная) кодируется после другой координаты (например, горизонтальной), видеокодер 20 и/или видеодекодер 30 может кодировать каждый элемент выборки унарного кодового слова для одной координаты посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст может включать в себя позицию элемента выборки в унарном кодовом слове, как описано выше, и значение ранее кодированной другой координаты.

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

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

[0082] Дополнительно, видеокодер 20 и/или видеодекодер 30, в общем, может быть выполнен с возможностью кодировать один или более элементов выборки последовательности, соответствующей одной координате, и один или более элементов выборки последовательности, соответствующей другой координате, перемеженным способом. В некоторых примерах, видеокодер 20 и/или видеодекодер 30 может кодировать отдельные элементы выборки каждого кодового слова перемеженным способом. В других примерах, видеокодер 20 и/или видеодекодер 30 может кодировать группы элементов выборки каждого кодового слова перемеженным способом. Например, по меньшей мере, один элемент выборки из каждого из одного или более элементов выборки последовательности, соответствующей одной координате, и одного или более элементов выборки последовательности, соответствующей другой координате, может содержать элемент выборки, кодированный с использованием режима регулярного кодирования, и, по меньшей мере, один элемент выборки каждой из последовательностей может содержать элемент выборки, кодированный с использованием режима обходного кодирования.

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

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

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

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

[0087] Как проиллюстрировано посредством вышеприведенных примеров, видеокодер 20 и/или видеодекодер 30 может использовать информацию позиции последнего значимого коэффициента в качестве контекста для кодирования самой информации. В других примерах, видеокодер 20 и/или видеодекодер 30 может использовать информацию позиции последнего значимого коэффициента в качестве контекста для кодирования информации позиции значимых коэффициентов, например, посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе контекста. В этих примерах, оценки вероятности для контекстной модели, используемой для того, чтобы кодировать информацию позиции значимых коэффициентов, могут указывать вероятность значимости конкретного коэффициента (например, вероятность равенства флага значимого коэффициента для коэффициента "0" или "1"). В частности, видеокодер 20 и/или видеодекодер 30 может кодировать значимость коэффициентов, расположенных перед последним значимым коэффициентом в блоке согласно порядку сканирования, с использованием позиции последнего значимого коэффициента в качестве контекста.

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

[0089] Аналогично описанному выше, в этом примере, при кодировании информации позиции значимых коэффициентов с использованием соответствующей статистики, т.е. оценок вероятностей для значимости каждого коэффициента, использование статистики, которая включает в себя информацию относительно позиции последнего значимого коэффициента, может приводить к точности статистики и, следовательно, может обеспечивать эффективное кодирование. Соответственно, в этом примере, при кодировании информации позиции значимых коэффициентов, видеокодер 20 и/или видеодекодер 30 может кодировать значимость каждого коэффициента посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст может включать в себя позицию последнего значимого коэффициента и, например, позицию коэффициента в блоке согласно порядку сканирования.

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

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

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

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

[0094] Например, для каждой группы, видеокодер 20 и/или видеодекодер 30 может формировать флаг, указывающий то, имеют или нет все коэффициенты в группе нулевое значение, и когда, по меньшей мере, один из коэффициентов является значащим, флаг значимого коэффициента для каждого из коэффициентов, указывающий то, является или нет соответствующий коэффициент значащим.

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

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

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

[0098] Например, диапазон может задаваться как субблок в блоке, например, субблок 4×4 в блоке 16×16, или как диапазон позиций в блоке согласно порядку сканирования, например, первые 10 позиций в порядке сканирования. В связи с этим, видеокодер 20 и/или видеодекодер 30 может кодировать информацию позиции последнего значимого коэффициента по-разному в зависимости от самой информации, что может обеспечивать эффективное кодирование.

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

[0100] Видеокодер 20 и видеодекодер 30 могут быть реализованы как любая из множества надлежащих схем кодера или декодера при соответствующих условиях, к примеру, один или более микропроцессоров, процессоры цифровых сигналов (DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA), дискретная логическая схема, программное обеспечение, аппаратные средства, микропрограммное обеспечение либо любые комбинации вышеозначенного. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть комбинированного видеокодера/декодера (кодека). Устройство, включающее в себя видеокодер 20 и/или видеодекодер 30, может содержать интегральную схему, микропроцессор и/или устройство беспроводной связи, такое как сотовый телефон.

[0101] Фиг. 2 является блок-схемой, которая иллюстрирует пример видеокодера 20, который может реализовывать технологии для кодирования информации позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока, согласно технологиям этого раскрытия сущности. Видеокодер 20 может выполнять внутреннее и взаимное кодирование блоков в видеокадрах, включающих в себя макроблоки или CU либо их сегменты или подсегменты. Внутреннее кодирование основано на пространственном прогнозировании, чтобы уменьшать или удалять пространственную избыточность видео в данном видеокадре. Взаимное кодирование основано на временном прогнозировании, чтобы уменьшать или удалять временную избыточность видео в смежных кадрах видеопоследовательности. Внутренний режим (I-режим) может упоминаться как любой из нескольких режимов пространственного сжатия, а взаимные режимы, такие как однонаправленное прогнозирование (P-режим) или двунаправленное прогнозирование (B-режим), могут упоминаться как любой из нескольких режимов временного сжатия.

[0102] Как показано на фиг. 2, видеокодер 20 принимает текущий блок видеоданных 30 в видеокадре, который должен быть кодирован. В примере по фиг. 2, видеокодер 20 включает в себя модуль 44 компенсации движения, модуль 42 оценки движения, запоминающее устройство 64, сумматор 50, модуль 52 преобразования, модуль 54 квантования и модуль 56 энтропийного кодирования. Для восстановления видеоблоков видеокодер 20 также включает в себя модуль 58 обратного квантования, модуль 60 обратного преобразования и сумматор 62. Фильтр удаления блочности (не показан на фиг. 2) также может быть включен с возможностью фильтровать границы блоков, чтобы удалять артефакты блочности из восстановленного видео. Если требуется, фильтр удаления блочности типично должен фильтровать вывод сумматора 62.

[0103] Во время процесса кодирования видеокодер 20 принимает видеокадр или серию последовательных макроблоков, которая должна быть кодирована. Кадр или серия последовательных макроблоков может быть разделена на несколько видеоблоков. Модуль 42 оценки движения и модуль 44 компенсации движения могут выполнять взаимное прогнозирующее кодирование данного принимаемого видеоблока относительно одного или более блоков в одном или более опорных кадров, чтобы предоставлять временное сжатие. Модуль 46 внутреннего прогнозирования может выполнять внутреннее прогнозирующее кодирование данного принимаемого видеоблока относительно одного или более соседних блоков в идентичном кадре или серии последовательных макроблоков в качестве блока, который должен быть кодирован, чтобы предоставлять пространственное сжатие.

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

[0105] Модуль 42 оценки движения и модуль 44 компенсации движения представляют элементы взаимного прогнозирования видеокодера 20. Модуль 42 оценки движения и модуль 44 компенсации движения могут иметь высокую степень интеграции, но проиллюстрированы отдельно в концептуальных целях. Оценка движения является процессом формирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать смещение прогнозного блока в пределах прогнозирующего опорного кадра (или другой кодированной единицы) относительно текущего блока, кодируемого в пределах текущего кадра (или другой кодированной единицы). Прогнозный блок является блоком, для которого обнаруживается, что он практически совпадает с блоком, который должен быть кодирован, с точки зрения пикселной разности, которая может быть определена посредством суммы абсолютной разности (SAD), суммы квадрата разности (SSD) или других разностных показателей. Вектор движения также может указывать смещение сегмента блока. Компенсация движения может заключать в себе выборку или формирование прогнозного блока на основе вектора движения, определенного посредством оценки движения. С другой стороны, в некоторых примерах модуль 42 оценки движения и модуль 44 компенсации движения могут быть функционально интегрированы.

[0106] Модуль 42 оценки движения может вычислять вектор движения для видеоблока взаимно кодированного кадра посредством сравнения видеоблока с видеоблоками опорного кадра в запоминающем устройстве 64. Модуль 44 компенсации движения также может интерполировать субцелочисленные пикселы опорного кадра, например, I-кадра или P-кадра, в целях этого сравнения. Стандарт H.264 ITU, в качестве примера, описывает два списка: список 0, который включает в себя опорные кадры, имеющие порядок отображения ближе кодируемого текущего кадра, и список 1, который включает в себя опорные кадры, имеющие порядок отображения дальше кодируемого текущего кадра. Следовательно, данные, сохраненные в запоминающем устройстве 64, могут быть организованы согласно этим спискам.

[0107] Модуль 42 оценки движения может сравнивать блоки одного или более опорных кадров из запоминающего устройства 64 с блоком, который должен быть кодирован, текущего кадра, например, P-кадра или B-кадра. Когда опорные кадры в запоминающем устройстве 64 включают в себя значения для субцелочисленных пикселов, вектор движения, вычисленный посредством модуля 42 оценки движения, может ссылаться на местоположение субцелочисленного пиксела опорного кадра. Модуль 42 оценки движения и/или модуль 44 компенсации движения также может быть выполнен с возможностью вычислять значения для позиций субцелочисленных пикселов опорных кадров, сохраненных в запоминающем устройстве 64, если значения для позиций субцелочисленных пикселов не сохраняются в запоминающем устройстве 64. Модуль 42 оценки движения может отправлять вычисленный вектор движения в модуль 56 энтропийного кодирования и модуль 44 компенсации движения. Блок опорного кадра, идентифицированный посредством вектора движения, может упоминаться как взаимный прогнозный блок, или, если обобщать, прогнозный блок. Модуль 44 компенсации движения может вычислять прогнозирующие данные на основе прогнозного блока.

[0108] Модуль 46 внутреннего прогнозирования может внутренне прогнозировать текущий блок, в качестве альтернативы взаимному прогнозированию, выполняемому посредством модуля 42 оценки движения и модуля 44 компенсации движения, как описано выше. В частности, модуль 46 внутреннего прогнозирования может определять режим внутреннего прогнозирования для использования с тем, чтобы кодировать текущий блок. В некоторых примерах, модуль 46 внутреннего прогнозирования может кодировать текущий блок с использованием различных режимов внутреннего прогнозирования, например, во время отдельных проходов кодирования, и модуль 46 внутреннего прогнозирования (либо модуль 40 выбора режима в некоторых примерах) может выбирать надлежащий режим внутреннего прогнозирования для использования из тестированных режимов. Например, модуль 46 внутреннего прогнозирования может вычислять значения искажения в зависимости от скорости передачи с использованием анализа искажения в зависимости от скорости передачи для различных тестированных режимов внутреннего прогнозирования и выбирать режим внутреннего прогнозирования, имеющий наилучшие характеристики искажения в зависимости от скорости передачи, из тестированных режимов. Анализ искажения в зависимости от скорости передачи, в общем, определяет величину искажения (или ошибки) между кодированным блоком и исходным некодированным блоком, который кодирован для того, чтобы формировать кодированный блок, а также скорость передачи битов (т.е. число битов), используемую для того, чтобы формировать кодированный блок. Модуль 46 внутреннего прогнозирования может вычислять отношения из искажений и скоростей для различных кодированных блоков, чтобы определять то, какой режим внутреннего прогнозирования демонстрирует наилучшее значение искажения в зависимости от скорости передачи для блока.

[0109] После прогнозирования текущего блока, например, с использованием внутреннего прогнозирования или взаимного прогнозирования, видеокодер 20 может формировать остаточный видеоблок посредством вычитания прогнозирующих данных, вычисленных посредством модуля 44 компенсации движения или модуля 46 внутреннего прогнозирования, из кодируемого исходного видеоблока. Сумматор 50 представляет компонент или компоненты, которые могут выполнять эту операцию вычитания. Модуль 52 преобразования может применять преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование, к остаточному блоку, формируя видеоблок, содержащий значения остаточных коэффициентов преобразования. Модуль 52 преобразования может выполнять другие преобразования, заданные посредством стандарта H.264, которые являются концептуально аналогичными DCT. Вейвлет-преобразования, целочисленные преобразования, субполосные преобразования или другие типы преобразований также могут использоваться. В любом случае, модуль 52 преобразования может применять преобразование к остаточному блоку, формируя блок остаточных коэффициентов преобразования. Преобразование может преобразовывать остаточную информацию из пикселной области в область преобразования, такой как частотная область. Модуль 54 квантования может квантовать остаточные коэффициенты преобразования, чтобы дополнительно уменьшать скорость передачи битов. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Степень квантования может быть модифицирована посредством регулирования параметра квантования.

[0110] После квантования модуль 56 энтропийного кодирования может энтропийно кодировать квантованные коэффициенты преобразования с использованием технологий этого раскрытия сущности для кодирования информации позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока. Тем не менее, для других типов элементов синтаксиса модуль 56 энтропийного кодирования может выполнять другие технологии энтропийного кодирования, которые могут включать в себя CAVLC, CABAC, PIPE или другую технологию энтропийного кодирования. После энтропийного кодирования посредством модуля 56 энтропийного кодирования, кодированное видео может быть передано в другое устройство или заархивировано для последующей передачи или извлечения.

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

[0112] В качестве одного примера, модуль 56 энтропийного кодирования видеокодера 20 может быть выполнен с возможностью кодировать определенные блоки видеоданных (например, один или более макроблоков или TU для CU). Например, как описано выше со ссылкой на фиг. 1, модуль 56 энтропийного кодирования может быть выполнен с возможностью кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования, ассоциированному с блоком, до кодирования информации, которая идентифицирует позиции других значимых коэффициентов в блоке, при этом для того, чтобы кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, модуль 56 энтропийного кодирования может быть выполнен с возможностью осуществлять, по меньшей мере, одно из следующего: кодировать одномерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; кодировать двумерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; и кодировать флаг, который указывает то, находится или нет последний значимый коэффициент в блоке согласно порядку сканирования в рамках диапазона позиций в блоке, и кодировать одномерную позицию в блоке, когда последний значимый коэффициент в блоке согласно порядку сканирования находится в рамках диапазона, и в противном случае кодировать двумерную позицию в блоке.

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

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

[0115] Также в этом примере, как описано выше, для того, чтобы кодировать каждую из горизонтальной координаты и вертикальной координаты, модуль 56 энтропийного кодирования может быть выполнен с возможностью преобразовывать в двоичную форму соответствующую координату таким образом, что координата содержит последовательность из одного или более элементов выборки, и кодировать последовательность. Например, последовательность из одного или более элементов выборки может содержать одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба и конкатенированного кодового слова.

[0116] В качестве одного примера, усеченное унарное кодовое слово может содержать, в случае, если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа (например, "1"), переменное число, соответствующее значению координаты, после чего идет второй символ (например, "0"), при этом первый символ отличается от второго символа, а в случае, если координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

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

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

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

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

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

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

[0123] В еще одном другом примере, для того, чтобы кодировать информацию позиции последнего значимого коэффициента и кодировать информацию позиции значимых коэффициентов, модуль 56 энтропийного кодирования может быть выполнен с возможностью осуществлять процесс контекстно-адаптивного энтропийного кодирования (например, CABAC-процесс), который включает в себя применение контекстной модели посредством модуля 56 энтропийного кодирования на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст включает в себя одну из информации позиции последнего значимого коэффициента и информации позиции значимых коэффициентов. В качестве одного примера, для того, чтобы кодировать последовательность из одного или более элементов выборки, соответствующих каждой из горизонтальной координаты и вертикальной координаты, модуль 56 энтропийного кодирования может быть выполнен с возможностью кодировать каждый элемент выборки последовательности посредством выполнения процесса контекстно-адаптивного энтропийного кодирования, который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст включает в себя позицию соответствующего элемента выборки в последовательности. Как описано выше, позиция элемента выборки в последовательности может соответствовать номеру строки или столбца позиции в блоке, соответствующем элементу выборки. Другими словами, контекст, используемый для того, чтобы кодировать элемент выборки, может быть позицией в блоке в направлении по оси X или Y, которое соответствует элементу выборки. В этом примере, модуль 56 энтропийного кодирования, сконфигурированный так, как описано, может предоставлять возможность модулю 56 энтропийного кодирования более эффективно кодировать информацию, например, с использованием меньшего числа битов, чем при использовании других способов.

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

[0125] Модуль 58 обратного квантования и модуль 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстанавливать остаточный блок в пикселной области, к примеру, для последующего использования в качестве опорного блока. Модуль 44 компенсации движения может вычислять опорный блок посредством добавления остаточного блока к прогнозному блоку одного из кадров запоминающего устройства 64. Модуль 44 компенсации движения также может применять один или более интерполяционных фильтров к восстановленному остаточному блоку, чтобы вычислять значения субцелочисленных пикселов для использования в оценке движения. Сумматор 62 суммирует восстановленный остаточный блок с прогнозным блоком с компенсацией движения, сформированным посредством модуля 44 компенсации движения, чтобы сформировать восстановленный видеоблок для хранения в памяти 64. Восстановленный видеоблок может использоваться посредством модуля 42 оценки движения и модуля 44 компенсации движения в качестве опорного блока для того, чтобы взаимно кодировать блок в последующем видеокадре.

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

[0127] Фиг. 3 является блок-схемой, которая иллюстрирует пример видеодекодера, который может реализовывать технологии для декодирования кодированной информации позиции последнего значимого коэффициента для блока видеоданных до декодирования кодированной информации позиции значимых коэффициентов для блока, согласно технологиям этого раскрытия сущности. В примере по фиг. 3, видеодекодер 30 включает в себя модуль 70 энтропийного декодирования, модуль 72 компенсации движения, модуль 74 внутреннего прогнозирования, модуль 76 обратного квантования, модуль 78 обратного преобразования, запоминающее устройство 82 и сумматор 80. Видеодекодер 30 может, в некоторых примерах, выполнять проход декодирования, в общем, взаимно-обратный относительно прохода кодирования, описанного относительно видеокодера 20 (фиг. 2). Модуль 72 компенсации движения может формировать прогнозирующие данные на основе векторов движения, принимаемых из модуля 70 энтропийного декодирования.

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

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

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

[0131] Также в этом примере, как описано выше, каждая из горизонтальной координаты и вертикальной координаты может содержать преобразованную в двоичную форму координату таким образом, что координата содержит последовательность из одного или более элементов выборки, при этом для того, чтобы декодировать каждую из горизонтальной координаты и вертикальной координаты, модуль 70 энтропийного декодирования может быть выполнен с возможностью декодировать соответствующую последовательность. Например, последовательность из одного или более элементов выборки может содержать одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба и конкатенированного кодового слова.

[0132] В качестве одного примера, усеченное унарное кодовое слово может содержать, в случае, если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа (например, "1"), переменное число, соответствующее значению координаты, после чего идет второй символ (например, "0"), при этом первый символ отличается от второго символа, а в случае, если координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

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

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

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

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

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

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

[0139] В еще одном другом примере, для того, чтобы кодировать информацию позиции последнего значимого коэффициента и кодировать информацию позиции значимых коэффициентов, модуль 70 энтропийного декодирования может быть выполнен с возможностью осуществлять процесс контекстно-адаптивного энтропийного кодирования (например, CABAC-процесс), который включает в себя применение контекстной модели посредством модуля 70 энтропийного декодирования на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст включает в себя одну из информации позиции последнего значимого коэффициента и информации позиции значимых коэффициентов. В качестве одного примера, для того, чтобы декодировать последовательность из одного или более элементов выборки, соответствующих каждой из горизонтальной координаты и вертикальной координаты, модуль 70 энтропийного декодирования может быть выполнен с возможностью декодировать каждый элемент выборки последовательности посредством выполнения процесса контекстно-адаптивного энтропийного кодирования, который включает в себя применение контекстной модели на основе, по меньшей мере, одного контекста, при этом, по меньшей мере, один контекст включает в себя позицию соответствующего элемента выборки в последовательности. Как описано выше, позиция элемента выборки в последовательности может соответствовать номеру строки или столбца позиции в блоке, соответствующем элементу выборки. Другими словами, контекст, используемый для того, чтобы кодировать элемент выборки, может быть позицией в блоке в направлении по оси X или Y, которое соответствует элементу выборки. В этом примере, модуль 70 энтропийного декодирования, сконфигурированный так, как описано, может предоставлять возможность модулю 70 энтропийного декодирования более эффективно кодировать информацию, например, с использованием меньшего числа битов, чем при использовании других способов.

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

[0141] Модуль 72 компенсации движения может использовать векторы движения, принятые в потоке битов, чтобы идентифицировать прогнозный блок в опорных кадрах в запоминающем устройстве 82. Модуль 74 внутреннего прогнозирования может использовать режимы внутреннего прогнозирования, принятые в потоке битов, чтобы формировать прогнозный блок из пространственно смежных блоков.

[0142] Модуль 74 внутреннего прогнозирования может использовать индикатор относительно режима внутреннего прогнозирования для кодированного блока, чтобы внутренне прогнозировать кодированный блок, например, с использованием пикселов соседних ранее декодированных блоков. Для примеров, в которых блок кодируется в режиме взаимного прогнозирования, модуль 72 компенсации движения может принимать информацию, задающую вектор движения, чтобы извлекать данные прогнозирования с компенсацией движения для кодированного блока. В любом случае, модуль 72 компенсации движения или модуль 74 внутреннего прогнозирования может предоставлять информацию, задающую прогнозный блок, в сумматор 80.

[0143] Модуль 76 обратного квантования обратно квантует, т.е. деквантует квантованные блочные коэффициенты, предоставляемые в потоке битов и декодированные посредством модуля 70 энтропийного декодирования. Процесс обратного квантования может включать в себя стандартный процесс, например, как задано по стандарту декодирования H.264 или как выполняется посредством тестовой модели HEVC. Процесс обратного квантования также может включать в себя использование параметра QPY квантования, вычисленного посредством видеокодера 20 для каждого блока, чтобы определять степень квантования и, аналогично, степень обратного квантования, которое должно применяться.

[0144] Модуль 78 обратного преобразования применяет обратное преобразование, например, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования, чтобы формировать остаточные блоки в пикселной области. Модуль 72 компенсации движения формирует блоки с компенсацией движения, возможно выполняя интерполяцию на основе интерполяционных фильтров. Идентификаторы для интерполяционных фильтров, которые должны использоваться для оценки движения с субпикселной точностью, могут быть включены в элементы синтаксиса. Модуль 72 компенсации движения может использовать интерполяционные фильтры, используемые посредством видеокодера 20 во время кодирования видеоблока, чтобы вычислять интерполированные значения для субцелочисленных пикселов опорного блока. Модуль 72 компенсации движения может определять интерполяционные фильтры, используемые посредством видеокодера 20 согласно принимаемой синтаксической информации, и использовать интерполяционные фильтры, чтобы формировать прогнозные блоки.

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

[0146] Сумматор 80 суммирует остаточные блоки с соответствующими прогнозными блоками, сформированными посредством модуля 72 компенсации движения или модуля 74 внутреннего прогнозирования, чтобы формировать декодированные блоки. Если требуется, фильтр удаления блочности также может быть применен для того, чтобы фильтровать декодированные блоки, чтобы удалять артефакты блочности. Декодированные видеоблоки затем сохраняются в запоминающем устройстве 82, которое предоставляет опорные блоки для последующей компенсации движения, а также формирует декодированное видео для представления на устройстве отображения (к примеру, устройстве 32 отображения по фиг. 1).

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

[0148] Фиг. 4A-4C являются концептуальными схемами, которые иллюстрируют пример блока видеоданных и соответствующей информации позиции значимых коэффициентов и информации позиции последнего значимого коэффициента. Как показано на фиг. 4A, блок видеоданных, например, макроблок или TU для CU, может включать в себя квантованные коэффициенты преобразования. Например, как показано на фиг. 4A, блок 400 может включать в себя квантованные коэффициенты преобразования, сформированные с использованием вышеописанных технологий прогнозирования, преобразования и квантования. Допустим, согласно этому примеру, что блок 400 имеет размер 2N×2N, где N равно двум. Соответственно, блок 400 имеет размер 4×4 и включает в себя шестнадцать квантованных коэффициентов преобразования, как также показано на фиг. 4A. Дополнительно допустим, что порядок сканирования, ассоциированный с блоком 400, является зигзагообразным порядком сканирования, как показано на фиг. 5A, подробнее описанном ниже.

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

[0150] Фиг. 4B иллюстрирует пример данных флагов значимых коэффициентов, т.е. флагов значимых коэффициентов, представленных в форме карты или блок-схемы, как описано выше. В примере по фиг. 4B, блок 402 может соответствовать блоку 400, проиллюстрированному на фиг. 4A. Другими словами, флаги значимых коэффициентов блока 402 могут соответствовать квантованным коэффициентам преобразования блока 400. Как показано на фиг. 4B, флаги значимых коэффициентов блока 402, которые равны "1", соответствуют значимым коэффициентам блока 400. Аналогично, флаги значимых коэффициентов блока 402, которые равны "0", соответствуют нулевым или незначащим коэффициентам блока 400.

[0151] В этом примере, флаг значимого коэффициента блока 402, соответствующего последнему значимому коэффициенту в блоке 400 согласно зигзагообразному порядку сканирования, является флагом значимого коэффициента, равным "1", расположенным в позиции 408 в блоке 402. В других примерах, значения флагов значимых коэффициентов, используемые для того, чтобы указывать значащие или незначащие коэффициенты, могут варьироваться (например, флаги значимых коэффициентов, равные "0", могут соответствовать значимым коэффициентам, а флаги значимых коэффициентов, равные "1", могут соответствовать незначащим коэффициентам).

[0152] Фиг. 4C иллюстрирует пример данных флагов последних значимых коэффициентов, т.е. флагов последних значимых коэффициентов, представленных в форме карты или блок-схемы, как также описано выше. В примере по фиг. 4C, блок 404 может соответствовать блоку 400 и блоку 402, проиллюстрированным на фиг. 4A и фиг. 4B, соответственно. Другими словами, флаги последних значимых коэффициентов блока 404 могут соответствовать квантованным коэффициентам преобразования блока 400 и флагам значимых коэффициентов блока 402.

[0153] Как показано на фиг. 4C, флаг последнего значимого коэффициента блока 404, который равен "1", расположенный в позиции 410 в блоке 404, соответствует последнему значимому коэффициенту блока 400 и последнему из флагов значимых коэффициентов блока 402, которые равны "1", согласно зигзагообразному порядку сканирования. Аналогично, флаги последних значимых коэффициентов блока 404, которые равны "0" (т.е. все оставшиеся флаги последних значимых коэффициентов), соответствуют нулевым или незначащим коэффициентам блока 400 и всем флагам значимых коэффициентов блока 402, которые равны "1", кроме последнего из таких флагов значимых коэффициентов согласно зигзагообразному порядку сканирования.

[0154] Значения флагов последних значимых коэффициентов, используемых для того, чтобы указывать последний значимый коэффициент согласно порядку сканирования, могут варьироваться (например, флаг последнего значимого коэффициента, равный "0", может соответствовать последнему значимому коэффициенту согласно порядку сканирования, и флаги последних значимых коэффициентов, равные "1", могут соответствовать всем оставшимся коэффициентам). В любом случае, флаги значимых коэффициентов блока 402 и флаги последних значимых коэффициентов блока 404 могут совместно упоминаться как SM-данные для блока 400.

[0155] Как описано выше, информация позиции значимых коэффициентов для блока видеоданных может указываться посредством преобразования в последовательную форму флагов значимых коэффициентов для блока из двумерного блочного представления, как проиллюстрировано в блоке 402, показанном на фиг. 4B, в одномерную матрицу, с использованием порядка сканирования, ассоциированного с блоком. В примере блоков 400-402, показанных на фиг. 4A-4B, также при условии зигзагообразного порядка сканирования, информация позиции значимых коэффициентов для блока 400 может указываться посредством преобразования в последовательную форму флагов значимых коэффициентов блока 402 в одномерную матрицу. Иными словами, информация позиции значимых коэффициентов для блока 400 может указываться посредством формирования последовательности флагов значимых коэффициентов блока 402 согласно зигзагообразному порядку сканирования.

[0156] В этом примере, сформированная последовательность может соответствовать значению "111111", представляющему первые 6 флагов значимых коэффициентов блока 402 согласно зигзагообразному порядку сканирования. Следует отметить, что сформированная последовательность может содержать флаги значимых коэффициентов, соответствующие диапазону позиций блоков в блоке 400, начиная с первой позиции блока в зигзагообразном порядке сканирования (т.е. DC-позиции) и заканчивая позицией блока, соответствующей последнему значимому коэффициенту блока 400 согласно зигзагообразному порядку сканирования (т.е. согласно флагу последнего значимого коэффициента, равному "1", для блока 404).

[0157] Как также описано выше, согласно технологиям этого раскрытия сущности, информация позиции последнего значимого коэффициента для блока может указываться с использованием одномерной позиции, указывающей позицию последнего значимого коэффициента в блоке, например, посредством преобразования в последовательную форму флагов последних значимых коэффициентов для блока из двумерного блочного представления, как проиллюстрировано в блоке 404, показанном на фиг. 4C, в одномерную матрицу, с использованием порядка сканирования, ассоциированного с блоком. В примере блоков 400-404, показанных на фиг. 4A-4C, также при условии зигзагообразного порядка сканирования, информация позиции последнего значимого коэффициента для блока 400 может указываться посредством преобразования в последовательную форму флагов последних значимых коэффициентов блока 404 в одномерную матрицу. Иными словами, информация позиции последнего значимого коэффициента для блока 400 может указываться посредством формирования последовательности флагов последних значимых коэффициентов блока 404 согласно зигзагообразному порядку сканирования. В этом примере, сформированная последовательность может соответствовать значению "000001", представляющему первые 6 флагов последних значимых коэффициентов блока 404 согласно зигзагообразному порядку сканирования.

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

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

[0160] Как также описано выше, согласно технологиям этого раскрытия сущности, информация позиции последнего значимого коэффициента для блока может указываться с использованием двумерной позиции, например, с использованием горизонтальной и вертикальной координат, указывающих позицию последнего значимого коэффициента в блоке. Например, снова со ссылкой на фиг. 4A-4C, информация позиции последнего значимого коэффициента для блока 400 может указываться с использованием горизонтальной координаты, равной "2", и вертикальной координаты, равной "0". Координаты могут соответствовать позиции 406 в блоке 400, при этом исходная позиция или позиция начала координат представляет собой DC-позицию, что соответствует горизонтальной и вертикальной координатам, которые равны "0". Как описано выше, координаты могут быть представлены с использованием унарных кодовых слов. В этом примере, горизонтальная координата может соответствовать унарному кодовому слову "110", а вертикальная координата может соответствовать унарному кодовому слову "0".

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

[0162] Таким образом, видеокодер 20 по фиг. 2 и/или видеодекодер 30 по фиг. 3 может быть выполнен с возможностью кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования, ассоциированному с блоком, до кодирования информации, которая идентифицирует позиции других значимых коэффициентов в блоке, при этом для того, чтобы кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, видеокодер выполнен с возможностью осуществлять, по меньшей мере, одно из следующего: кодировать одномерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; кодировать двумерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; и кодировать флаг, который указывает то, находится или нет последний значимый коэффициент в блоке согласно порядку сканирования в рамках диапазона позиций в блоке, и кодировать одномерную позицию в блоке, когда последний значимый коэффициент в блоке согласно порядку сканирования находится в рамках диапазона, и в противном случае кодировать двумерную позицию в блоке.

[0163] Фиг. 5A-5C являются концептуальными схемами, которые иллюстрируют примеры блоков видеоданных, сканированных с использованием зигзагообразного порядка сканирования, горизонтального порядка сканирования и вертикального порядка сканирования, соответственно. Как показано на фиг. 5A-5C, блок 8×8 видеоданных, например, макроблок или TU для CU, может включать в себя шестьдесят четыре квантованных коэффициента преобразования в соответствующих позициях блоков, обозначаемых с помощью кругов. Например, блоки 500-504, кроме того могут включать в себя шестьдесят четыре квантованных коэффициента преобразования, сформированные с использованием вышеописанных технологий прогнозирования, преобразования и квантования, при этом соответствующая позиция блока обозначается с помощью круга. Допустим, согласно этому примеру, что блоки 500-504 имеют размер 2N×2N, где N равно четырем. Соответственно, блоки 500-504 имеют размер 8×8.

[0164] Как показано на фиг. 5A, порядок сканирования, ассоциированный с блоком 500, является зигзагообразным порядком сканирования. Зигзагообразный порядок сканирования сканирует квантованные коэффициенты преобразования блока 500 диагональным способом, как указано посредством стрелок на фиг. 5A. Аналогично, как показано на фиг. 5B и 5C, порядки сканирования, ассоциированные с блоками 502 и 504, являются горизонтальным порядком сканирования и вертикальным порядком сканирования, соответственно. Горизонтальный порядок сканирования сканирует квантованные коэффициенты преобразования блока 502 горизонтальным построчным или "растровым" способом, в то время как вертикальный порядок сканирования сканирует квантованные коэффициенты преобразования блока 504 вертикальным построчным или "циклически сдвинутым растровым" способом, как также указано посредством стрелок на фиг. 5B и 5C.

[0165] В других примерах, как описано выше, блок может иметь размер, который меньше или больше размера блоков 500-504, и может включать в себя больше или меньше квантованных коэффициентов преобразования и соответствующих позиций блоков. В этих примерах, порядок сканирования, ассоциированный с блоком, может сканировать квантованные коэффициенты преобразования блока практически аналогичным способом, как показано в примерах блоков 500-504 8×8 по фиг. 5A-5C, например, блока 4×4 или блока 16×16, могут сканироваться согласно любому из вышеописанных порядков сканирования.

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

[0167] Таким образом, видеокодер 20 по фиг. 2 и/или видеодекодер 30 по фиг. 3 может быть выполнен с возможностью кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования (например, зигзагообразному, горизонтальному или вертикальному порядку сканирования, показанному на фиг. 5A-5C, соответственно), ассоциированному с блоком, до кодирования информации, которая идентифицирует позиции других значимых коэффициентов в блоке, при этом для того, чтобы кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, видеокодер 20 и/или видеодекодер 30 может быть выполнен с возможностью осуществлять, по меньшей мере, одно из следующего: кодировать одномерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; кодировать двумерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; и кодировать флаг, который указывает то, находится или нет последний значимый коэффициент в блоке согласно порядку сканирования в рамках диапазона позиций в блоке, и кодировать одномерную позицию в блоке, когда последний значимый коэффициент в блоке согласно порядку сканирования находится в рамках диапазона, и в противном случае кодировать двумерную позицию в блоке.

[0168] Фиг. 6A-6B являются концептуальными схемами, которые иллюстрируют примеры информации позиции последнего значимого коэффициента для блоков видеоданных. Аналогично описанному выше со ссылкой на фиг. 4A, как показано на фиг. 6A, блок 600 может включать в себя квантованные коэффициенты преобразования. В этом примере, последний значимый коэффициент для блока 600, также согласно зигзагообразному порядку сканирования, является квантованным коэффициентом преобразования, равным "1", расположенным в позиции 604 в блоке 600. Как описано выше, согласно технологиям этого раскрытия сущности, информация позиции последнего значимого коэффициента для блока 600 может указываться с использованием двумерной позиции, содержащей горизонтальную и вертикальную координату. В этом примере, информация позиции последнего значимого коэффициента для блока 600 может указываться с использованием горизонтальной координаты, равной "2", и вертикальной координаты, равной "0". В этом примере, горизонтальная координата может соответствовать унарному кодовому слову "110", а вертикальная координата может соответствовать унарному кодовому слову "0".

[0169] Фиг. 6B иллюстрирует пример блока квантованных коэффициентов преобразования, сформированного посредством размещения коэффициентов блока 600 по фиг. 6A в непрерывной последовательности на основе порядка сканирования, ассоциированного с блоком 600 (например, зигзагообразного порядка сканирования), и преобразования последовательности в блок 602 с использованием горизонтального порядка сканирования. В этом примере, последний значимый коэффициент для блока 602, в этот раз согласно горизонтальному порядку сканирования, является квантованным коэффициентом преобразования, равным "1", расположенным в позиции 606 в блоке 602. Как описано выше, согласно технологиям этого раскрытия сущности, информация позиции последнего значимого коэффициента для блока 602 может указываться с использованием двумерной позиции, содержащей горизонтальную и вертикальную координату. В этом примере, информация позиции последнего значимого коэффициента для блока 602 может указываться с использованием горизонтальной координаты, равной "1", и вертикальной координаты, равной "1", что может соответствовать унарному кодовому слову "10".

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

[0171] Таким образом, видеокодер 20 по фиг. 2 и/или видеодекодер 30 по фиг. 3 может быть выполнен с возможностью кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования, ассоциированному с блоком, до кодирования информации, которая идентифицирует позиции других значимых коэффициентов в блоке, при этом для того, чтобы кодировать информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, видеокодер 20 и/или видеодекодер 30 может быть выполнен с возможностью осуществлять, по меньшей мере, одно из следующего: кодировать одномерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; кодировать двумерную позицию в блоке, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования; и кодировать флаг, который указывает то, находится или нет последний значимый коэффициент в блоке согласно порядку сканирования в рамках диапазона позиций в блоке, и кодировать одномерную позицию в блоке, когда последний значимый коэффициент в блоке согласно порядку сканирования находится в рамках диапазона, и в противном случае кодировать двумерную позицию в блоке.

[0172] Фиг. 7 является блок-схемой последовательности операций способа, которая иллюстрирует пример способа для кодирования информации позиции последнего значимого коэффициента для блока видеоданных до кодирования информации позиции значимых коэффициентов для блока. Технологии по фиг. 7, в общем, могут выполняться посредством любого процессора, будь то реализованный в аппаратных средствах, программном обеспечении, микропрограммном обеспечении или комбинации вышеозначенного, и при реализации в программном обеспечении или микропрограммном обеспечении, соответствующие аппаратные средства могут предоставляться для того, чтобы выполнять инструкции для программного обеспечения или микропрограммного обеспечения. В целях примера, технологии по фиг. 7 описываются относительно видеокодера 20 (фиг. 1 и 2) и/или видеодекодера 30 (фиг. 1 и 3), хотя следует понимать, что другие устройства могут быть выполнены с возможностью осуществлять аналогичные технологии. Кроме того, этапы, проиллюстрированные на фиг. 7, могут быть выполнены в другом порядке или параллельно, и дополнительные этапы могут добавляться, а определенные этапы опускаться, без отступления от технологий этого раскрытия сущности.

[0173] Первоначально, видеокодер 20 и/или видеодекодер 30 может определять контекст для кодирования информации, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования, ассоциированному с блоком (700). Например, блок может быть макроблоком или TU для CU. Кроме того, порядок сканирования, ассоциированный с блоком, может быть зигзагообразным порядком сканирования, горизонтальным порядком сканирования, вертикальным порядком сканирования или другим порядком сканирования, как описано выше. Как также описано выше, информация позиции последнего значимого коэффициента может представляться как последовательность флагов последних значимых коэффициентов или как горизонтальная и вертикальная координаты позиции последнего значимого коэффициента в блоке. Как также описано выше, контекст для кодирования информации позиции последнего значимого коэффициента может быть самой информацией.

[0174] Видеокодер 20 и/или видеодекодер 30 дополнительно может кодировать информацию позиции последнего значимого коэффициента (702). Например, информация может быть кодирована в случае видеокодера 20 или декодирована в случае видеодекодера 30 посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста, как описано выше. В примерах, в которых информация представляется как последовательность флагов последних значимых коэффициентов, контекстная модель может содержать оценки вероятности, которые указывают правдоподобие кодирования флага последнего значимого коэффициента в соответствии с последним значимым коэффициентом для блока согласно порядку сканирования (например, равенства флага последнего значимого коэффициента "0" или "1"). В примерах, в которых информация представляется с использованием горизонтальной и вертикальной координат позиции последнего значимого коэффициента в блоке, при этом каждая координата дополнительно представляется в качестве унарного кодового слова, контекстная модель может содержать оценки вероятности, которые указывают правдоподобие равенства кодированного элемента выборки унарного кодового слова для данной координаты конкретному значению (например, "0" или "1"). В любом случае, с использованием этих оценок вероятности, видеокодер 20 и/или видеодекодер 30 может кодировать информацию позиции последнего значимого коэффициента посредством выполнения процесса контекстно-адаптивного энтропийного кодирования.

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

[0176] Видеокодер 20 и/или видеодекодер 30 дополнительно может кодировать информацию позиции значимых коэффициентов (706). Кроме того, информация может быть кодирована в случае видеокодера 20 или декодирована в случае видеодекодера 30 посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста, как описано выше. В этом примере, контекстная модель может содержать оценки вероятности, которые указывают правдоподобие кодирования флага значимого коэффициента в соответствии со значимым коэффициентом для блока (например, равенства флага значимого коэффициента "0" или "1"). Кроме того, с использованием этих оценок вероятности, видеокодер 20 и/или видеодекодер 30 может кодировать информацию позиции значимых коэффициентов посредством выполнения процесса контекстно-адаптивного энтропийного кодирования.

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

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

[0179] Первоначально, модуль 56 энтропийного кодирования может принимать блок видеоданных (800). Например, блок может быть макроблоком или TU для CU. Модуль 56 энтропийного кодирования дополнительно может определять информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке согласно порядку сканирования, ассоциированному с блоком (802), т.е. информацию позиции последнего значимого коэффициента для блока. Как описано выше, информация может содержать последовательность флагов последних значимых коэффициентов или горизонтальную и вертикальную координаты позиции последнего значимого коэффициента в блоке. Модуль 56 энтропийного кодирования дополнительно может определять контекст для кодирования позиции последнего значимого коэффициента (804). Например, контекст кодирования может включать в себя саму информацию позиции последнего значимого коэффициента. Модуль 56 энтропийного кодирования дополнительно может кодировать информацию позиции последнего значимого коэффициента (806). Например, информация может быть кодирована посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста. В завершение, модуль 56 энтропийного кодирования может выводить кодированную информацию в поток битов (808).

[0180] Модуль 56 энтропийного кодирования дополнительно может определять информацию, которая идентифицирует позиции других значимых коэффициентов в блоке (810), т.е. информацию позиции значимых коэффициентов для блока. Как описано выше, информация позиции значимых коэффициентов может содержать последовательность флагов значимых коэффициентов. Модуль 56 энтропийного кодирования дополнительно может определять контекст для кодирования информации позиции значимых коэффициентов (812). Например, контекст кодирования может включать в себя позицию последнего значимого коэффициента и саму информацию позиции значимых коэффициентов. Модуль 56 энтропийного кодирования дополнительно может кодировать информацию позиции значимых коэффициентов (814). Например, информация может быть кодирована посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста. В завершение, модуль 56 энтропийного кодирования может выводить кодированную информацию в поток битов (816).

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

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

[0183] Первоначально, модуль 70 энтропийного декодирования может принимать кодированную информацию, которая идентифицирует позицию последнего значимого коэффициента в блоке видеоданных согласно порядку сканирования, ассоциированному с блоком (900), т.е. информацию позиции последнего значимого коэффициента для блока. Кроме того, блок может быть макроблоком или TU для CU. Модуль 70 энтропийного декодирования дополнительно может определять контекст для декодирования кодированной информации позиции последнего значимого коэффициента (902). Например, контекст декодирования может включать в себя саму информацию позиции последнего значимого коэффициента. Модуль 70 энтропийного декодирования дополнительно может декодировать информацию позиции последнего значимого коэффициента (904). Например, информация может быть декодирована посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста. Как описано выше, декодированная информация может содержать последовательность флагов последних значимых коэффициентов или горизонтальную и вертикальную координаты позиции последнего значимого коэффициента в блоке.

[0184] Затем, модуль 70 энтропийного декодирования может принимать кодированную информацию, которая идентифицирует позиции других значимых коэффициентов в блоке (906), т.е. информацию позиции значимых коэффициентов для блока. Модуль 70 энтропийного декодирования дополнительно может определять контекст для декодирования кодированной информации позиции значимых коэффициентов (908). Например, контекст декодирования может включать в себя информацию позиции последнего значимого коэффициента и саму информацию позиции значимых коэффициентов. Модуль 70 энтропийного декодирования дополнительно может декодировать кодированную информацию позиции значимых коэффициентов (910). Например, информация может быть декодирована посредством выполнения процесса контекстно-адаптивного энтропийного кодирования (например, CABAC-процесса), который включает в себя применение контекстной модели на основе определенного контекста. Как описано выше, декодированная информация может содержать последовательность флагов значимых коэффициентов. В завершение, модуль 70 энтропийного декодирования может декодировать блок на основе декодированной информации позиции последнего значимого коэффициента и декодированной информации значимых коэффициентов (912).

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

[0186] В одном или более примеров, описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, микропрограммном обеспечении или любой комбинации вышеозначенного. При реализации в программном обеспечении, функции могут быть сохранены или переданы, в качестве одной или более инструкций или кода, по машиночитаемому носителю и выполнены посредством аппаратного процессора. Машиночитаемые носители могут включать в себя машиночитаемые носители хранения данных, которые соответствуют материальному носителю, такие как носители хранения данных или среды связи, включающие в себя любой носитель, который упрощает перенос компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, машиночитаемые носители, в общем, могут соответствовать (1) материальному машиночитаемому носителю хранения данных, который является энергонезависимым, или (2) среде связи, такой как сигнал или несущая. Носители хранения данных могут быть любыми доступными носителями, к которым может осуществляться доступ посредством одного или более компьютеров или одного или более процессоров, с тем чтобы извлекать инструкции, код и/или структуры данных для реализации технологий, описанных в этом раскрытии сущности. Компьютерный программный продукт может включать в себя машиночитаемый носитель.

[0187] В качестве примера, а не ограничения, эти машиночитаемые носители хранения данных могут содержать RAM, ROM, EEPROM, CD-ROM или другое устройство хранения на оптических дисках, устройство хранения на магнитных дисках или другие магнитные устройства хранения, флэш-память либо любой другой носитель, который может быть использован для того, чтобы сохранять требуемый программный код в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера. Так же, любое подключение корректно называть машиночитаемым носителем. Например, если инструкции передаются из веб-узла, сервера или другого удаленного источника с помощью коаксиального кабеля, оптоволоконного кабеля, "витой пары", цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасные, радиопередающие и микроволновые среды, то коаксиальный кабель, оптоволоконный кабель, "витая пара", DSL или беспроводные технологии, такие как инфракрасные, радиопередающие и микроволновые среды, включаются в определение носителя. Тем не менее, следует понимать, что машиночитаемые носители хранения данных и носители хранения данных не включают в себя соединения, несущие, сигналы или другие энергозависимые носители, а вместо этого направлены на энергонезависимые материальные носители хранения данных. Диск (disk) и диск (disc) при использовании в данном документе включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), гибкий диск и диск Blu-Ray, при этом диски (disk) обычно воспроизводят данные магнитно, тогда как диски (disc) обычно воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также следует включать в число машиночитаемых носителей.

[0188] Инструкции могут выполняться посредством одного или более процессоров, например, одного или более процессоров цифровых сигналов (DSP), микропроцессоров общего назначения, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) либо других эквивалентных интегральных или дискретных логических схем. Соответственно, термин "процессор" при использовании в данном документе может означать любую вышеуказанную структуру или другую структуру, подходящую для реализации технологий, описанных в данном документе. Помимо этого, в некоторых аспектах функциональность, описанная в данном документе, может быть предоставлена в рамках специализированных программных и/или аппаратных модулей, выполненных с возможностью кодирования или декодирования либо встроенных в комбинированный кодек. Кроме того, технологии могут быть полностью реализованы в одной или более схем или логических элементов.

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

[0190] Описаны различные примеры. Эти и другие примеры находятся в пределах объема прилагаемой формулы изобретения.

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

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

3. Способ по п. 1, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба и конкатенированного кодового слова.

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

5. Способ по п. 3, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

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

7. Способ по п. 1, в котором кодирование горизонтальной координаты и вертикальной координаты содержит этап, на котором кодируют по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

8. Способ по п. 7, в котором кодирование по меньшей мере одного элемента выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности, содержит этап, на котором применяют по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

9. Способ по п. 1, в котором кодирование горизонтальной координаты и вертикальной координаты содержит этап, на котором кодируют первую последовательность из одного или более элементов выборки и вторую последовательность из одного или более элементов выборки перемеженным способом.

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

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

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

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

14. Способ по п. 13, в котором порядок сканирования содержит первый порядок сканирования, причем способ дополнительно содержит этапы, на которых:
- преобразуют блок во второй блок видеоданных с использованием второго порядка сканирования, при этом второй блок отличается от блока, и при этом второй порядок сканирования отличается от первого порядка сканирования, чтобы формировать второй блок.

15. Способ по п. 13, в котором последовательность из одного или более элементов выборки содержит одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба и конкатенированного кодового слова.

16. Способ по п. 15, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

17. Способ по п. 15, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

18. Способ по п. 13, в котором выполнение процесса контекстно-адаптивного двоичного арифметического кодирования включает в себя применение по меньшей мере одной контекстной модели на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя позицию соответствующего элемента выборки в последовательности.

19. Способ по п. 13, в котором декодирование горизонтальной координаты и вертикальной координаты содержит этап, на котором декодируют по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

20. Способ по п. 19, в котором декодирование по меньшей мере одного элемента выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности содержит этап, на котором применяют по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

21. Способ по п. 13, в котором декодирование горизонтальной координаты и вертикальной координаты содержит этап, на котором декодируют первую последовательность из одного или более элементов выборки и вторую последовательность из одного или более элементов выборки перемеженным способом.

22. Способ по п. 21, в котором декодирование перемеженным способом содержит этап, на котором:
- декодируют один или более первых элементов выборки первой последовательности с использованием режима регулярного кодирования, до декодирования одного или более вторых элементов выборки второй последовательности с использованием режима регулярного кодирования, и последующего декодирования одного или более третьих элементов выборки первой последовательности с использованием режима обходного кодирования, до декодирования одного или более четвертых элементов выборки второй последовательности с использованием режима обходного кодирования.

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

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

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

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

27. Устройство по п. 25, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

28. Устройство по п. 27, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

29. Устройство по п. 27, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

30. Устройство по п. 25, в котором для того, чтобы кодировать горизонтальную координату и вертикальную координату, видеокодер выполнен с возможностью кодировать по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

31. Устройство по п. 30, в котором для того, чтобы кодировать по меньшей мере один элемент выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности, видеокодер выполнен с возможностью применять по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

32. Устройство по п. 25, в котором для того, чтобы кодировать горизонтальную координату и вертикальную координату, видеокодер выполнен с возможностью кодировать первую последовательность из одного или более элементов выборки и вторую последовательность из одного или более элементов выборки перемеженным способом.

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

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

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

36. Устройство по п. 35, в котором порядок сканирования содержит первый порядок сканирования, при этом видеодекодер дополнительно выполнен с возможностью:
- преобразовывать блок во второй блок видеоданных с использованием второго порядка сканирования, при этом второй блок отличается от блока, и при этом второй порядок сканирования отличается от первого порядка сканирования, чтобы формировать второй блок.

37. Устройство по п. 35, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

38. Устройство по п. 37, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

39. Устройство по п. 37, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

40. Устройство по п. 35, в котором для того, чтобы декодировать горизонтальную координату и вертикальную координату, видеодекодер выполнен с возможностью декодировать по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

41. Устройство по п. 40, в котором для того, чтобы декодировать по меньшей мере один элемент выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности, видеодекодер выполнен с возможностью применять по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

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

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

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

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

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

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

48. Устройство по п. 46, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

49. Устройство по п. 48, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

50. Устройство по п. 48, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

51. Устройство по п. 46, в котором средство для кодирования горизонтальной координаты и вертикальной координаты содержит средство для кодирования по меньшей мере одного элемента выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

52. Устройство по п. 51, в котором средство для кодирования по меньшей мере одного элемента выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности содержит средство для применения по меньшей мере одной контекстной модели, на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

53. Устройство по п. 46, в котором средство для кодирования горизонтальной координаты и вертикальной координаты содержит средство для кодирования первой последовательности из одного или более элементов выборки и второй последовательности из одного или более элементов выборки перемеженным способом.

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

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

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

57. Устройство по п. 56, в котором порядок сканирования содержит первый порядок сканирования, при этом устройство дополнительно содержит:
- средство для преобразования блока во второй блок видеоданных с использованием второго порядка сканирования, при этом второй блок отличается от блока, и при этом второй порядок сканирования отличается от первого порядка сканирования, чтобы формировать второй блок.

58. Устройство по п. 56, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

59. Устройство по п. 58, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

60. Устройство по п. 58, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

61. Устройство по п. 56, в котором средство для декодирования горизонтальной координаты и вертикальной координаты содержит средство для декодирования по меньшей мере одного элемента выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

62. Устройство по п. 61, в котором средство для декодирования по меньшей мере одного элемента выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности содержит средство для применения по меньшей мере одной контекстной модели на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

63. Устройство по п. 56, в котором средство для декодирования горизонтальной координаты и вертикальной координаты содержит средство для декодирования первой последовательности из одного или более элементов выборки и второй последовательности из одного или более элементов выборки перемеженным способом.

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

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

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

67. Машиночитаемый носитель по п. 66, в котором порядок сканирования содержит первый порядок сканирования, дополнительно содержащий инструкции, которые инструктируют процессору:
- до кодирования информации, которая идентифицирует позицию последнего ненулевого коэффициента в блоке, размещать коэффициенты в непрерывной последовательности на основе второго порядка сканирования, при этом второй порядок сканирования отличается от первого порядка сканирования; и
- преобразовывать непрерывную последовательность в блок с использованием первого порядка сканирования, чтобы формировать блок.

68. Машиночитаемый носитель по п. 66, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

69. Машиночитаемый носитель по п. 68, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

70. Машиночитаемый носитель по п. 68, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

71. Машиночитаемый носитель по п. 66, в котором инструкции, которые инструктируют процессору кодировать горизонтальную координату и вертикальную координату, содержат инструкции, которые инструктируют процессору кодировать по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

72. Машиночитаемый носитель по п. 71, в котором инструкции, которые инструктируют процессору кодировать по меньшей мере один элемент выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности, содержат инструкции, которые инструктируют процессору применять по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

73. Машиночитаемый носитель по п. 66, в котором инструкции, которые инструктируют процессору кодировать горизонтальную координату и вертикальную координату, содержат инструкции, которые инструктируют процессору кодировать первую последовательность из одного или более элементов выборки и вторую последовательность из одного или более элементов выборки перемеженным способом.

74. Машиночитаемый носитель по п. 66, в котором порядок сканирования содержит первый порядок сканирования, при этом инструкции инструктируют процессору:
- для каждого из одного или более коэффициентов, ассоциированных с блоком, начиная с последнего ненулевого коэффициента в блоке согласно первому порядку сканирования и заканчивая первым коэффициентом в блоке согласно первому порядку сканирования и двигаясь согласно второму порядку сканирования, который является обратным относительно первого порядка сканирования, определять то, является или нет коэффициент ненулевым коэффициентом, и формировать флаг значимого коэффициента, который указывает то, является или нет коэффициент ненулевым коэффициентом;
- размещать флаги значимых коэффициентов для одного или более коэффициентов в непрерывной последовательности на основе второго порядка сканирования; и
- кодировать непрерывную последовательность.

75. Машиночитаемый носитель по п. 66, в котором инструкции дополнительно инструктируют процессору:
- размещать один или более коэффициентов, ассоциированных с блоком, начиная с первого коэффициента в блоке согласно порядку сканирования и заканчивая последним ненулевым коэффициентом в блоке согласно порядку сканирования и двигаясь согласно порядку сканирования, в одной или более групп, при этом каждая из одной или более групп содержит один или более коэффициентов;
- для каждой из одной или более групп определять то, являются или нет один или более коэффициентов ненулевыми коэффициентами, и формировать один или более флагов, при этом один или более флагов включают в себя флаг группы, который указывает то, являются или нет один или более коэффициентов коэффициентами с нулевым значением, и когда по меньшей мере один из одного или более коэффициентов является ненулевым коэффициентом, один или более флагов дополнительно включают в себя флаг значимого коэффициента для каждого из одного или более коэффициентов, который указывает то, является или нет соответствующий коэффициент ненулевым коэффициентом;
- размещать один или более флагов для одной или более групп в непрерывной последовательности на основе порядка сканирования; и
- кодировать непрерывную последовательность.

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

77. Машиночитаемый носитель по п. 76, в котором порядок сканирования содержит первый порядок сканирования, дополнительно содержащий инструкции, которые инструктируют процессору:
- преобразовывать блок во второй блок видеоданных с использованием второго порядка сканирования, при этом второй блок отличается от блока, и при этом второй порядок сканирования отличается от первого порядка сканирования, чтобы формировать второй блок.

78. Машиночитаемый носитель по п. 76, в котором первая последовательность из одного или более элементов выборки и вторая последовательность из одного или более элементов выборки, каждая, содержат одно из унарного кодового слова, усеченного унарного кодового слова, экспоненциального кодового слова Голомба или конкатенированного кодового слова.

79. Машиночитаемый носитель по п. 78, в котором усеченное унарное кодовое слово содержит:
- в случае если соответствующая координата имеет значение, которое меньше предварительно определенного усеченного значения, унарное кодовое слово, содержащее переменное число для первого символа, переменное число, соответствующее значению координаты, после чего идет второй символ, при этом первый символ отличается от второго символа; и
- в случае если соответствующая координата имеет значение, которое превышает или равно усеченному значению, предварительно определенное число для первого символа, причем предварительно определенное число соответствует усеченному значению.

80. Машиночитаемый носитель по п. 78, в котором конкатенированное кодовое слово содержит конкатенацию первого кодового слова и второго кодового слова, при этом первое кодовое слово отличается от второго кодового слова.

81. Машиночитаемый носитель по п. 76, в котором инструкции, которые инструктируют процессору декодировать горизонтальную координату и вертикальную координату, содержат инструкции, которые инструктируют процессору декодировать по меньшей мере один элемент выборки первой последовательности из одного или более элементов выборки, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности из одного или более элементов выборки.

82. Машиночитаемый носитель по п. 81, в котором инструкции, которые инструктируют процессору декодировать по меньшей мере один элемент выборки первой последовательности, по меньшей мере, частично на основе значения по меньшей мере одного элемента выборки второй последовательности, содержат инструкции, которые инструктируют процессору применять по меньшей мере одну контекстную модель на основе по меньшей мере одного контекста, при этом по меньшей мере один контекст включает в себя значение по меньшей мере одного элемента выборки второй последовательности.

83. Машиночитаемый носитель по п. 76, в котором инструкции, которые инструктируют процессору декодировать горизонтальную координату и вертикальную координату, содержат инструкции, которые инструктируют процессору декодировать первую последовательность из одного или более элементов выборки и вторую последовательность из одного или более элементов выборки перемеженным способом.

84. Машиночитаемый носитель по п. 76, в котором порядок сканирования содержит первый порядок сканирования, при этом инструкции дополнительно инструктируют процессору:
- декодировать непрерывную последовательность флагов значимых коэффициентов для одного или более коэффициентов, ассоциированных с блоком, начиная с последнего ненулевого коэффициента в блоке согласно первому порядку сканирования и заканчивая первым коэффициентом в блоке согласно первому порядку сканирования и двигаясь согласно второму порядку сканирования, который является обратным относительно первого порядка сканирования, при этом каждый из флагов значимых коэффициентов указывает то, является или нет соответствующий коэффициент ненулевым коэффициентом; и
- для каждого коэффициента, ассоциированного с блоком, определять то, является или нет коэффициент ненулевым коэффициентом, на основе непрерывной последовательности.

85. Машиночитаемый носитель по п. 76, в котором инструкции дополнительно инструктируют процессору:
- декодировать непрерывную последовательность флагов для одного или более коэффициентов, ассоциированных с блоком, размещаемым в одной или более групп, начиная с первого коэффициента в блоке согласно порядку сканирования и заканчивая последним ненулевым коэффициентом в блоке согласно порядку сканирования и двигаясь согласно порядку сканирования, при этом каждая из одной или более групп содержит один или более коэффициентов, причем для каждой из одной или более групп, непрерывная последовательность содержит один или более флагов, при этом один или более флагов включают в себя флаг группы, который указывает то, являются или нет один или более коэффициентов коэффициентами с нулевым значением, и когда по меньшей мере один из одного или более коэффициентов является ненулевым коэффициентом, один или более флагов дополнительно включают в себя флаг значимого коэффициента для каждого из одного или более коэффициентов, который указывает то, является или нет соответствующий коэффициент ненулевым коэффициентом; и
- для каждого коэффициента, ассоциированного с блоком, определять то, является или нет коэффициент ненулевым коэффициентом, на основе непрерывной последовательности.



 

Похожие патенты:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к устройству приема и способу приема с возможностью управления работой заданной прикладной программы в связи с развитием аудиовизуального (AV) контента, такого как телевизионная программа. Техническим результатом является обеспечение управления работой внешнего устройства, соединенного с приемным устройством в связи с обработкой AV-контента. Указанный технический результат достигается тем, что узел извлечения пускового сигнала извлекает информацию пускового сигнала относительно управления прикладной программой, исполняемой либо устройством приема как таковым, либо внешним устройством, соединенным с устройством приема в связи с AV-контентом, причем информация пускового сигнала передается вместе с AV-контентом. Если извлеченная информация пускового сигнала указывает на команду, адресованную устройству приема как таковому, то блок управления устройством как таковым управляет работой прикладной программы в соответствии с командой, указанной информацией пускового сигнала. Если команда, указанная извлеченной информацией пускового сигнала, адресована внешнему устройству, то узел обработки внешнего устройства передает команду, указанную информацией пускового сигнала, на внешнее устройство. 3 н. и 7 з.п. ф-лы, 21 ил.

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

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

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

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

Изобретение относится к устройству кодирования/декодирования изображения с предсказанием. Техническим результатом является повышение эффективности кодирования и сокращение объема информации режима для идентификации способа предсказания, даже если присутствует большое количество способов предсказания, предоставленных относительно способов генерации сигналов внутрикадрового предсказания. Предложено устройство (10) кодирования изображения с предсказанием, содержащее: модуль (102) разделения на блоки; модуль (105) определения способа генерации сигнала внутрикадрового предсказания; модуль (106) генерации сигнала внутрикадрового предсказания; модуль (108) вычитания; модуль (109) преобразования; модуль (110) квантования; и модуль (115) статистического кодирования. Модуль (105) определения способа генерации сигнала внутрикадрового предсказания выводит из множества первых способов предсказания способ предсказания смежной области для генерации сигнала внутрикадрового предсказания с высокой корреляцией с сигналом пикселей в смежной области, используя пиксельную группу вблизи целевой области, и предсказывает способ предсказания целевой области для сигнала целевого пикселя согласно выведенному способу предсказания целевой области. Модуль (106) генерации сигнала внутрикадрового предсказания генерирует сигнал внутрикадрового предсказания для целевой области согласно упомянутому способу предсказания целевой области. 6 н. и 7 з.п. ф-лы, 40 ил.

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

Наверх