RU2456761C1 - Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью - Google Patents

Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью Download PDF

Info

Publication number
RU2456761C1
RU2456761C1 RU2011106505/07A RU2011106505A RU2456761C1 RU 2456761 C1 RU2456761 C1 RU 2456761C1 RU 2011106505/07 A RU2011106505/07 A RU 2011106505/07A RU 2011106505 A RU2011106505 A RU 2011106505A RU 2456761 C1 RU2456761 C1 RU 2456761C1
Authority
RU
Russia
Prior art keywords
image data
resolution
image
upsampling
vertical
Prior art date
Application number
RU2011106505/07A
Other languages
English (en)
Inventor
Гари Дж. САЛЛИВАН (US)
Гари Дж. САЛЛИВАН
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Application granted granted Critical
Publication of RU2456761C1 publication Critical patent/RU2456761C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0102Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving the resampling of the incoming video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Abstract

Изобретение относится к области кодирования/декодирования цифрового видео. Техническим результатом является высокоточное вычисление позиции для изменения размеров изображения в приложениях пространственно масштабируемого видеокодирования и декодирования, что обеспечивает повышение эффективности кодирования/декодирования цифрового видео. Указанный технический результат достигается тем, что повторная дискретизация видеоизображения выполняется согласно масштабному коэффициенту повторной дискретизации. Повторная дискретизация включает в себя вычисление значения выборки в позиции i, j в массиве повторной дискретизации. Вычисление включает вычисление выводимой горизонтальной или вертикальной позиции x или y подвыборки способом, который связан с аппроксимацией значения частично путем умножения значения 2n на инверсию (приближенную или точную) масштабного коэффициента повышающей дискретизации. Аппроксимация может быть округлением или некоторым другим видом аппроксимации, такой как функция ограничения сверху или снизу, которая аппроксимирует ближайшее целое число. Значение выборки интерполируется с использованием фильтра. 2 н. и 18 з.п. ф-лы, 17 ил.

Description

Область техники
Описаны способы и инструментальные средства для кодирования/декодирования цифрового видео.
Предпосылки
С увеличением популярности цифровых видеодисков доставки музыки по сети Интернет и цифровых камер цифровые медиа стали самым обычным делом. Инженеры используют разнообразные методы, чтобы эффективно обрабатывать цифровое аудио, видео и изображения при одновременной поддержке качества. Пониманию этих методов способствует понимание того, каким образом информация аудио, видео и изображения представляется и обрабатывается в компьютере.
I. Представление информации медиа в компьютере
Компьютер обрабатывает информацию медиа как ряд чисел, представляющих эту информацию. Например, отдельное число может представлять интенсивность яркости или интенсивность цветового компонента, такого как красный, зеленый или синий для каждой элементарной малой области изображения, так что цифровое представление изображения состоит из одного или более массивов таких чисел. Каждое такое число может упоминаться как выборка. Для цветного изображения обычно используется более чем одна выборка, чтобы представлять цвет каждой элементарной области, и в типовом случае используются три выборки. Набор этих выборок для элементарной области может упоминаться как пиксел, где слово "пиксел" - сокращение, относящееся к понятию "элемент изображения" (“picture element”). Например, один пиксел может состоять из трех выборок, которые представляют интенсивность красного, зеленого и синего цвета, необходимых для представления элементарной области. Такой тип пиксела упоминается как RGB-пиксел. Несколько факторов влияют на качество информации медиа, включая глубину выборки, разрешающую способность и скорость кадров (для видео).
Глубина выборки является свойством, обычно измеряемым в битах, которое указывает диапазон чисел, которые могут использоваться, чтобы представить выборку. Когда больше значений возможно для выборки, качество может быть выше, потому что число может фиксировать более тонкие изменения в интенсивности и/или больший диапазон значений. Разрешающая способность обычно относится к числу выборок на некоторой длительности времени (для аудио) или по пространству (для изображений или индивидуальных видеоизображений). Изображения с более высокой пространственной разрешающей способностью имеют тенденцию выглядеть более четкими, чем другие изображения, и содержат более различимых полезных деталей. Скорость кадров - это обычный термин для временной разрешающей способности для видео. Видео с более высокой скоростью кадров имеет тенденцию имитировать плавное движение естественных объектов лучше, чем другое видео, и может аналогичным образом рассматриваться как содержащее больше деталей во временном измерении. Для всех этих факторов имеет место компромисс между высоким качеством и затратами на сохранение и передачу информации в терминах битовой скорости, необходимой для представления глубины выборки, разрешающей способности и скорости кадров, как показано в Таблице 1.
ТАБЛИЦА 1:
Битовая скорость различных уровней качества необработанного видео
Бит на пиксел (глубина выборки на выборки на пиксел) Разрешение (в пикселах, ширина на высоту) Скорость кадров (в кадрах в секунду) Битовая скорость (в миллионах битов в секунду)
8(значение 0-225, монохромное) 160х120 7,5 1,2
24(значение 0-255,RGB) 320х240 15 27,6
24(значение 0-255,RGB) 640х480 30 221,2
24(значение 0-255,RGB) 1280х720 60 1327,1
Несмотря на высокую битовую скорость, необходимую для сохранения и передачи высококачественного видео (такого как HDTV), компании и потребители все больше зависят от компьютеров, чтобы создавать, распределять и воспроизводить высококачественное содержание. По этой причине инженеры используют сжатие (также называемое кодированием источника), чтобы уменьшить битовую скорость в цифровом медиа. Сжатие уменьшает затраты на хранение и передачу информации путем преобразования информации в форму более низкой битовой скорости. Сжатие может быть без потерь, в котором качество видео не ухудшается, но снижения битовой скорости ограничены сложностью видео. Или, сжатие может быть с потерями, в котором качество видео ухудшается, но снижения битовой скорости являются более значительными. Декомпрессия (также называемая декодированием) восстанавливает версию первоначальной информации из сжатой формы. "Кодек" - это система кодера/декодера.
Вообще, методы сжатия видео включают в себя сжатие с внутренним (внутрикадровым) кодированием и сжатие с межкадровым кодированием или сжатие с предсказанием. Для видеоизображений методы внутрикадрового сжатия сжимают индивидуальные изображения. Методы межкадрового сжатия сжимают изображения с опорой на предыдущее и/или последующее изображения.
II. Видео с переменной разрешающей способностью и пространственное масштабирование
Стандартные видеокодеры испытывают значительное ухудшение в характеристиках, когда целевая битовая скорость падает ниже некоторого порога. Квантование и другие стадии обработки с потерями вводят искажение. При низких битовых скоростях высокочастотная информация может быть сильно искажена или полностью потеряна. В результате, могут возникать значительные артефакты, которые могут вызвать существенное снижение качества восстановленного видео. Хотя доступные битовые скорости возрастают с усовершенствованием технологии передачи и обработки, поддержание высокого визуального качества при ограниченных битовых скоростях остается главной целью проектирования кодека. Существующие кодеки используют различные методы для улучшения визуального качества при ограниченных битовых скоростях.
Кодирование с множеством разрешающих способностей позволяет кодировать видео при различных пространственных разрешающих способностях. Видео с уменьшенной разрешающей способностью может кодироваться при существенно более низкой битовой скорости ценой потери информации. Например, предшествующий видеокодер может дискретизировать с пониженной частотой (с использованием фильтра понижающей дискретизации) видео полной разрешающей способности и кодировать его с уменьшенной разрешающей способностью в вертикальном и/или горизонтальном направлениях. Сокращение разрешающей способности в каждом направлении наполовину уменьшает измерения размера кодированного изображения наполовину. Кодер сигнализирует о кодировании с уменьшенной разрешающей способностью в декодер. Декодер получает информацию, указывающую кодирование с уменьшенной разрешающей способностью, и устанавливает из полученной информации, каким образом видео с уменьшенной разрешающей способностью должно быть дискретизировано с повышенной частотой (с использованием фильтра повышающей дискретизации), чтобы увеличить размер изображения перед отображением. Однако информация, которая была потеряна, когда кодер дискретизировал с пониженной частотой и кодировал видеоизображения, все еще отсутствует в дискретизированных с повышенной частотой изображениях.
Пространственно масштабируемое видео использует многоуровневый подход, позволяя кодеру уменьшать пространственную разрешающую способность (и, таким образом, битовую скорость) на базовом уровне при сохранении информации более высокой разрешающей способности из исходного видео на одном или более улучшенных уровнях. Например, изображение внутреннего (внутрикадрового) кодирования базового уровня может быть кодировано при уменьшенной разрешающей способности, в то время как соответствующее изображение внутрикадрового кодирования улучшенного уровня может быть кодировано при более высокой разрешающей способности. Точно так же предсказанные изображения базового уровня могут сопровождаться предсказанными изображениями улучшенного уровня. Декодер может выбирать (основываясь на ограничениях битовой скорости и/или других критериях), чтобы декодировать только изображения базового уровня при более низкой разрешающей способности, чтобы получить восстановленные изображения более низкой разрешающей способности, или декодировать изображения базового уровня и изображения улучшенного уровня, чтобы получить восстановленные изображения с более высокой разрешающей способностью. Когда базовый уровень кодируется при более низкой разрешающей способности, чем отображаемое изображение (также упоминается как понижающая дискретизация), размер кодированного изображения фактически меньше, чем отображенное изображение. Декодер выполняет вычисления, чтобы изменить размеры восстановленного изображения и использует фильтры повышающей дискретизации, чтобы сформировать интерполированные значения выборок в соответствующих позициях в восстановленном изображении. Однако предшествующие кодеки, которые используют пространственно масштабируемое видео, имели недостатки вследствие негибких фильтров повышающей дискретизации и неточных или затратных (в терминах времени вычисления или битовой скорости) методов изменения размеров изображения.
Учитывая критическую важность сжатия и декомпрессии видео для цифрового видео, неудивительно, что сжатие и декомпрессия видео являются интенсивно развивающимися областями. Однако независимо от выгод предшествующих методов сжатия и декомпрессии видео они не имеют преимуществ следующих методов и инструментальных средств.
Сущность изобретения
Настоящий раздел «Сущность изобретения» обеспечен, чтобы ввести выбор понятий в упрощенной форме, которые далее описаны ниже в разделе «Детальное описание». Настоящий раздел «Сущность изобретения» не предназначен для того, чтобы идентифицировать ключевые признаки или существенные признаки заявленного изобретения, и при этом не предназначается для использования, чтобы ограничивать объем заявленного изобретения.
В итоге, раздел «Детальное описание» направлен на различные способы и инструментальные средства для использующего переменную разрешающую способность многоуровневого пространственно масштабируемого кодирования и декодирования видео.
Например, раздел «Детальное описание» направлен на различные способы и инструментальные средства для высокоточного вычисления позиции для изменения размеров изображения в приложениях типа пространственно масштабируемого кодирования и декодирования видео. Описаны способы и инструментальные средства для высокоточного вычисления позиции для изменения размеров изображения в приложениях типа пространственно-масштабируемого кодирования и декодирования видео. В одном аспекте повторная дискретизация видеоизображения выполняется согласно коэффициенту масштаба повторной дискретизации. Повторная дискретизация включает вычисление значения выборки в позиции i, j в повторно дискретизируемом массиве. Вычисление включает вычисление выводимой горизонтальной или вертикальной позиции x или y подвыборки способом, который связан с аппроксимацией значения частично путем умножения значения 2n на инверсию (приближенную или точную) масштабного коэффициента повышающей дискретизации (или деления значения 2n на масштабный коэффициент повышающей дискретизации, или аппроксимацию масштабного коэффициента повышающей дискретизации). Экспонента n может быть суммой двух целых чисел, включая целое число F, которое представляет множество битов в дробном компоненте. Аппроксимация может быть округлением или некоторым другим видом аппроксимации, такой как функция ограничения сверху или снизу, которая аппроксимирует ближайшее целое число. Значение выборки интерполируется с использованием фильтра.
Некоторые альтернативы для описанных способов обеспечивают измененное вычисление позиции выборки, которое в одном выполнении обеспечивает приблизительно один дополнительный бит точности в вычислениях, без значительного изменения процесса вычисления позиции выборки или его сложность. Некоторые дальнейшие альтернативы для описанных способов относятся к тому, как вычисление позиции выборки работает со структурами дискретизации 4:2:2 и 4:4:4. Эти альтернативные способы для таких структур дискретизации связывают вычисления позиции выборки сигнала яркости и сигнала цветности вместе, когда разрешающая способность сетки дискретизации сигнала цветности и сигнала яркости является той же самой в конкретном измерении.
Дополнительные признаки и преимущества будут очевидными из следующего детального описания различных воплощений, которое изложено со ссылками на иллюстрирующие чертежи.
Краткое описание чертежей
Фиг.1 - блок-схема подходящей вычислительной среды, во взаимосвязи с которой могут быть осуществлены некоторые описанные воплощения.
Фиг.2 - блок-схема обобщенной системы кодера видео, во взаимосвязи с которой могут быть осуществлены некоторые описанные воплощения.
Фиг.3 - блок-схема обобщенной системы декодера видео, во взаимосвязи с которой могут быть осуществлены некоторые описанные воплощения.
Фиг.4 - диаграмма формата макроблока, используемого в некоторых описанных воплощениях.
Фиг.5A - диаграмма части чересстрочного видеокадра, показывающая чередующиеся строки верхнего поля и нижнего поля.
Фиг.5B - диаграмма чересстрочного видеокадра, организованного для кодирования/декодирования как кадра, и
Фиг.5C - диаграмма чересстрочного видеокадра, организованного для кодирования/ декодирования как полей.
Фиг.5D показывает шесть примерных пространственных выравниваний местоположений 4:2:0 выборки сигнала цветности относительно местоположений выборки сигнала яркости для каждого поля видеокадра.
Фиг.6 - блок-схема, показывающая обобщенный способ для кодирования видео с переменной разрешающей способностью.
Фиг.7 - блок-схема, показывающая обобщенный способ для декодирования видео с переменной разрешающей способностью.
Фиг.8 - блок-схема, показывающая способ для кодирования с переменной разрешающей способностью изображений с внутрикадровым кодированием и предсказанных изображений с межкадровым кодированием.
Фиг.9 - блок-схема, показывающая способ для декодирования с переменной разрешающей способностью изображений с внутрикадровым кодированием и предсказанных изображений с межкадровым кодированием.
Фиг.10 - блок-схема, показывающая способ для кодирования пространственно масштабируемых уровней битового потока для обеспечения возможности кодирования видео с различными разрешающими способностями.
Фиг.11 - блок-схема, показывающая способ для декодирования пространственно масштабируемых уровней битового потока для обеспечения возможности декодирования видео с различными разрешающими способностями.
Фиг.12 и 13 - диаграммы кода, показывающие псевдокод для примерного многоэтапного способа вычисления позиции.
Фиг.14 - диаграмма кода, показывающая псевдокод для примерного инкрементного способа вычисления позиции.
Детальное описание
Описанные воплощения направлены на способы и инструментальные средства для многоуровневого, с переменной разрешающей способностью пространственно масштабируемого видеокодирования и декодирования.
Различные способы и инструментальные средства, описанные здесь, могут использоваться независимо. Некоторые из способов и инструментальных средств могут использоваться в комбинации (например, на различных стадиях объединенного процесса кодирования и/или декодирования).
Различные способы описаны ниже со ссылкой на блок-схемы действий обработки. Различные действия обработки, показанные на блок-схемах, могут быть объединены в меньшее количество действий или разделены на большее количество действий. Ради простоты, отношение действий, показанных в конкретной блок-схеме, к действиям, описанным в другом месте, часто не показано. Во многих случаях действия в блок-схеме могут быть переупорядочены.
Большая часть детального описания относится к представлению, кодированию и декодированию видеоинформации. Способы и инструментальные средства, описанные здесь для представления, кодирования и декодирования видеоинформации, могут быть применены к аудиоинформации, информации неподвижного изображения или другой информации медиа.
I. Вычислительная среда
Фиг.1 иллюстрирует обобщенный пример подходящей вычислительной среды 100, в которой могут быть осуществлены несколько из описанных воплощений. Вычислительная среда 100 не предназначена для какого-либо ограничения объема использования или функциональных возможностей, поскольку способы и инструментальные средства могут быть осуществлены в разнообразных универсальных или специализированных вычислительных средах.
Согласно фиг.1, вычислительная среда 100 включает в себя, по меньшей мере, один процессор 110 и память 120. На фиг.1 эта наиболее базовая конфигурация 130 показана внутри пунктирного контура. Процессор 110 исполняет компьютерные команды и может представлять собой реальный или виртуальный процессор. В многопроцессорной системе множество модулей обработки исполняют компьютерные команды для увеличения производительности обработки. Память 120 может быть энергозависимой памятью (например, регистры, кэш, ОЗУ (RAM)), энергонезависимой памятью (например, ПЗУ (ROM), стираемое программируемое ПЗУ (СППЗУ, EEPROM), флэш-память и т.д.), или некоторой комбинацией указанного. Память 120 хранит программное обеспечение 180, реализующее кодер или декодер видео с одним или более описанных способов и инструментальных средств.
Вычислительная среда может иметь дополнительные признаки. Например, вычислительная среда 100 содержит ЗУ 140, одно или более устройств 150 ввода, одно или более устройств 160 вывода и одно или более коммуникационных соединений 170. Механизм межсоединений (не показан), такой как шина, контроллер или сеть, связывает компоненты вычислительной среды 100. Как правило, программное обеспечение операционной системы (не показано) обеспечивает операционную среду для другого программного обеспечения, выполняющегося в вычислительной среде 100, и координирует действия компонентов вычислительной среды 100.
ЗУ 140 может быть сменным или несменным и включает в себя магнитные диски, магнитные ленты или кассеты, CD-ROM, цифровые видеодиски (DVD), флэш-память или любой другой носитель, который может использоваться, чтобы хранить информацию, и к которому можно обращаться в пределах вычислительной среды 100. ЗУ 140 хранит команды для программного обеспечения 180, реализующего кодер или декодер видео.
Устройство 150 ввода может быть сенсорным устройством ввода данных типа клавиатуры, мыши, пера, сенсорного экрана или шарового манипулятора (трекбола), устройства голосового ввода, сканирующего устройства или другого устройства, которое обеспечивает ввод в вычислительную среду 100. Для кодирования аудио или видеоустройство 150 ввода может быть звуковой платой, видеоплатой, платой ТВ блока настройки или подобным устройством, которое принимает аудио или видеоввод в аналоговой или цифровой форме, или CD-ROM, CD-RW или DVD, который считывает выборки аудио или видео в вычислительную среду 100. Устройство 160 вывода может быть дисплеем, принтером, динамиком, устройством записи на CD или DVD или другим устройством, которое обеспечивает вывод из вычислительной среды 100.
Коммуникационные соединения 170 обеспечивают связь по среде связи с другим вычислительным объектом. Среда связи передает информацию типа исполняемых компьютером команд, ввода или вывода аудио или видео или других данных в модулированном сигнале данных. Модулированный сигнал данных - это сигнал, в котором одна или более из его характеристик установлена или изменяется таким способом, чтобы кодировать информацию в сигнале. Для примера, но не в качестве ограничения, среда связи включают проводные или беспроводные методы, реализованные с электрической, оптической, радиочастотной, инфракрасной, акустической или другой несущей.
Способы и инструментальные средства могут быть описаны в общем контексте машиночитаемых носителей. Машиночитаемые носители - это любые доступные носители, к которым можно обращаться в пределах вычислительной среды. Для примера, но не в качестве ограничения, для вычислительной среды 100 машиночитаемые носители включают в себя память 120, ЗУ 140, коммуникационную среду и комбинации любых из вышеупомянутых средств.
Способы и инструментальные средства могут быть описаны в общем контексте исполняемых компьютером команд, таких как включенные в модули программы, исполняемые в вычислительной среде на одном или более целевых реальных процессорах или виртуальных процессорах. Вообще, модули программы включают подпрограммы, программы, библиотеки, объекты, классы, компоненты, структуры данных и т.д., которые исполняют конкретные задачи или осуществляют некоторые абстрактные типы данных. Функциональные возможности программных модулей могут быть объединены или разбиты между программными модулями, как желательно в различных воплощениях. Исполняемые компьютером команды для программных модулей могут исполняться в пределах локальной или распределенной вычислительной среде.
Для целей представления детальное описание использует термины, подобные "кодируют", "декодируют" и "выбирают" для описания компьютерных операций в вычислительной среде. Эти термины являются абстракциями высокого уровня для операций, выполняемых компьютером, и не должны смешиваться с действиями, выполняемыми человеком. Действительные компьютерные операции, соответствующие этим терминам, изменяются в зависимости от реализации.
II. Иллюстративные видеокодер и декодер
На фиг.2 показана блок-схема приведенного для примера видеокодера 200, во взаимосвязи с которым могут быть осуществлены некоторые описанные воплощения. На фиг.3 показана блок-схема обобщенного видеодекодера 300, во взаимосвязи с которым могут быть осуществлены некоторые описанные воплощения.
Взаимосвязи, показанные между модулями в пределах кодера 200 и декодера 300, указывают общие потоки информации в кодере и декодере; другие взаимосвязи не показаны ради наглядности представления. В частности, фиг.2 и 3 не показывают побочную информацию, указывающую настройки кодера, режимы, таблицы и т.д., используемые для видеопоследовательности, изображения, сектора, макроблока, блока и т.д. Такая побочная информация посылается в выходном битовом потоке обычно после энтропийного кодирования побочной информации. Формат выходного битового потока может изменяться в зависимости от реализации.
Кодер 200 и декодер 300 обрабатывают изображения, которые могут быть видеокадрами, видеополями или комбинациями кадров и полей. Синтаксис и семантика битового потока на уровне изображения и макроблока могут зависеть от того, каким образом используются кадры или поля. Могут иметь место изменения в организации макроблока и общей синхронизации. Кодер 200 и декодер 300 являются основанными на блоках и используют макроблочный формат 4:2:0 для кадров, причем каждый макроблок включает четыре 8х8 блока сигнала яркости (иногда обрабатываемые как один 16х16 макроблок) и два 8х8 блока сигнала цветности. Для полей могут использоваться те же или отличающиеся организация макроблока и формат. 8х8 блоки могут быть далее подразделены на различных этапах, например, на этапе частотного преобразования или энтропийного кодирования. Примерные организации видеокадра описаны более подробно ниже. Альтернативно, кодер 200 и декодер 300 являются основанными на объекте, используют отличающийся формат макроблока или блока или выполняют операции над наборами выборок с размером или конфигурацией иными, чем 8х8 блоки и 16х16 макроблоки.
В зависимости от выполнения и типа желательного сжатия, модули кодера или декодера могут добавляться, опускаться, разбиваться на множество модулей, объединяться с другими модулями и/или заменяться подобными модулями. В альтернативных воплощениях кодеры или декодеры с отличающимися модулями и/или другими конфигурациями модулей исполняют один или более из описанных способов.
A. Организации видеокадра
В некоторых реализациях кодер 200 и декодер 300 обрабатывают видеокадры, организованные следующим образом. Кадр содержит строки пространственной информации видеосигнала. Для прогрессивного (построчного) сканирования видео эти строки содержат выборки, представляющие снимок содержания сцены, дискретизированный в один и тот же момент времени и охватывающий полную сцену от верха до низа кадра. Прогрессивный видеокадр разделен на макроблоки типа макроблока 400, показанного на фиг.4. Макроблок 400 включает четыре 8×8 блока яркости (от Y1 до Y4) и два 8×8 блока цветности, которые расположены совместно с четырьмя блоками яркости, но с половинной разрешающей способностью по горизонтали и вертикали, следуя обычному 4:2:0 макроблочному формату. 8×8 блоки могут быть далее подразделены на различных этапах, например, на этапах частотного преобразования (например, 8×4, 4×8 или 4×4 DCT) и энтропийного кодирования. Прогрессивный I-кадр является интра- (внутри) кодированным строчным видеокадром, где термин "интра" относится к методам кодирования, которые не используют предсказание из содержания других ранее декодированных изображений (кадров). Прогрессивный P-кадр является прогрессивным видеокадром, кодированным с использованием предсказания из одного или более других изображений (кадров) в моменты времени, которые отличаются по времени от момента времени текущего изображения (иногда называется прямым предсказанием в некоторых контекстах), и прогрессивный B-кадр представляет собой прогрессивный видеокадр, кодированный с использованием межкадрового предсказания с использованием (возможно, взвешенного) усреднения множества значений предсказания в некоторых областях (иногда называется двойным предсказанием или двунаправленным предсказанием). Прогрессивные P- и B-кадры могут включать «внутрикодированные» (с внутрикадровым кодированием) макроблоки, а также различные типы макроблоков межкадрового предсказания.
Чересстрочная развертка видеокадра состоит из чередующейся последовательности двух типов разверток сцены - один, называемый верхним полем, включает в себя четные строки (строки, пронумерованные 0, 2, 4 и т.д.) кадра, и другой, называемый нижним полем, включает в себя нечетные строки (строки, пронумерованные 1, 3, 5 и т.д.) кадра. Эти два поля обычно представляют два различных момента времени снимка. Фиг.5A показывает часть чересстрочного видеокадра 500, включающую в себя чередующиеся строки верхнего поля и нижнего поля в верхней левой части чересстрочного видеокадра 500.
Фиг.5B показывает чересстрочный видеокадр 500 по фиг.5A, организованный для кодирования/декодирования как кадр 530. Чересстрочный видеокадр 500 был разделен на макроблоки или другие такие области типа макроблоков 531 и 532, которые используют формат 4:2:0, как показано на фиг.4. В плоскости яркости каждый макроблок 531, 532 включает в себя 8 строк из верхнего поля, чередующихся с 8 строками нижнего поля для общего количества 16 строк, и каждая строка имеет длину 16 выборок. (Действительная организация изображения в макроблоки или другие такие области и размещение блоков яркости и блоков цветности в пределах макроблоков 531, 532 не показана, и фактически может измениться для различных решений кодирования и для различных схем видеокодирования). В пределах данного макроблока информация верхнего поля и информация нижнего поля может быть кодирована совместно или отдельно на любой из различных стадий.
Чересстрочный I-кадр является внутрикодированным чересстрочным видеокадром, содержащим два поля, где каждый макроблок включает в себя информацию для одного или обоих полей. Чересстрочный P-кадр является чересстрочным видеокадром, содержащим два поля, который кодирован с использованием межкадрового предсказания, где каждый макроблок включает в себя информацию для одного или обоих полей, как чересстрочный B-кадр. Чересстрочные P- и B-кадры могут включать в себя внутрикодированные макроблоки, а также различные типы макроблоков межкадрового предсказания.
Фиг.5C показывает чересстрочный видеокадр 500 по фиг.5A, организованный для кодирования/декодирования как поля 560. Каждое из двух полей чересстрочного видеокадра 500 разделено на макроблоки. Верхнее поле разделено на макроблоки, такие как макроблок 561, и нижнее поле разделено на макроблоки, такие как макроблок 562. (Вновь макроблоки используют формат 4:2:0, как показано на фиг.4, и организация изображения в макроблоки или другие такие области и размещение блоков яркости и блоков цветности в пределах макроблоков не показаны и могут варьироваться). В плоскости яркости макроблок 561 включает в себя 16 строк из верхнего поля, и макроблок 562 включает в себя 16 строк из нижнего поля, и каждая строка имеет длину 16 выборок.
Чересстрочное I-поле является единым, отдельно представляемым полем чересстрочного видеокадра. Чересстрочное P-поле является единым, отдельно представляемым полем чересстрочного видеокадра, использующим межкадровое предсказание, как чересстрочное B-поле. Чересстрочные P-и B-поля могут включать в себя внутрикодированные макроблоки, а также различные типы макроблоков межкадрового предсказания.
Чересстрочные видеокадры, организованные для кодирования/декодирования как поля, могут включать в себя различные комбинации различных типов полей. Например, такой кадр может иметь тот же самый тип поля (I-поле, P-поле или B-поле) как в верхних, так и в нижних полях или различные типы полей в каждом поле.
Термин «изображение» в общем случае относится к кадру или полю источника, кодированных или восстановленных данных изображения. Для видеопрогрессивной развертки изображение в типовом случае является прогрессивным видеокадром. Для чересстрочного видео изображение может относиться к чересстрочному видеокадру, верхнему полю кадра или нижнему полю кадра, в зависимости от контекста.
Фиг.5D показывает шесть примерных пространственных выравниваний местоположений выборок сигнала цветности формата 4:2:0 относительно местоположений выборок сигнала яркости для каждого поля видеокадра.
Альтернативно, кодер 200 и декодер 300 являются основанными на объектах, использует различный формат макроблока (например, 4:2:2 или 4:4:4) или формат блока, или выполняют операции на наборах выборок с размером или конфигурацией иными, чем для 8×8 блоков и 16×16 макроблоков.
В. Видеокодер
На фиг.2 показана блок-схема иллюстративной системы 200 видеокодера. Система 200 кодера 200 получает последовательность видеоизображений, включая текущее изображение 205 (например, прогрессивный видеокадр, чересстрочный видеокадр или поле чересстрочного видеокадра), и формирует сжатую видеоинформацию 295 как вывод. Конкретные воплощения видеокодеров в типовом случае используют разновидность или дополненную версию приведенного для прима кодера 200.
Система 200 кодера использует процессы кодирования для внутри- (интра-) кодированных изображений (I-изображений) и предсказанных на меж- (интер-) кадровой основе изображений (P-или В-изображений). В целях представления фиг.2 показывает путь для I-изображений через систему 200 кодера и путь для предсказанных на межкадровой основе изображений. Многие из компонентов системы 200 кодера используются для сжатия как I-изображений так и предсказанных на межкадровой основе изображений. Точные операции, выполняемые этими компонентами, могут измениться в зависимости от типа сжимаемой информации.
Предсказанное на межкадровой основе изображение представлено в терминах предсказания (или различия) из одного или более других изображений (кадров) (которые обычно упоминаются как опорные изображения). Остаток предсказания - это разность между тем, что было предсказано, и первоначальным изображением. Напротив, I-изображение сжимается без ссылки на другие изображения. I-изображения могут использовать пространственное предсказание или предсказание частотной области (то есть внутрикадровое предсказание), чтобы предсказать некоторые части I-изображения, используя данные из других частей самого I-изображения. Однако, ради краткости, такие I-изображения не упоминаются в этом описании как "предсказанные" изображения, так, чтобы фраза "предсказанное изображение" могла пониматься как предсказанное на межкадровой основе изображение (например, P-или В-изображение).
Если текущее изображение 205 является предсказанным изображением, то блок 210 оценки движения оценивает движение макроблоков или других наборов выборок текущего изображения 205 относительно одного или более опорных изображений, например, восстановленного предыдущего изображения 225, буферизированного в ЗУ 220 изображений. Блок 210 оценки может оценивать движение относительно одного или более предыдущих по времени опорных изображений и одного или более будущих по времени опорных изображений (например, в случае изображения двойного предсказания). Соответственно, система 200 кодера может использовать отдельные ЗУ 220 и 222 для множества опорных изображений.
Блок 210 оценки движения 210 может оценивать движение посредством приращений на полную выборку, ½ выборки, ¼ выборки или других приращений и может переключать разрешающую способность оценки движения на основе от изображения к изображению или на другой основе. Блок 210 оценки движения (и компенсатор 230) также может переключаться между типами интерполяции выборок опорного изображения (например, между интерполяцией кубической свертки и скручивания и билинейной интерполяцией) на покадровой или иной основе. Разрешающая способность оценки движения может быть той же самой или может различаться по горизонтали и вертикали. Блок 210 оценки движения выводит, в качестве побочной информации, информацию 215 движения, такую как дифференциальная информация вектора движения. Кодер 200 кодирует информацию 215 движения, например, вычисляя один или более прогнозирующих параметров для векторов движения, вычисляя различия между векторами движения и прогнозирующими параметрами, и энтропийного кодирования различий. Для восстановления вектора движения компенсатор 230 движения объединяет прогнозирующий параметр с информацией различия вектора движения.
Компенсатор 230 движения применяет восстановленный вектор движения к восстановленному(ым) изображению(ям) 225, чтобы сформировать скомпенсированное по движению предсказание 235. Однако предсказание редко бывает совершенным, и различие между скомпенсированным по движению предсказанием 235 и первоначальным текущим изображением 205 является остатком 245 предсказания. В течение последующего восстановления изображения аппроксимация остатка 245 предсказания будет добавляться к скомпенсированному по движению предсказанию 235, чтобы получить восстановленное изображение, которое ближе к первоначальному текущему изображению 205, чем скомпенсированное по движению предсказание 235. При сжатии с потерями, однако, некоторая информация все еще теряется из первоначального текущего изображения 205. Альтернативно, блок оценки движения и компенсатор движения применяют другой тип оценки/компенсации движения.
Частотный преобразователь 260 преобразует видеоинформацию пространственной области в данные частотной области (то есть спектральные данные). Для кодирования видео на блочной основе частотный преобразователь 260 в типовом случае применяет дискретное косинусное преобразование (DCT), вариант DCT или некоторое другое блочное преобразование к блокам данных выборок или остаточным данным предсказания, формируя блоки коэффициентов преобразования частотной области. Альтернативно, частотный преобразователь 260 применяет другой тип частотного преобразования типа Фурье-преобразования или использует вейвлет-анализ, или анализ поддиапазонов. Частотный преобразователь 260 может применять частотное преобразование размера 8×8, 8×4, 4×8, 4×4 или другого размера.
Квантователь 270 затем квантует блоки коэффициентов преобразования частотной области. Квантователь применяет скалярное квантование к коэффициентам преобразования согласно размеру шага квантования, который изменяется на основе от изображения к изображению (покадровой основе), на основе макроблоков или на некоторой другой основе, где размер шага квантования является параметром управления, который управляет интервалом равномерного разнесения между дискретными представимыми точками реконструкции в процессе обработки обратного квантователя декодера, что может дублироваться в процессе обработки обратного квантователя 276 кодера. Альтернативно, квантователь применяет другой тип квантования к коэффициентам преобразования частотной области, например, скалярный квантователь с неравномерными точками реконструкции, векторный квантователь или неадаптивное квантование, или непосредственно квантует данные пространственной области в системе кодера, которая не использует частотные преобразования. В дополнение к адаптивному квантованию кодер 200 может использовать пропуск кадра, адаптивную фильтрацию или другие методы для управления скоростью.
Когда восстановленное текущее изображение необходимо для последующей оценки/компенсации движения, обратный квантователь 276 выполняет обратное квантование на квантованных коэффициентах преобразования частотной области. Обратный частотный преобразователь 266 выполняет тогда инверсию операций частотного преобразователя 260, формируя восстановленную аппроксимацию остатка предсказания (для предсказанного изображения) или восстановленную аппроксимацию I-изображения. Если текущим изображением 205 было I-изображение, то восстановленная аппроксимация I-изображения принимается в качестве восстановленной аппроксимации текущего изображения (не показано). Если текущее изображение 205 было предсказанным изображением, то восстановленная аппроксимация остатка предсказания добавляется к скомпенсированному по движению предсказанию 235 для формирования восстановленной аппроксимации текущего изображения. Одно или более ЗУ 220, 222 изображений буферизуют восстановленную аппроксимацию текущего изображения для использования в качестве опорного изображения в скомпенсированном по движению предсказании последующих изображений. Кодер может применять фильтр разблокирования или другой процесс уточнения изображения к восстановленному кадру, чтобы адаптивно сглаживать нарушения непрерывности и удалять другие артефакты из изображения перед сохранением аппроксимации изображения в одном или более ЗУ 220, 222 изображений.
Энтропийный (статистический) кодер 280 сжимает выходной сигнал квантователя 270, а также некоторую побочную информацию (например, информацию 215 движения, размер шага квантования). Типовые методы энтропийного кодирования включают в себя арифметическое кодирование, дифференциальное кодирование, кодирование Хаффмана, кодирование длины серий, Lempel-Ziv кодирование, кодирование словаря и комбинации вышеупомянутых методов. Энтропийный кодер 280 в типовом случае использует различные методы кодирования для различных видов информации (например, низкочастотных коэффициентов, высокочастотных коэффициентов, коэффициентов нулевой частоты, различных видов побочной информации) и может выбирать из множества кодовых таблиц в рамках конкретного метода кодирования.
Энтропийный кодер 280 обеспечивает сжатую видеоинформацию 295 на мультиплексор ["MUX"] 290. MUX 290 может включать в себя буфер, и индикатор уровня заполнения буфера может подаваться назад на адаптивные модули битовой скорости для управления скоростью. Перед или после MUX 290 сжатая видеоинформация 295 может быть канально кодированной для передачи по сети. Канальное кодирование может применять данные обнаружения и исправления ошибок к сжатой видеоинформации 295.
C. Видеодекодер
На фиг.3 показана блок-схема иллюстративной системы 300 видеодекодера. Система 300 декодера получает информацию 395 для сжатой последовательности видеоизображений и формирует выходной сигнал, включающий в себя восстановленное изображение 305 (например, прогрессивный видеокадр, чересстрочный видеокадр или поле чересстрочного видеокадра). Конкретные воплощения видеодекодеров в типовом случае используют разновидность или дополненную версию обобщенного декодера 300.
Система 300 декодера выполняет декомпрессию предсказанных изображений и I-изображений. В целях представления фиг.3 показывает путь для I-изображений через систему 300 декодера и путь для предсказанных изображений. Многие из компонентов системы 300 декодера используются для декомпрессии как I-изображений, так и предсказанных изображений. Точные операции, выполняемые этими компонентами, могут изменяться в зависимости от типа информации, подвергаемой декомпрессии.
Демультиплексор (DEMUX) 390 получает информацию 395 для сжатой видеопоследовательности и предоставляет полученную информацию энтропийному декодеру 380. DEMUX 390 может включать в себя буфер флуктуаций, а также другие буферы. Перед или внутри DEMUX 390 сжатая видеоинформация может быть канально декодированной и обработанной для обнаружения и исправления ошибок.
Энтропийный декодер 380 энтропийно декодирует энтропийно кодированные квантованные данные, а также энтропийно кодированную побочную информацию (например, информацию движения 315, размер шага квантования), обычно применяя инверсию энтропийного кодирования, выполненного в кодере. Методы энтропийного декодирования включают в себя арифметическое декодирование, дифференциальное декодирование, декодирование Хаффмана, декодирование длины серий, Lempel-Ziv декодирование, декодирование словаря и комбинации вышеупомянутых методов. Энтропийный декодер 380 в типовом случае использует различные методы декодирования для различных видов информации (например, низкочастотных коэффициентов, высокочастотных коэффициентов, коэффициентов нулевой частоты, различных видов побочной информации) и может выбирать из множества кодовых таблиц в рамках конкретного метода декодирования.
Декодер 300 декодирует информацию 315 движения, например, вычисляя один или более параметров предсказания для векторов движения, энтропийно декодируя разности вектора движения (в энтропийном декодере 380) и объединяя декодированные разности вектора движения с параметрами предсказания, чтобы восстановить векторы движения.
Компенсатор 330 движения применяет информацию 315 движения к одному или более опорным изображениям 325 для формирования предсказания 335 восстанавливаемого изображения 305. Например, компенсатор 330 движения использует один или более макроблочных векторов движения, чтобы найти блоки выборок или интерполировать дробные позиции между выборками в опорном(ых) изображении(ях) 325. Одно или более ЗУ изображений (например, ЗУ 320, 322 изображений) сохраняют предыдущие восстановленные изображения для использования в качестве опорных изображений. Как правило, В-изображения имеют более одного опорного изображения (например, по меньшей мере, одно предыдущее по времени опорное изображение и, по меньшей мере, одно будущее по времени опорное изображение). Соответственно, система 300 декодера 300 может использовать отдельные ЗУ 320 и 322 изображений для множества опорных изображений. Компенсатор 330 движения может компенсировать движение с приращениями полной выборки, 1/2 выборки, 1/4 выборки или другими приращениями и может переключать разрешающую способность компенсации движения на основе от изображения к изображению (на покадровой основе) или на другой основе. Компенсатор 330 движения также может переключаться между типами интерполяции выборки опорного изображения (например, между интерполяцией кубической свертки и билинейной интерполяцией) на покадровой основе или на другой основе. Разрешающая способность компенсации движения может быть одной и той же или различной по горизонтали и вертикали. Альтернативно, компенсатор движения применяет другой тип компенсации движения. Предсказание компенсатором движения редко является совершенным, так что декодер 300 также восстанавливает остатки предсказания.
Обратный квантователь 370 выполняет обратное квантование энтропийно декодированных данных. Как правило, обратный квантователь применяет равномерное скалярное обратное квантование к энтропийно декодированным данным с размером шага восстановления, который изменяется на основе от изображения к изображению (на покадровой основе), на макроблочной основе или на некоторой другой основе. Альтернативно, обратный квантователь применяет другой тип обратного квантования к данным, например, неравномерное, векторное, или неадаптивное обратное квантование, или непосредственно обратно квантует данных пространственной области в системе декодера, которая не использует обратные частотные преобразования.
Обратный частотный преобразователь 360 преобразует обратно квантованные коэффициенты преобразования частотной области в видеоинформацию пространственной области. Для видеоизображений на блочной основе обратный частотный преобразователь 360 применяет обратное дискретное косинусное преобразование ["IDCT"], вариант IDCT или некоторое другое обратное блочное преобразование к блокам коэффициентов частотного преобразования, формируя данные выборок или данные остатка межкадрового предсказания для I-изображений или предсказанных изображений, соответственно. Альтернативно, обратный частотный преобразователь 360 применяет другой тип обратного частотного преобразования типа обратного преобразования Фурье или использует вейвлет-синтез или синтез поддиапазонов. Обратный частотный преобразователь 360 может применять обратное частотное преобразование размера 8×8, 8×4, 4×8, 4×4 или другого размера.
Для предсказанного изображения декодер 300 объединяет восстановленный остаток 345 предсказания со скомпенсированным по движению предсказанием 335 для формирования восстановленного изображения 305. Когда декодеру требуется восстановленное изображение 305 для последующей компенсации движения, одно или более ЗУ (например, ЗУ 320 изображений) буферизуют восстановленное изображение 305 для использования в предсказании следующего изображения. В некоторых воплощениях декодер 300 применяет фильтр разблокирования (распаковки) или другой процесс уточнения изображения к восстановленному изображению, чтобы адаптивно сглаживать нарушения непрерывности и удалять другие артефакты из изображения перед сохранением восстановленного изображения 305 в одном или более ЗУ изображений (например, ЗУ 320 изображений) или перед отображением декодированного изображения в течение воспроизведения декодированного видео.
III. Общий обзор кодирования и декодирования с переменной разрешающей способностью
Видео может кодироваться (и декодироваться) при различных разрешающих способностях. Для целей этого описания кодирование и декодирование с переменной разрешающей способностью могут быть описаны как кодирование и декодирование на кадровой основе (например, повторная дискретизация опорного изображения) или многоуровневое (иногда упоминаемое как пространственно масштабируемое) кодирование и декодирование. Кодирование и декодирование с переменной разрешающей способностью могут также использовать кодирование и декодирование чересстрочного видео и основанное на поле кодирование и декодирование и переключение между основанным на кадре кодированием и декодированием и основанным на поле кодированием и декодированием на основе конкретной разрешающей способности или на некоторой другой основе. Однако, в целях упрощения описания принципа, в этом кратком обзоре описано кадровое кодирование прогрессивного видео.
A. Основанное на кадре кодирование и декодирование с переменной разрешающей способностью
При основанном на кадре кодировании с переменной разрешающей способностью кодер кодирует входные изображения при различных разрешающих способностях. Кодер выбирает пространственную разрешающую способность для изображений на основе от изображения к изображению (на кадровой основе) или на некоторой другой основе. Например, при повторной дискретизации опорного изображения опорное изображение может быть повторно дискретизировано, если оно закодировано с отличающейся разрешающей способностью по сравнению с разрешающей способностью кодируемого изображения. Термин «повторная дискретизация» используется для описания увеличения (повышающая дискретизация) или уменьшения (понижающая дискретизация) числа выборок, используемых для представления области изображения или некоторого другого сегмента дискретизированного сигнала. Число выборок на единичную область или на сегмент сигнала упоминается как разрешающая способность дискретизации.
Пространственная разрешающая способность может быть выбрана на основе, например, уменьшения/увеличения доступной скорости передачи, уменьшения/увеличения размера шага квантования, уменьшения/увеличения в степени движения во входном видеоконтенте, других свойств видеоконтента (например, присутствие резких границ, текста или другого контента, который может быть значительно искажен при более низких разрешающих способностях), или на некоторой другой основе. Пространственная разрешающая способность может изменяться по вертикальному, горизонтальному или по вертикальному и горизонтальному измерениям. Горизонтальная разрешающая способность может быть той же, что и вертикальная разрешающая способность, или может отличаться от нее. Декодер декодирует кодированные кадры, используя комплементарные методы.
Как только кодер выбрал пространственную разрешающую способность для текущего изображения или области в пределах текущего изображения, кодер повторно дискретизирует первоначальное изображение при желательной разрешающей способности перед его кодированием. Кодер может затем сигнализировать о выборе пространственной разрешающей способности декодеру.
Фиг.6 показывает способ (600) для кодирования на кадровой основе изображений с переменной разрешающей способностью. Кодер, такой как кодер 200 на фиг.2, устанавливает разрешающую способность (610) для изображения. Например, кодер учитывает критерии, приведенные выше, или другие критерии. Кодер затем кодирует изображение (620) при этой разрешающей способности. Если кодирование всех изображений, которые должны быть закодированы, выполнено (630), то кодер выполняет выход. В противном случае кодер устанавливает разрешающую способность (610) для следующего изображения и продолжает кодирование. Альтернативно, кодер устанавливает разрешающие способности на некотором уровне ином, чем уровень изображения, например, устанавливает разрешающую способность различной для различных частей изображения или осуществляет выбор разрешающей способности для группы или последовательности изображений.
Кодер может кодировать предсказанные изображения так же, как внутрикадровые изображения. Фиг.8 показывает способ (800) для кодирования на кадровой основе с переменной разрешающей способностью внутрикадровых изображений и изображений межкадрового предсказания. Сначала кодер проверяет на этапе 810, является ли текущее изображение, которое должно кодироваться, внутрикадровым изображением или предсказанным изображением. Если текущее изображение является внутрикадровым изображением, то кодер устанавливает разрешающую способность для текущего изображения на этапе 820. Если изображение является предсказанным изображением, то кодер устанавливает разрешающую способность для опорного изображения на этапе 830 перед установкой разрешающей способности для текущего изображения. После установки разрешающей способности для текущего изображения кодер кодирует текущее изображение (840) с этой разрешающей способностью. Установка разрешающей способности для изображения (независимо от того, является ли оно текущим изображением источника или сохраненным опорным изображением) может использовать повторную дискретизацию изображения, чтобы согласовать выбранную разрешающую способность, и может использовать кодирование сигнала для указания выбранной разрешающей способности декодеру. Если кодирование всех изображений, которые должны быть закодированы, выполнено (850), то кодер осуществляет выход. В противном случае кодер продолжает кодировать дополнительные изображения. Альтернативно, кодер обрабатывает предсказанные изображения отличающимся способом.
Декодер декодирует кодированное изображение и, в случае необходимости, повторно дискретизирует изображение перед отображением. Подобно разрешающей способности кодированного изображения, разрешающая способность декодированного изображения может настраиваться различными способами. Например, разрешающая способность декодированного изображения может быть настроена, чтобы соответствовать разрешающей способности выходного устройства отображения или области выходного устройства отображения (например, при многооконной визуализации ("картинка в картинке") или отображении окна рабочего стола PC).
Фиг.7 показывает способ (700) для декодирования на кадровой основе изображений с переменной разрешающей способностью. Декодер, такой как декодер 300 на фиг.3, устанавливает разрешающую способность (на этапе 710) для изображения. Например, декодер получает информацию разрешающей способности от кодера. Декодер затем декодирует изображение (720) с той разрешающей способностью. Если декодирование всех изображений, которые должны быть декодированы, выполнено (730), то декодер осуществляет выход. В противном случае декодер устанавливает разрешающую способность (710) для следующего изображения и продолжает декодировать. Альтернативно, декодер устанавливает разрешающие способности на некотором уровне ином, чем уровень изображения.
Декодер может декодировать предсказанные изображения так же, как внутрикадровые изображения. Фиг.9 показывает способ (900) декодирования на кадровой основе с переменной разрешающей способностью внутрикадровых изображений и предсказанных изображений.
Сначала декодер проверяет, является ли текущий кадр, который должен декодироваться, внутрикадровым изображением или предсказанным изображением (910). Если текущее изображение является внутрикадровым изображением, то декодер устанавливает разрешающую способность для текущего изображения (920). Если изображение является предсказанным изображением, то декодер устанавливает разрешающую способность для опорного изображения (930) перед установкой разрешающей способности для текущего изображения (920). Установка разрешающей способности опорного изображения может быть связана с повторной дискретизацией сохраненного опорного изображения для согласования с выбранной разрешающей способностью. После установки разрешающей способности для текущего изображения (920) декодер декодирует текущее изображение (940) при этой разрешающей способности. Если декодирование всех изображений, которые должны быть декодированы, выполнено (950), то декодер осуществляет выход. В противном случае декодер продолжает декодирование.
Декодер в типовом случае декодирует изображения при тех же самых разрешающих способностях, что и используемые в кодере. Альтернативно, декодер декодирует изображения при отличающихся разрешающих способностях, например, как в случае, когда разрешающие способности, доступные декодеру, не точно такие же, как используемые в кодере.
B. Многоуровневое кодирование и декодирование с переменной разрешающей способностью
В многоуровневом кодировании с переменной разрешающей способностью кодер кодирует видео на уровнях, причем каждый уровень имеет информацию для декодирования видео при различной разрешающей способности. Этим способом кодер кодирует, по меньшей мере, некоторые индивидуальные изображения в видео при более чем одной разрешающей способности. Декодер может тогда декодировать видео при одной или более разрешающих способностях, обрабатывая различные комбинации уровней. Например, первый уровень (иногда называемый базовым уровнем) содержит информацию для декодирования видео при более низкой разрешающей способности, в то время как один или более других уровней (иногда называемых улучшенными уровнями) содержат информацию для декодирования видео при более высоких разрешающих способностях.
Базовый уровень может быть создан таким образом, чтобы он сам был независимо декодируемым битовым потоком. Таким образом, при такой схеме, декодер, который декодирует только базовый уровень, будет формировать действительный декодированный битовый поток при более низкой разрешающей способности базового уровня. Надлежащее декодирование изображений более высокой разрешающей способности с использованием улучшенного уровня может потребовать также декодирования некоторых или всех кодированных данных базового уровня и, возможно, одного или более уровней расширения. Декодер, который декодирует базовый уровень и один или более других уровней более высокой разрешающей способности, сможет сформировать контент более высокой разрешающей способности, чем декодер, который декодирует только базовый уровень. Два, три или более уровней могут использоваться, чтобы обеспечить возможность реализации двух, трех или более различных разрешающих способностей. Альтернативно, уровень с более высокой разрешающей способностью сам также может быть независимо декодируемым битовым потоком. (Такая схема часто упоминается как метод кодирования с одновременной множественной разрешающей способностью).
Фиг.10 показывает способ (1000) для кодирования уровней битового потока для обеспечения возможности декодирования при различных разрешающих способностях. Кодер типа кодера 200 на фиг.2 получает информацию видео полной разрешающей способности в качестве входного сигнала (1010). Кодер выполняет понижающую дискретизацию информации видео полной разрешающей способности (1020) и кодирует базовый уровень, используя информацию понижающей дискретизации (1030). Кодер кодирует один или более уровней более высокой разрешающей способности, используя базовый уровень и информацию видео более высокой разрешающей способности (1040). Уровнем более высокой разрешающей способности может быть уровень, который позволяет декодировать при полной разрешающей способности, или уровень, который позволяет декодировать при некоторой промежуточной разрешающей способности. Кодер затем выводит многоуровневый битовый поток, содержащий два или более кодированных уровня. Альтернативно, кодирование уровня более высокой разрешающей способности (1040) может не использовать информацию базового уровня и может, таким образом, разрешить выполнение независимого декодирования данных уровня более высокой разрешающей способности в случае способа с одновременной множественной разрешающей способностью.
Кодер может выполнить многоуровневое кодирование с переменной разрешающей способностью несколькими способами, следуя базовой схеме, показанной на фиг.10. Для получения дополнительной информации см., например, патент США 6510177 или MPEG-2 стандарт или другие видеостандарты.
Фиг.11 показывает способ (1100) для декодирования уровней битового потока, чтобы обеспечить возможность декодирования видео при различных разрешающих способностях. Декодер типа декодера 300 на фиг.3 получает многоуровневый битовый поток в качестве входного сигнала (1110). Уровни включают в себя уровень более низкой разрешающей способности (базовый уровень) и один или более уровней, включающих в себя информацию более высокой разрешающей способности. Уровни более высокой разрешающей способности необязательно должны содержать независимо закодированные изображения; в типовом случае уровни более высокой разрешающей способности включают в себя остаточную информацию, которая описывает различия между версиями изображения более высокой и более низкой разрешающей способности. Декодер декодирует базовый уровень (1120), и, если декодирование более высокой разрешающей способности желательно, декодер выполняет повышающую дискретизацию декодированных изображений базового уровня (1130) до желательной разрешающей способности. Декодер декодирует один или более уровней более высокой разрешающей способности (1140) и объединяет декодированную информацию более высокой разрешающей способности с подвергнутыми повышающей дискретизации декодированными изображениями базового уровня, чтобы сформировать изображения более высокой разрешающей способности (1150). В зависимости от желательного уровня разрешающей способности, изображения более высокой разрешающей способности могут быть изображениями полной разрешающей способности или изображениями промежуточной разрешающей способности. Для получения дополнительной информации см., например, патент США 6510177 или MPEG-2 стандарт или другие видеостандарты.
Декодер в типовом случае декодирует изображения при одной из разрешающих способностей, используемых в кодере. Альтернативно, разрешающие способности, доступные декодеру, не точно те же самые, что и используемые в кодере.
IV. Фильтры повторной дискретизации для масштабируемого видеокодирования и декодирования
Этот раздел описывает способы и инструментальные средства для масштабируемого видеокодирования и декодирования. Хотя некоторые из описанных способов и инструментальных средств описаны в многоуровневом (или пространственно-масштабируемом) контексте, некоторые из описанных способов и инструментальных средств могут также использоваться в контексте способов на кадровой основе (или дискретизации опорного изображения) или в некотором другом контексте, который использует фильтры повторной дискретизации. Кроме того, хотя некоторые из описанных способов и инструментальных средств описаны в контексте изображений повторной дискретизации, некоторые из описанных способов и инструментальных средств могут также использоваться для повторной дискретизации остатка или разностных сигналов, которые являются результатом предсказания сигналов более высокой разрешающей способности.
Масштабируемое видеокодирование (SVC) - это тип цифрового видеокодирования, который позволяет декодировать поднабор большего битового потока для формирования декодированных изображений с качеством, которое является приемлемым для некоторых приложений (хотя такое качество изображения было бы ниже, чем качество, получаемое при декодировании всего битового потока более высокой битовой скорости). Один известный тип SVC упоминается как пространственное масштабирование или масштабирование разрешающей способности. В схеме пространственного SVC процесс кодирования (или функция предварительной обработки, которая должна выполняться перед процессом кодирования, в зависимости от точного определения области процесса кодирования) в типовом случае включает понижающую дискретизацию видео до более низкой разрешающей способности и кодирование данного видео более низкой разрешающей способности, чтобы обеспечить возможность процесса декодирования более низкой разрешающей способности, и повышающую дискретизацию декодированных изображений более низкой разрешающей способности, чтобы использовать в качестве предсказания значений выборок в изображениях видео более высокой разрешающей способности. Процесс декодирования для видео более высокой разрешающей способности тогда включает в себя декодирование видео более низкой разрешающей способности (или некоторой его части) и использование этого видео повышенной дискретизации в качестве предсказания значения выборок в изображениях видео более высокой разрешающей способности. Такие схемы требуют использования фильтров повторной дискретизации. В частности, схемы кодека включают использование фильтров повышающей дискретизации как в декодерах, так и в кодерах, и использование фильтров понижающей дискретизации в кодерах и препроцессорах кодирования. В частности, настоящее описание фокусируется на фильтрах повышающей дискретизации, используемых в таких схемах. Как правило, процесс повышающей дискретизации проектируется идентичным в кодерах и декодерах, чтобы предотвратить явление, известное как дрейф, который является накоплением ошибки, обусловленной использованием различающихся предсказаний того же самого сигнала в процессе кодирования и декодирования.
Один недостаток некоторых схем пространственного SVC обусловлен использованием фильтров низкого качества (например, двухотводных билинейных фильтров) в процессе декодирования. Использование фильтров более высокого качества было бы выгодно для обеспечиваемого качества видео.
Пространственное SVC может включать фильтры повторной дискретизации, которые обеспечивают высокую степень гибкости для коэффициента повторной дискретизации фильтра. Однако это может потребовать большого количества конкретных схем фильтра для каждой различной "фазы" такого фильтра, подлежащего разработке, и значений "отводов" этих фильтров, подлежащих сохранению, в реализациях кодеров и декодеров.
Кроме того, может быть выгодно, для обеспечения качества видео, позволить кодеру управлять степенью смазанности (нерезкости) для фильтров повторной дискретизации, используемых для пространственного SVC. Таким образом, для каждой "фазы" повторной дискретизации, подлежащей проектированию для повышающей дискретизации или понижающей дискретизации, может быть выгодно иметь несколько различных фильтров, чтобы выбирать из них, в зависимости от желательной степени смазанности, вводимой в процесс. Выбор степени смазанности, подлежащий выполнению при повышающей дискретизации, может посылаться с кодера на декодер в качестве информации, передаваемой для использования в процессе декодирования. Эта дополнительная гибкость дополнительно усложняет схему, поскольку это значительно увеличивает число необходимых значений отводов, которые могут потребоваться для сохранения в кодере или декодере.
Унифицированная схема могла бы использоваться, чтобы определять множество фильтров повторной дискретизации с различными фазами и различными степенями смазанности изображения. Одно возможное решение состоит в использовании метода проектирования фильтра Mitchell-Netravali. Прямое применение метода проектирования фильтра Mitchell-Netravali к этим проблемам может потребовать дополнительных вычислительных ресурсов в форме чрезмерного динамического диапазона возможных значений для величин, которые должны вычисляться в кодере или декодере. Например, одна такая схема могла бы потребовать использования 45-битовой арифметической обработки вместо 16-битовых или 32-битовых элементов обработки, обычно используемых в универсальных CPU и DSP. Для рассмотрения этой проблемы ниже приведены некоторые уточнения проектирования.
Типичная схема SVC требует нормативного фильтра повышающей дискретизации для пространственного масштабирования. Чтобы поддерживать произвольные коэффициенты повторной дискретизации (характеристика, известная как расширенное пространственное масштабирование), описана схема фильтра повышающей дискретизации, которая реализует большую гибкость относительно коэффициентов повторной дискретизации. Другой ключевой аспект - относительное выравнивание сигнала яркости и сигнала цветности. Поскольку разнообразие структур выравнивания (см., например, H.261/MPEG-1 по сравнению с MPEG-2 выравниванием для 4:2:0 сигнала цветности, и H.264/MPEG-4 AVC) найдено в одноуровневых подходах, описанные способы и инструментальные средства поддерживают гибкое разнообразие выравниваний, при простом способе для кодера, чтобы указывать декодеру, как соответствующим образом применять фильтрацию.
Описанные способы и инструментальные средства включают фильтры повышающей дискретизации, обеспечивающие возможность повышающей дискретизации высокого качества и подавление помех дискретизации. В частности, описанные способы и инструментальные средства имеют качество выше того, которое обеспечивается предшествующими схемами билинейных фильтров для пространственного масштабирования. Описанные способы и инструментальные средства имеют фильтры повышающей дискретизации высокого качества, которые обеспечивают визуально привлекательное представление и хорошее поведение частоты обработки сигналов. Описанные способы и инструментальные средства включают схему фильтра, которая является простой для определения и не требует больших таблиц, сохраняемых в ЗУ, для хранения значений отводов, и операции самой фильтрации в вычислительном отношении являются простыми для реализации. Например, описанные способы и инструментальные средства используют фильтр не чрезмерной длины, который не требует чрезмерной математической точности или чрезмерно сложных математических функций.
Настоящий раздел описывает схемы, имеющие одно или более следующих свойств:
- гибкость выравнивания фазы сигнала яркости/сигнала цветности;
- гибкость коэффициента повторной дискретизации;
- гибкость частотных характеристик;
- высокое визуальное качество;
- не слишком мало и не слишком много отводов фильтра (например, от 4 до 6);
- простота определения;
- простота работы (например, с использованием арифметики практичной длины слова).
A. Фильтры повышающей дискретизации Mitchell-Netravali
Описанные способы и инструментальные средства используют подход разделимой фильтрации, поэтому следующее обсуждение будет фокусироваться прежде всего на обработке одномерного сигнала, поскольку двумерный случай является простым разделимым применением одномерного случая. Сначала предлагается двухпараметрический набор фильтров, основанных на концептуально-непрерывной импульсной характеристике h (x), определяемой следующим образом:
Figure 00000001
где b и c - два параметра. Для относительного положения фазового сдвига 0 ≤ x <1 это ядро формирует 4-отводный фильтр с конечным импульсным откликом (FIR) со значениями отводов, определяемыми следующим матричным уравнением:
Figure 00000002
Фактически, достаточно рассмотреть только диапазон x от 0 до 1/2, так как ядро фильтра FIR для х является просто ядром фильтра FIR для 1-x в обратном порядке.
Эта схема имеет ряд интересных и полезных свойств. Ниже приведены некоторые из них:
- Никакие тригонометрические функции, трансцендентные функции или обработка иррациональных чисел не требуются для вычисления значений отводов фильтра. Фактически, значения отводов для такого фильтра могут быть непосредственно вычислены только с несколькими простыми операциями. Они не должны обязательно сохраняться для различных возможных значений параметров и фаз, которые должны использоваться; они могут просто быть вычислены, когда необходимо. (Так, чтобы стандартизировать использование таких фильтров, необходимо только несколько формул - никакие огромные таблицы чисел или стандартизированные попытки аппроксимировать функции, подобные косинусам или функциям Бесселя, не требуются).
- Результирующий фильтр имеет 4 отвода. Это является весьма практичным количеством.
- Фильтр имеет только единственный боковой лепесток на каждой стороне от основного лепестка. Поэтому не создается избыточных артефактов переходных процессов.
- Фильтр имеет гладкую импульсную характеристику. Его значение и его первая производная непрерывны.
- Он имеет DC отклик единичного усиления, что означает, что нет никакого усиления или ослабления яркости в информации повышающей дискретизации.
- Члены этого семейства фильтра включают относительно хорошие аппроксимации известных хороших фильтров типа схемы "Lanczos-2" и схемы "Catmull-Rom". Кроме того, описанные способы и инструментальные средства включают конкретные отношения между двумя параметрами для выбора приятных для визуального восприятия фильтров. Такие отношения могут быть выражены следующим образом:
Figure 00000003
Это уменьшает степени свободы до единственного параметра b управления шириной полосы. Этот параметр управляет степенью дополнительной нечеткости, вводимой фильтром. Отметим, что членом этого семейства, ассоциированным со значением b=0, является превосходный известный фильтр повышающей дискретизации Catmull-Rom (также известный как фильтр интерполяции Keys «кубической свертки»).
Фильтр повышающей дискретизации Catmull-Rom имеет ряд хороших собственных свойств, в дополнение к основным преимуществам, найденным для всех членов семейства фильтра Mitchell-Netravali:
- Он является фильтром "интерполяции" - то есть для значений фаз x=0 и x=1 фильтр имеет единственный ненулевой отвод, равный 1. Другими словами, сигнал повышающей дискретизации будет проходить точно через значения входных выборок на границах каждого сегмента кривой повышающей дискретизации.
- Если набор входных выборок формирует параболу (или прямую линию, или статическое значение), выходные точки будут лежать точно на параболической кривой (или прямой линии, или статическом значении).
В действительности, до некоторой степени, повышающий дискретизатор Catmull-Rom может рассматриваться как лучший фильтр повышающей дискретизации этой длины по этим причинам, хотя введение некоторой дополнительной размытости (увеличения b) может иногда быть более визуально приятным. Также, введение некоторой размытости дополнительного пространства может помочь сгладить артефакты сжатия низкой битовой скорости и, таким образом, действовать более сходно с алгоритмом оценки на фильтре Wiener (известный фильтр, используемый для фильтрации шума) для истинного изображения повышающей дискретизации.
Простая подстановка уравнения (3) в уравнение (2) приводит к следующим значениям сигнала:
Figure 00000004
Сообщалось, что, основываясь на субъективных испытаниях с 9 экспертными средствами просмотра и более чем 500 выборками:
- пригодный для использования диапазон составил 0 ≤ b ≤ 5/3;
- диапазон 0 ≤ b ≤ 1/2 категоризирован как визуально "удовлетворительно", причем b = 1/3 оценивалось как визуально приятное;
- значения b > 1/2 категоризированы как "размытость", причем b=3/2 оценивалось как чрезмерная размытость.
В. Преобразование в целочисленное представление параметра управления шириной полосы
Деление на 6 в уравнении (4) может быть нежелательным. Вместо этого может быть желательным преобразовать в целочисленное представление параметр управления шириной полосы и значения отводов фильтра, поскольку бесконечная точность непрактична при проектировании декодера. Рассмотрим подстановку с использованием новой целочисленной переменной а, определенной следующим образом:
Figure 00000005
где S - целочисленный коэффициент сдвига, и а - целое число без знака, действующее как преобразованный в целочисленное представление параметр управления шириной полосы. Параметр а может быть закодирован в явном виде как элемент синтаксиса кодером на уровне видеопоследовательности в битовом потоке. Например, параметр а может кодироваться в явном виде кодом переменной длины или фиксированной длины, совместно кодироваться с другой информацией или сигнализироваться в явном виде. Альтернативно, параметр а сигнализируется на некотором другом уровне в битовом потоке.
Преобразование в целочисленное представление приводит к целочисленным значениям отводов:
Figure 00000006
Результат затем потребовалось бы масштабировать на S позиций вниз в бинарной арифметической обработке.
Если a имеет диапазон от 0 до М, то b имеет диапазон от 0 до 6*M/2S. Некоторые возможные полезные варианты выбора для М включают следующее:
- M=2(S-2)-1, приводя к диапазону b от 0 до 3/2-6/2S.
- M=Ceil(2S/6), что возвращает наименьшее целое число больше или равное 2S/6, приводя к диапазону b от 0 до несколько больше, чем 1.
- M=2(S-3)-1, приводя к приблизительному диапазону b от 0 до 3/4-6/2S.
Эти варианты выбора для М достаточно велики, чтобы охватывать большинство полезных случаев, причем первый вариант выбора (M=2S-2)-1) является большим из этих трех вариантов выбора. Полезный диапазон для S составляет от 6 до 8. Например, при S=7 и M=2(S-2)-1, M=31. Альтернативно, могут использоваться другие значения М и S.
C. Преобразование в целочисленное представление позиционирования дробных выборок
Рассмотрим гранулярность значения x. Для практичности также следует аппроксимировать x. Например, можно определить целое число i так, что:
Figure 00000007
где F представляет поддерживаемую точность позиции дробной выборки. Для примера достаточно точной операции повторной дискретизации примем F ≥ 4 (точность позиционирования выборки одна шестнадцатая или больше). Это приводит к следующим преобразованным в целочисленное представление значениям отводов фильтра:
Figure 00000008
Например, пусть F=4. Тогда результат следовало бы уменьшить на 3F+S позиций.
Заметим, что каждая запись в матрице, приведенной выше, содержит общий коэффициент 2 (предполагая, что S больше, чем 1). Таким образом, вместо этого можно сформулировать значения отводов следующим образом:
Figure 00000009
где каждое из значений отводов разделено на 2. Результат тогда нужно было бы уменьшить только на 3F+S-1 позиций.
Для понижающего масштабирования определяем функцию RoundingRightShift (p, R) как вывод сдвига вправо на R битов (с округлением), вычисленный для входного значения p, вычисленную следующим образом:
Figure 00000010
где запись ">>" относится к оператору сдвига вправо двоичной арифметики, использующему двоичную арифметику дополнения до двух. Альтернативно, сдвиг вправо с округлением выполняется по-другому.
Некоторые примерные применения для сдвига вправо с округлением представлены ниже.
D. Рассмотрение динамического диапазона
Если мы фильтруем изображения с N битами битовой глубины выборки и выполняем это двумерным способом перед выполнением любого округления, то нам потребуется динамический диапазон в 2*(3F+S-1) +N+1 битов в сумматоре перед понижающим сдвигом результата на 2*(3F+S-1) позиций и ограничение вывода до N-битового диапазона. Например, если F=4, S=7 и N=8, то может потребоваться использование сумматора на 45 битов, чтобы вычислить отфильтрованный результат.
В следующих подразделах описываются некоторые подходы к уменьшению этой проблемы. Эти подходы могут использоваться отдельно или в комбинации друг с другом. Понятно, что на основе представленного описания возможны изменения описанных подходов к уменьшению динамического диапазона.
1. Первый примерный подход к уменьшению динамического диапазона
Рассмотрим пример, где сначала выполняется горизонтальная фильтрация, за которой следует вертикальная фильтрация. Рассмотрим максимальную длину слова W битов для любой точки в двумерном конвейере обработки. В первом подходе уменьшения динамического диапазона, чтобы реализовать фильтрацию, мы используем сдвиг вправо с округлением на RH битов на выходе первой (горизонтальной) стадии процесса и сдвиг вправо с округлением на RV битов на выходе второй (вертикальной) стадии процесса.
Таким образом, вычисляем следующее:
Figure 00000011
Figure 00000012
(11)
и поэтому
Figure 00000013
Figure 00000012
(12)
Тогда сдвиг вправо для второй (вертикальной) стадии может быть вычислен из
Figure 00000014
Figure 00000015
Figure 00000016
(13)
и поэтому
Figure 00000017
Figure 00000015
Figure 00000012
(14)
Например, для F=4 и S=7 и N=8 и W=32 мы получаем RH=13 и RV=23. Таким образом, вместо динамического диапазона 45 битов при сдвигах вправо с округлением динамический диапазон уменьшен до 32 битов. Сдвиги вправо на различные числа битов могут использоваться для различных значений W.
2. Второй примерный подход к уменьшению динамического диапазона
Второй подход к уменьшению динамического диапазона предусматривает снижение точности значений отводов вместо снижения точности позиционирования фазы (то есть сокращение F), сокращение гранулярности параметра настройки ширины полосы фильтра (то есть сокращение S) или снижение точности вывода первой стадии (то есть увеличение RH).
Обозначим четыре целочисленных значения отвода, сформированные согласно уравнению (9), как [t-1, t0, t1, t2]. Отметим, что сумма четырех значений отводов фильтра будет равна 23F+S-1, то есть
t-1 + t0 + t1 + t2 = 23F+S-1
Figure 00000018
(15)
Это важное свойство этого примерного подхода к уменьшению динамического диапазона, потому что всякий раз, когда все четыре входных выборки имеют одинаковое значение, вывод будет иметь то же самое значение.
Используя примерное определение сдвига вправо с округлением согласно уравнению (10) и заданную величину сдвига вправо Rt для значений отводов, определим следующее:
u-1=RoundingRightShift(t-1, Rt);
u1=RoundingRightShift(t1, Rt);
u2=RoundingRightShift(t2, Rt);
u0=23F+S-1 - u-1 - u1 - u2.
Затем выполняем фильтрацию со значениями отводов [u-1, u0, u1, u2], вместо [t-1, t0, t1, t2]. Каждое увеличение на 1 в значении R1 представляет уменьшение на один бит динамического диапазона, необходимого в арифметическом сумматоре, и уменьшение на один бит сдвига вправо, который должен выполняться в последующих стадиях обработки.
3. Третий примерный подход к уменьшению динамического диапазона
Один предшествующий подход использует прием, который подобен по концепции, но отличается от первого примерного подхода к уменьшению динамического диапазона тем, что он делает величину сдвига вправо после первой стадии процесса функцией значения переменной i позиционирования фазы.
Понятно, что значения отводов фильтра, показанные в уравнении (9), будут содержать K нулевых младших битов, когда значение i является целым кратным 2K. Таким образом, если вторая стадия процесса фильтрации использует переменную i позиционирования фазы, которая является целым кратным 2K, то можно сдвинуть вправо значения отводов второй стадии на K битов и уменьшить величину сдвига вправо для первой стадии на K битов.
Отслеживать это было бы довольно трудным при действии обобщенного коэффициента повторной дискретизации. Однако при выполнении простых коэффициентов повторной дискретизации 2:1 или других простых коэффициентов, легко видеть, что все фазы, используемые для второй стадии процесса фильтрации, содержат то же самое кратное 2K, позволяя применять этот подход в этих специальных случаях.
V. Способы и инструментальные средства вычисления позиции
Ниже описаны способы и инструментальные средства для вычисления информации позиционирования для пространственного SVC.
Некоторые способы и инструментальные средства направлены на то, как задать длину слова B и оптимизировать точность вычисления при ограничении этой длиной слова. Вместо того, чтобы только выбрать точность и потребовать некоторую необходимую длину слова, применение нового способа обеспечит более высокую точность в реальном выполнении и расширит диапазон эффективного применения способа, потому что он использует всю доступную длину слова для максимизации точности в пределах этого ограничения.
Некоторые из способов и инструментальных средств направлены на a) смещение начала координат системы координат и b) использование целых чисел без знака вместо целых чисел со знаком, чтобы достигнуть лучшего компромисса между точностью и длиной слова/динамическим диапазоном. Небольшое увеличение в вычислениях необходимо для добавления параметра смещения начала координат к каждой вычисляемой позиции.
Некоторые из способов и инструментальных средств направлены на разбиение производимого вычисления различных сегментов строки выборок на различные стадии обработки, причем начало координат системы координат изменяется в начале каждой стадии. Вновь это обеспечивает лучший компромисс между точностью и длиной слова/динамическим диапазоном при еще одном незначительном увеличении в требованиях к вычислениям (так как некоторые дополнительные вычисления выполняются в начале каждой стадии). Если данный способ довести до его логической крайности, потребность в операциях умножения может быть устранена, и компромисс между точностью и длиной слова/динамическим диапазоном может быть дополнительно улучшен. Однако некоторые дополнительные операции потребовалось бы выполнять для каждой выборки (так как дополнительное вычисление, необходимое для "каждой стадии", становится необходимым для каждой выборки, когда каждая стадия содержит только одну выборку).
В качестве общей идеи описаны алгоритмы для части обработки, относящейся к вычислению позиции, чтобы достигнуть желательных компромиссов между точностью вычисленных результатов и длиной слова/динамическим диапазоном элементов обработки и числом и типом математических операций, вовлеченных в обработку (например, операций сдвига, сложения и умножения).
Например, описанные способы и инструментальные средства обеспечивают возможность вычислений гибкой точности, используя B-битовую (например, 32-битовую) арифметику. Это позволяет пространственному кодеру/декодеру SVC гибко адаптироваться к различным размерам изображения, не требуя преобразования в другую арифметику (например, 16-битовую или 64-битовую арифметику) для вычислений. С использованием B-битовой (например, 32-битовой) арифметикой гибкой точности кодер/декодер может отводить переменное число битов для дробного компонента. Это позволяет достичь увеличенной точности для вычислений, когда количество требуемых битов для представления целочисленного компонента уменьшается (например, для меньшего размера кадра). Когда количество требуемых битов для представления целочисленного компонента увеличивается (например, для большего размера кадра), кодер/декодер может использовать больше битов для целочисленного компонента и меньшего количества битов для дробного компонента, снижая точность, но поддерживая В-битовую арифметику. Таким способом существенно упрощается переход между различными точностями и различными размерами кадра.
Настоящий раздел включает конкретные детали приведенной для примера реализации. Однако следует отметить, что описанные здесь детали могут изменяться в других реализациях согласно описанным здесь принципам.
A. Введение и принципы вычисления позиции
Описаны способы для вычисления информации позиции и фазы, приводящие к намного более низким требованиям к вычислениям без какой-либо существенной потери точности. Например, описанные способы могут значительно уменьшить вычислительные требования, например, существенно сокращая требования к номинальному динамическому диапазону (на десятки битов). Учитывая разнообразие возможных позиций сигнала цветности, которые могут использоваться в базовом и улучшенном уровнях, желательно найти решение, обеспечивающее надлежащее позиционирование повторно дискретизированных выборок сигнала цветности относительно выборок сигнала яркости. Соответственно, описанные способы позволяют выполнять настройки для вычисления позиций для видеоформатов с различными соотношениями между позициями сигнала цветности и сигнала яркости.
Один предшествующий способ повышающей дискретизации, разработанный для расширенного пространственного масштабирования, использует довольно громоздкий метод вычисления информации позиции и фазы при повышающей дискретизации уровня низкого разрешения; он масштабирует сдвинутую вверх приближенную инверсию знаменателя, что вызывает увеличение ошибки округления в приближении инверсии, когда числитель увеличивается (то есть, когда процесс повышающей дискретизации перемещается слева направо или сверху вниз). По сравнению с этим, способы, описанные здесь, отличаются высокой точностью и простотой вычисления. В частности, описаны способы, которые уменьшают динамический диапазон и величину сдвига вправо в вычислениях позиции на десятки битов.
Например, описан способ для вычисления информации позиционирования, чтобы получить целочисленную позицию и переменную i позиционирования фазы, где i=0,2F-1, для использования в пространственной повышающей дискретизации SVC.
Описанные способы применяют процесс повторной дискретизации к приложению пространственного масштабируемого кодирования видео, а не к прямой повторной дискретизации опорного изображения. В этом приложении пространственного масштабируемого кодирования видео могут применяться некоторые упрощения. Вместо общего процесса деформирования изображения необходима только операция изменения размеров изображения. Это может быть отдельным алгоритмом для каждого измерения.
B. Проектирование вычисления позиции
Рассмотрим постановку задачи по каждому измерению (x или y), как формирование последовательности выборок, лежащих концептуально в диапазоне действительных значений от L до R> L в новом массиве (повышающей дискретизации). Этот диапазон действительных значений должен соответствовать диапазону от L' к R'> L' в опорном массиве более низкой разрешающей способности.
Для позиции Т в новом массиве, где L ≤ T ≤ R, потребуется вычислить позицию в опорном массиве, которая соответствует позиции в новом массиве. Это было бы позицией T' = L' + (T-L) * (R'-L') ÷ (R-L).
Теперь вместо того, чтобы рассматривать изменение размеров диапазона от L до R, определим целое число M > 0 и рассмотрим изменение размеров диапазона от L до L + 2М с тем же самым отношением изменения размеров (R'-L') ÷ (R-L). Соответствующий диапазон в координатах опорных выборок будет тогда от L' до R", где R" = L' +2М * (R '-L') ÷ (R-L). Если М является достаточно большим, то есть, если M ≥ Ceil(Log2(R-L)), то R''≥ R'. (Предположим теперь, что это ограничение выполняется, чтобы объяснить концепции, изложенные ниже, хотя это ограничение не является действительно необходимым для надлежащего действия уравнений).
Теперь мы можем использовать линейную интерполяцию между позициями L' и R" для вычислений позиционирования. Позиция L отображается на позицию L', и позиция T ≥ L отображается на позицию ((2М - (T-L))*L' + (T-L) *R")÷2М. Это преобразует знаменатель операции в степень 2, таким образом, снижая вычислительную сложность операции деления, позволяя заменить ее двоичным сдвигом вправо.
Соответствующие модификации могут быть сделаны для преобразования вычислений в целочисленное представление. Округляем значения L' и R" до целых кратных 1÷2G, где G - целое число, такое, что L' аппроксимируется посредством k÷2G, и R" аппроксимируется посредством r÷2G, где k и r - целые числа. Используя эту настройку, получаем позицию T, отображенную на позицию
((2М - (T-L))*k + (T-L)*r) ÷2(M+G).
Теперь предположим, что релевантными значениями T и L являются целые кратные 1÷2J, где J - целое число, такое как T-L=j÷2J. Используя эту настройку, получаем позицию T, отображенную на позицию
((2(M+J)-j)*k + j*r) ÷ 2(M+G+J).
Напомним, что, согласно разделу IV выше, дробная фаза фильтра повторной дискретизации должна быть целым числом в единицах 1÷2F. Тогда вычисленная позиция, в этих единицах, равна
Round(((2(M+J)-j)*k + j*r) ÷2(M+G+J-F), или
t'=((2(M+J)-j)*k + j*r + 2(M+G+J-F-1))>>(M+G+J-F) или, более просто, (16),
t' = (j*C+D)>> S
где
(17),
S=M+G+J-F (18),
C=r-k (19),
D = (k <<(M+J)) + (1 <<(S-1)) (20)
Единственная ошибка, формируемая в способе, описанном здесь (в предположении отсутствия ошибки в представлении L и R и L' и R') перед округлением вычисленной позиции до ближайшего кратного 1÷2F (которая является ошибкой, присутствующей в обеих схемах) представляет собой ошибку округления из-за округления позиции R" до ближайшего кратного 1÷2G. Эта величина очень мала, если G+M относительно велико. Фактически, этот источник ошибки тесно связан с величиной приблизительно (T-L) ÷2(G/M+1), требования длины слова для вычисления результатов умеренны, и арифметика по модулю позволяет отделить целочисленную часть результата, чтобы минимизировать длину слова, или также позволяет разбить вычисление другими подобными способами.
F может, например, быть равным 4 или более. (Для некоторых приложений F=3 или F=2 может быть достаточным). Примерные значения J включают J=1 для вычислений позиции сигнала яркости и J=2 - для позиций выборок сигнала цветности. Объяснение для этих примерных значений J приведено ниже.
1. Первый примерный упрощенный способ вычисления позиции с использованием В-битовой арифметики со знаком
Если R'> 0 и L'>-R', то все позиции t', которые должны вычисляться в изображении, подвергаемом повышающей дискретизации, как целое число в единицах 1 ÷ 2F, будет лежать между -2Z и 2Z-1, где Z=Ceil(Log2(R')) + F. Если длина слова (j*C+D) вычисления равна B битов и предполагается использование двоичной арифметики дополнения до двух со знаком, то можно потребовать, чтобы B-1 ≥ Z+S. Высокая точность достигается, если это ограничение является строгим, то есть, если B-1=Z+M+G+J-F.
Для приемлемо малых размеров изображения (например, для уровней вплоть до уровня 4.2 в современном стандарте H.264/MPEG-4 AVC) B=32 может использоваться в качестве длины слова. Другие значения B также могут использоваться. Для очень больших изображений может использоваться большее В. Вычисления могут также быть легко расчленены на подвычисления с меньшей длиной слова для использования на 16-разрядных или других процессорах.
Оставшиеся две степени свободы - это М и G. Их соотношение является гибким, пока G является достаточно большим, чтобы избежать любой потребности в ошибке округления при представлении L' как k ÷ 2G. Таким образом, основываясь на вопросах, осужденных в следующем разделе для SVC, можно выбрать G=2, что дает:
M=B+F-(G+J+Z+1),
то есть
M=32+4-(2+1+Z+1),
то есть
M=32-Z.
Например, если желательна повышающая дискретизация массива сигнала яркости изображения, которое имеет ширину 1000 выборок сигнала яркости при B=32 и L' =0, то можно использовать F=4, G=2, J=1, M=18, S=17, и Z=14, используя этот первый примерный способ вычисления позиции.
Когда T очень близко (или равно) R, и R' очень близко (или равно) целой степени 2, особенно когда (T-L) * (R '-L') ÷ 2F велико (например, более чем 1/2), то гипотетически возможно, что верхняя граница будет нарушена на 1. Далее здесь не рассматриваются такие случаи, хотя настройки для разрешения таких случаев являются тривиальными.
2. Второй примерный способ вычисления позиции с использованием В-битовой арифметики без знака
Если все позиции, которые должны вычисляться в изображении низкого разрешения, больше или равны 0, что является случаем, который может быть сделан истинным путем добавления соответствующего смещения к началу координат системы координат, то лучшим выбором может быть вычисление t' = (j*C + D) с использованием целочисленной арифметики без знака, вместо двоичной арифметики дополнения до двух. Это обеспечивает возможность динамического диапазона на один бит больше без переполнения в вычислениях (то есть мы можем использовать B битов величины динамического диапазона, а не B-1 битов), таким образом, увеличивая М (или G) и S на 1 каждый и далее увеличивая точность вычисленных результатов. Таким образом, после включения смещения E для настройки начала координат системы координат, форма вычисления имела бы вид: t' = ((j*C+D')>> S') + E вместо t' = (j*C+D)>> S.
Далее приведено подробное описание этого более точного способа, использующего арифметику без знака, путем идентификации, когда смещение Е начала координат не будет необходимым, следующим образом.
- Выбираются значения для B, F, Г, J, и Z, как описано выше.
- Устанавливается M=B+F-(G+J+Z).
- Вычисляется S, C и D, как определено выше в уравнениях (18), (19) и (20) соответственно, где D вычисляется как число со знаком.
- Если D больше или равно нулю, никакое смещение начала координат (то есть E не используется) не требуется, и вычисление может выполняться просто как t' = (j*C + D)>> S с использованием арифметики без знака, и результат будет иметь большую точность, чем в первом примерном способе вычисления позиции, описанном выше в разделе V.B.1.
В дополнение к улучшению точности путем обеспечения возможности вычисления с использованием целых чисел без знака, смещение начала координат также может иногда использоваться, чтобы обеспечить улучшенную точность, допуская уменьшение в значении Z. Без смещения начала координат Z является функцией R'. Но со смещением начала координат Z может становиться функцией R'-L', что делает вычисление более точным, если это приводит к меньшему значению Z.
Далее приведено подробное описание этого более точного способа, использующего арифметику без знака, показывающего возможный способ смещения начала координат, для получения D' и E следующим образом.
- Выбираются значения для B, F, Г и J, как описано выше.
- Устанавливается Z = Ceil(Log2(R'-L')) + F.
- Устанавливается M = B + F -(G+J+Z).
- Вычисляются S, C и D, как определено выше в уравнениях (18), (19) и (20) соответственно, где D вычисляется как число со знаком.
- Устанавливается E = D>> S.
- Устанавливается D' = D -(E <<S).
- Затем вычисление позиции может быть выполнено как t' = ((j*C + D')>> S) + E.
Если D' и E (и М, S и Z) вычислены этим способом, математический результат уравнения t'=((j*C + D')>> S) + E в действительности всегда будет теоретически тем же самым, что и результат уравнения t' = (j*C + D)>> S, за исключением того, что значение (j*C+D) может иногда выходить за пределы из диапазона значений от 0 до 2B-1, в то время как значение (j*C+D') не будет.
Например, если желательно выполнить повышающую дискретизацию массива сигнала яркости изображения, которое имеет ширину 1000 выборок сигнала яркости при B=32 и L'=0, то можно использовать F=4, G=2, J=1, M=19, S=18 и Z=14, используя этот второй примерный способ вычисления позиции. Другая возможность, которая работала бы одинаково хорошо, вместо смещения начала координат, чтобы все значения j*C+D' были неотрицательны и, таким образом, позволяли использовать В-битовый диапазон вычислений от 0 до 2B-1, используя арифметику без знака, состояла бы в смещении начала координат далее вправо еще на 2(B-1), чтобы позволить использовать B-битовый диапазон вычислений от -2(B-1) до 2(B-1)-1 с использованием арифметики со знаком.
Как в первом примерном способе вычисления позиции в предыдущем разделе, могли бы иметь место настройки «краевого случая», необходимые, когда T очень близко (или равно) R, и R'-L' очень близко (или равно) целочисленной степени 2.
3. Примерные многоэтапные способы для вычисления позиции
Выше описаны способы, разработанные с той целью, чтобы иметь возможность выполнять вычисление, используя то же самое уравнение, например, t' = ((j*C + D')>> S)+E, с теми же самыми значениями переменных C, D', S и E для всех значений j, охватывающих диапазон выборок, которые должны генерироваться (то есть для всех значений T между L и R). Теперь будет описано, каким образом это допущение может быть ослаблено, обеспечивая выполнение требований большей точности и/или уменьшенного вычислительного динамического диапазона.
Обычно, процесс повторной дискретизации проходит слева направо (или сверху вниз), чтобы генерировать строку последовательных выборок в равномерно разнесенных позициях. Во втором примерном способе вычисления позиции, описанном выше в разделе V.B.2, было показано, каким образом изменение начала координат с использованием параметра E смещения может применяться, чтобы эффективно использовать B-битовый динамический диапазон регистра, используемого для вычисления части (j*C + D') позиционного вычисления.
Напомним, что в предыдущем разделе только S младших битов D были сохранены в D', и остаток был перемещен в E. Таким образом, главная остающаяся проблема для вычисления (j*C+D') состоит в величине j*C.
Напомним, что T и L - целые кратные 1÷2J. Обычно мы выполняем процесс повышающей дискретизации, чтобы генерировать строку выборок с целочисленными приращениями в изображении высокой разрешающей способности, например, с интервалом 2J между последовательно сгенерированными выборками. Таким образом, желательно вычислить позиции t'i, которые соответствуют позициям Ti = (p+i*2J)÷2J для i от 0 до N-1 для некоторых значений p и N.
Этот процесс может быть получен в итоге в псевдокоде, как показано в псевдокоде 1200 на фиг.12, для некоторых значений p и N. С увеличением i до N значение q увеличивается, и максимальное значение q должно сохраняться в пределах доступного динамического диапазона B битов. Максимальное значение, вычисленное для q, есть (p + (N-1)*2J)*C + D'.
Теперь, вместо того, чтобы генерировать все выборки в одном цикле этим способом, рассмотрим разбиение процесса на множество этапов, например, на два этапа. Например, в двухэтапном процессе, на первом этапе генерируются первые N0 < N выборок, и на втором этапе генерируются остальные N-N0 выборок. Также, поскольку p является константой относительно цикла, мы можем переместить ее воздействие в D' и E перед первым этапом. Это приводит к двухэтапному процессу, проиллюстрированному в псевдокоде 1300 на фиг.13.
В начале каждого этапа в псевдокоде 1300 начало координат устанавливается в исходное состояние, так что все, кроме S младших битов первого значения q для данного этапа, перемещаются в E (то есть в E0 для первого этапа и E1 для второго этапа). Таким образом, во время действия каждого из двух этапов q требует меньшего динамического диапазона. После разбиения процесса на этапы этим способом максимальное значение q будет N0*C' + D0 или ((N-N0-1)*C' + D1, в зависимости от того, какое из них больше. Но поскольку D0 и D1 каждый имеет не более чем S битов динамического диапазона без знака, это обычно будет меньшим максимальным значением, чем в ранее описанной одноэтапной схеме. Число выборок, сгенерированных на этапе (то есть N0 для первого этапа и N-N0 для второго этапа), может повлиять на динамический диапазон для ассоциированных вычислений. Например, использование меньшего количества выборок на каждом этапе приведет к меньшему динамическому диапазону для ассоциированных вычислений.
Каждый этап может быть разбит далее на большее количество этапов, и, таким образом, генерация всех N выборок может быть далее разбита на любое количество таких меньших этапов. Например, процесс мог бы быть разбит на этапы равного размера так, чтобы блоки, например, из 8 или 16 последовательных выборок были сгенерированы на каждом этапе. Этот способ может использоваться либо для уменьшения необходимого количества битов динамического диапазона B для вычисления q, либо для повышения точности вычисления (увеличивая S и G+M) при сохранении динамического диапазона тем же самым, или для получения комбинации этих двух выгод.
Этот способ разбиения процесса вычисления позиции на этапы может также использоваться для выполнения непрерывного процесса повторной дискретизации по очень длинной строке входных выборок (концептуально, строка могла бы быть бесконечно длинной), как при выполнении преобразования частоты дискретизации, когда выборки поступают от аналого-цифрового преобразователя для аудиосигнала. Ясно, что без разбиения процесса на этапы конечного размера и установления в исходное состояние начала координат с приращением от каждого этапа до следующего бесконечно-длинная строка выборок не могла бы быть обработана способами, описанными в предыдущих разделах, так как это потребовало бы бесконечного динамического диапазона в длине слова обработки. Однако трудность в применении способов к эффективно бесконечным длинам строк не является существенным ограничением таких способов, так как применение к эффективно бесконечной длине было бы полезно только тогда, когда никакая ошибка округления не вызывается представлением гипотетических эталонных позиций L' и R" в целочисленных блоках, представляющих ратные 1÷2G.
При этих обстоятельствах, когда могут быть применены многоэтапные способы вычисления позиции, они обеспечивают способ вычислений, выполняемых над строкой бесконечной длины выборок без "дрейфующего" накопления ошибки округления где угодно в операции вычислений позиции во всем процессе преобразования скорости.
4. Примерная инкрементная операция вычисления позиции
Интересным специальным случаем для концепции многоэтапной декомпозиции, описанной выше, является то, когда число выборок для генерации на каждом этапе снижается полностью до только одной выборки на этап. Псевдокод 1400 на фиг.14 представляет процесс для генерации N позиций t'i для i от 0 до N-1.
Так как процесс описан как процесс повышающей дискретизации (хотя те же самые принципы могли бы также применяться к процессу понижающей дискретизации), мы знаем, что для каждого приращения i есть интервал 1 в изображении более высокой разрешающей способности и поэтому есть приращение меньше или равное 1 в изображении более низкой разрешающей способности. Приращение 1 в пространственной позиции в изображении более низкой разрешающей способности соответствует значению 2(S+F) для C'. Также, мы знаем что D' <2S. Поэтому q = C '+ D' имеет диапазон от 0 до менее чем 2(S+F) + 2S, и поэтому q может быть вычислено с требованием динамического диапазона не более чем B=S+F+1 битов, используя целочисленную арифметику без знака. В одной реализации это требование динамического диапазона является инвариантным к размеру изображения (то есть оно не зависит от значения R' или R'-L').
Для масштабируемого видеокодирования и многих других таких приложений может не иметься реальной потребности поддерживать коэффициенты повышающей дискретизации, которые очень близки к 1. В таких приложениях мы можем предположить, что C' фактически требует не более чем S+F битов.
Например, если желательно выполнить повышающую дискретизацию массива сигнала яркости изображения, которое имеет ширину 1000 выборок сигнала яркости при B=32 и L' =0, то можно использовать F=4, G=2, J=1, M=29, S=28 и Z=14, используя этот способ. Результат был бы настолько чрезвычайно точным, что принятие меньшего значения B представляется более целесообразным вариантом выбора.
Альтернативно, если желательно выполнить повышающую дискретизацию массива сигнала яркости изображения, которое имеет ширину 1000 выборок сигнала яркости при B=16 и L'=0, то можно использовать F=4, G=2, J=1, M=13, S=12, Z=14, используя этот способ.
Дополнительное знание обстоятельств операции повышающей дискретизации, которая должна выполняться, может обеспечить дальнейшие возможности оптимизации. Например, если коэффициент повышающей дискретизации значительно больше двух, требование динамического диапазона будет снижено еще на один бит, и так далее для коэффициентов повышающей дискретизации больше четырех, шестнадцати и т.д.
Ни одно из изменений (относительно примерного многоэтапного способа вычисления позиции, обсужденного выше), описанных со ссылкой на примерный инкрементный способ вычисления позиции в этом разделе, не влияет на действительно вычисленные значения позиций t'i для данных значений C, D и S. Изменяется только динамический диапазон, необходимый для поддержки вычисления.
Внутренний цикл в псевдокоде 1400 для этой формы декомпозиции не требует никаких операций умножения. Этот факт может быть выгоден для обеспечения уменьшенного времени вычисления на некоторых вычислительных процессорах.
5. Дополнительные замечания
Для обычных отношений повторной дискретизации, таких как 2:1, 3:2 и т.д. - любой случай, в котором округление не было бы необходимым для аппроксимации позиций L' и R" как целого числа в единицах 1÷2G, - ошибки округления нет вообще при использовании этих способов (ошибка иная, чем ошибка округления, может быть вызвана при округлении конечного результата до целого числа в единицах 1÷2F, которая является ошибкой, которая присутствовала бы независимо от способа вычисления позиции).
C. Позиции и соотношения сигнала яркости и сигнала цветности
В предположении точного выравнивания полных массивов нового (повышенной дискретизации) изображения и опорного изображения, относительно координат индекса сетки дискретизации сигнала яркости, позиции L и R в текущих координатах изображения являются следующими: L = -1/2 и R = W - 1/2, где W - число выборок в изображении по вертикали или горизонтали, в зависимости от соответствующего измерения повторной дискретизации. Эквивалентно, можно было бы установить начало координат системы пространственных координат изображения на половину выборки влево от (или выше) позиции индекса 0 сетки и добавить 1/2 при преобразовании из пространственных координат изображения в значения индекса сетки, таким образом, избегая необходимости обращения с отрицательными числами при выполнении вычислений в системе пространственных координат.
Позиции L' и R' в опорном (с более низкой разрешающей способностью) изображении соотносятся с координатами сетки дискретизации тем же способом, где в этом случае W - число выборок в опорном изображении, а не в новом изображении.
Для сетки дискретизации сигнала цветности (как в новом изображении, так и в опорном изображении) ситуация является несколько менее простой. Чтобы создавать определяемое выравнивание выборок сигнала цветности относительно сигнала яркости, рассмотрим прямоугольник изображения, который представлен выборками сигнала цветности, который должен быть тем же самым, что и прямоугольник, который представлен выборками сигнала яркости. Это создает следующие случаи:
- По горизонтали, для типов 0, 2 и 4 дискретизации 4:2:0 сигнала цветности (см. фиг.5D) текущие координаты изображения определены как L = -1/4 и R = W - 1/4.
- По горизонтали, для типов 3, 1 и 5 дискретизации 4:2:0 сигнала цветности (см. фиг.5D) текущие координаты изображения определены как L = -1/2 и R = W - 1/2.
- По вертикали, для типов 2 и 3 дискретизации 4:2:0 сигнала цветности (см. фиг.5D) текущие координаты изображения определены как L = -1/4 и R = W - 1/4.
- По вертикали, для типов 0 и 1 дискретизации 4:2:0 сигнала цветности (см. фиг.5D) текущие координаты изображения определены как L = -1/2 и R = W - 1/2.
- По вертикали, для типов 4 и 5 дискретизации 4:2:0 сигнала цветности (см. фиг.5D) текущие координаты изображения определены как L = -3/4 и R = W - 3/4.
- По горизонтали, для дискретизации 4:2:2 сигнала цветности, текущие координаты изображения для 4:2:2 дискретизации, используемой в типовом случае в промышленной практике, определены как L = -1/4 и R = W - 1/4.
- По вертикали, для дискретизации 4:2:2 сигнала цветности, текущие координаты изображения для 4:2:2 дискретизации, используемой в типовом случае в промышленной практике, определены как L = -1/2 и R = W - 1/2.
- Как по горизонтали, так и по вертикали, для дискретизации 4:4:4 сигнала цветности, текущие координаты изображения определены как L = -1/2 и R = W - 1/2.
Вновь может использоваться смещение, чтобы поместить начало координат системы координат в достаточной степени влево от позиции L и избежать необходимости обращаться с отрицательными числами.
Целочисленные координаты и дробный остаток сдвига фазы вычисляются настройкой позиций целочисленных координат выборок, которые должны генерироваться в массиве повышающей дискретизации, чтобы скомпенсировать дробное смещение L, и затем применяя преобразование, показанное в конце раздела V.B. Концептуально, сдвиг результата вправо на F битов приводит к целочисленному координатному указателю в опорное изображение, и вычитание сдвинутой влево целочисленной координаты (сдвинутой на F битов) дает остаток сдвига фазы.
D. Дополнительная точность для вычисления позиции для повышающей дискретизации
Этот раздел описывает, как отобразить способ вычисления позиции, изложенный выше в разделе V.C.4, на конкретный процесс повышающей дискретизации, такой как процесс повышающей дискретизации, который может использоваться для расширения H.264 SVC. Вычисление позиции применяется весьма гибким способом, чтобы максимизировать точность для каналов как сигнала яркости, так и сигнала цветности в различных форматах сигнала цветности, а также для прогрессивного и чересстрочного форматов кадра. Способы, описанные в этом разделе, могут варьироваться в зависимости от реализации и для различных процессов повышающей дискретизации.
В вышеописанных вычислениях позиции (в приведенных выше разделах V.A-C) параметр изменения масштаба (который является переменной C и далее обозначается как deltaX (или deltaY) в последующих уравнениях) увеличен на коэффициент масштабирования, равный 2J (где J=1 - для сигнала яркости и 2 - для сигнала цветности), чтобы формировать приращение, добавляемое для генерации каждой позиции выборки слева направо или сверху вниз. Масштабирование выбиралось так, чтобы увеличенное приращение вмещалось в 16 битов.
1. Максимальная точность для масштабирования вычисления позиции
Прямой способ применения способа вычисления позиции состоит в увеличении параметра изменения масштаба на коэффициент масштабирования, равный 2J, где J=1 - для сигнала яркости и 2 - для сигнала цветности, чтобы сформировать приращение, добавляемое для генерации каждой позиции выборки слева направо или сверху вниз. Параметры масштабирования затем выбираются, чтобы гарантировать, что увеличенное приращение будет вмещаться в определенную длину слова, такую как 16 битов. Более гибкая схема описана в следующих разделах, чтобы максимизировать точности позиции.
a. Канал сигнала яркости
"Прямой" способ вычисления позиции сигнала яркости может быть получен в итоге со следующими уравнениями, приведенными для примера при F=4 и S=12 (по горизонтальному направлению):
deltaX = Floor(((BasePicWidth<<15)+(ScaledBaseWidth>>1)÷
ScaledBaseWidth)
xf=((2*(xP-ScaledBaseLeftOffset)+1)*deltaX-30720)>>12.
Здесь, BasePicWidth - горизонтальная разрешающая способность базового уровня или изображения низкого разрешения; ScaledBaseWidth - горизонтальная разрешающая способность области или окна изображения с высоким разрешением; deltaX - промежуточный параметр изменения масштаба, который в этом случае является округленным приближением 32768, умноженным на инверсию коэффициента повышающей дискретизации; xP представляет позицию выборки в изображении с высоким разрешением; ScaledBaseLeftOffset представляет относительную позицию окна изображения в изображении с высоким разрешением, и Floor() обозначает наибольшее целое число, которое меньше или равно его аргументу. Постоянное значение 30720 получается из добавления 2S-1 в качестве смещения округления перед сдвигом вправо и вычитания 2S*2F/2 для смещения на половину выборки опорного местоположения сетки дискретизации сигнала яркости, как обсуждено в начале раздела V.C выше.
Примечательно, что каждое приращение xP приводит к приращению 2*deltaX в уравнениях. И младший бит величины 2*deltaX является всегда нулевым, так что один бит вычислительной точности по существу теряется. Приблизительно один дополнительный бит точности может быть получен, без какого-либо существенного увеличения в сложности, путем изменения этих уравнений к виду:
deltaX = Floor(((BasePicWidth<<16)+(ScaledBaseWidth>>1))÷
ScaledBaseWidth)
xf =((xP-ScaledBaseLeftOffset)*deltaX+(deltaX>> 1)-30720)>> 12.
или (несколько) более точная форма в следующем виде:
deltaXa = Floor(((BasePicWidth<<16)+(ScaledBaseWidth>>1)÷
ScaledBaseWidth)
deltaXb = Floor(((BasePicWidth<<15)+(ScaledBaseWidth>>1)÷
ScaledBaseWidth)
xf =((xP-ScaledBaseLeftOffset)*deltaXa+deltaXb-30720)>>12
Последняя из этих двух форм предложена вследствие ее более высокой точности и незначительного влияния на сложность (хотя различие по точности также представляется весьма малым).
Отметим, что для архитектур обработки, на которых трудно выполнить вычисления деления, получение результата одного из этих уравнений может упростить вычисление другого. Значение deltaXa всегда будет в диапазоне 2*deltaXa плюс или минус 1. Поэтому может быть выведено следующее упрощенное правило, чтобы избежать необходимости выполнения операции деления для вычисления deltaXa:
deltaXa = (deltaXb <<1)
remainderDiff = (BasePicWidth <<16) + (ScaledBaseWidth>>1)
- deltaXa,
if (remainderDiff <0)
deltaXa-
else if (remainderDiff ≥ ScaledBaseWidth)
deltaXa ++
b. Каналы сигнала цветности
Множитель "коэффициент четыре" может использоваться для каналов сигнала цветности вместо множителя "коэффициент два" в этой части схемы, чтобы обеспечить возможность представления позиций сигнала цветности для 4:2:0 дискретизации (используя J=2 для сигнала цветности, а не J=1, как описано для сигнала яркости). Поэтому "прямые" уравнения имеют вид:
deltaXC = Floor(((BasePicWidthC<<14)+(ScaledBaseWidthC>>1))÷
ScaledBaseWidthC)
xfC=((((4*(xC-ScaledBaseLeftOffsetC)+
(2+scaledBaseChromaPhaseX))*deltaXC)
+ 2048)>> 12)-4 * (2+baseChromaPhaseX).
Здесь, baseChromaPhaseX и scaledBaseChromaPhaseX представляют смещения позиции сетки дискретизации сигнала цветности для изображений с низким и высоким разрешением, соответственно. Значения этих параметров могут быть явно переданы как информация, посланная с кодера на декодер, или могут иметь конкретные значения, определенные приложением. Все другие переменные подобны тем, которые определены для канала сигнала яркости с дополнительным суффиксом "C", чтобы представить применение для канала сигнала цветности.
Каждое приращение xC приводит к приращению 4*deltaXC в уравнении. Поэтому могут быть получены приблизительно два дополнительных бита точности без какого-либо существенного увеличения в сложности, путем изменения этих уравнений в следующую форму:
deltaXC = Floor(((BasePicWidthC<<16)+(ScaledBaseWidthC>>1)÷
ScaledBaseWidthC
xfC = (((xC-ScaledBaseLeftOffsetC)*deltaXC
+(2+scaledBaseChromaPhaseX)*((deltaXC+K)>>2)
+2048)>>12)-4*(2+baseChromaPhaseX),
где K=0, 1 или 2. Использование K=0 позволило бы избежать дополнительной операции. Использование K=1 или K=2 позволило бы получить несколько более высокую точность.
Соответствующая несколько более точная форма была бы следующей:
DeltaXCa= Floor(((BasePicWidthC<<16)+(ScaledBaseWidthC>>1))÷
ScaledBaseWidthC)
deltaXCb = Floor((BasePicWidthC<<14)+(ScaledBaseWidthC>>1)÷
ScaledBaseWidthC)
xfC =(((xC-ScaledBaseLeftOffsetC)*deltaXCa+
(2+scaledBaseChromaPhaseX)*delta-XCb
+2048)>> 12)-4*(2+baseChromaPhaseX).
Как в случае сигнала яркости, последний вариант является предпочтительным, так как различие в сложности представляется незначительным (хотя различие точности также представляется весьма малым).
C. Координаты чересстрочного поля
Опора для системы координат изображения обычно основана на позициях половины выборки в координатах кадра сигнала яркости, таким образом, приводя к масштабному коэффициенту два для позиций опорных координат сигнала яркости, как описано выше. Сдвиг на половину выборки в координатах кадра сигнала яркости соответствует сдвигу на четверть выборки в координатах 4:2:0 кадра сигнала цветности, вследствие чего мы теперь используем коэффициент четыре, а не коэффициент два в масштабировании для координат сигнала цветности, как описано выше.
По горизонтали нет никакого существенного различия в операциях для кодированных изображений, которые представляют кадр, и тех, которые представляют отдельное поле чересстрочного видео. Однако, когда кодированное изображение представляет отдельное поле, сдвиг позиции на половину выборки вертикальных координатах кадра сигнала яркости соответствует сдвигу позиции на четверть выборки в вертикальных координатах поля сигнала яркости. Таким образом, коэффициент масштаба четыре, а не два должен быть применен в вычислении позиций вертикальных координат сигнала яркости.
Точно также, когда кодированное изображение представляет отдельное поле, сдвиг позиции на половину выборки в вертикальных координатах сигнала яркости соответствует сдвигу позиции на одну восьмую выборки в вертикальных координатах поля сигнала цветности. Таким образом, коэффициент масштаба восемь, а не четыре должен быть применен в вычислении позиций вертикальных координат сигнала цветности.
Эти коэффициенты масштабирования для вычисления позиций вертикальных координат в кодированных изображениях поля могут быть включены в вычисление вертикального приращения deltaY тем же самым способом, как описано выше для вычисления приращения в кодированных изображениях кадра. В этом случае из-за увеличенного коэффициента масштабирования, который применен, улучшение точности приблизительно соответствует двум битам добавленной точности для позиций сигнала яркости и трем битам добавленной точности для сигнала цветности (по вертикали).
2. Ограничение и уточнение 4:2:2 и 4:4:4 сигнала цветности
Способ вычисления позиции, представленный в разделе V.D.1.b, требует использования различного коэффициента умножения для сигнала цветности и для сигнала яркости. Это имеет смысл для 4:2:0 видео, и это также целесообразно для 4:2:2 видео по горизонтали, но это необязательно для 4:2:2 видео по вертикали или для 4:4:4 видео как по горизонтали, так и по вертикали, поскольку в этих случаях разрешающая способность сигнала яркости и сигнала цветности является одинаковой, и поэтому выборки сигнала яркости и сигнала цветности предположительно являются совместно расположенными.
В результате, способ, представленный в разделе V.D.1.b, мог бы потребовать отдельных вычислений для определения позиций сигнала яркости и сигнала цветности, даже когда разрешающая способность сигнала яркости и сигнала цветности одинакова по некоторому измерению, и не предусматривается никакой сдвиг фазы только потому, что округление будет выполняться несколько иначе в этих двух случаях. Это является нежелательным, так что несколько иная обработка сигнала цветности предложена в этом разделе для использования со структурами дискретизации 4:2:2 и 4:4:4.
a. Позиции 4:2:2 по вертикали и 4:4:4 по горизонтали и вертикали
Для вертикального измерения 4:2:2 видео и для как вертикального, так и горизонтального измерений 4:4:4 видео, нет никакой очевидной необходимости в специальном управлении фазой сигнала цветности. Поэтому, если разрешающая способность сигнала цветности та же самая, что и разрешающая способность сигнала яркости по некоторому измерению, то уравнения для вычисления позиций сигнала цветности должны быть модифицированы, чтобы привести к вычислению точно тех же самых позиций выборок как сигнала яркости, так и сигнала цветности, если формат дискретизации сигнала цветности имеет ту же самую разрешающую способность для сигнала яркости и сигнала цветности по конкретному измерению. Один вариант выбора состоит в установке переменных позиции сигнала цветности равными переменным позиции сигнала яркости, а другой вариант выбора состоит в определении уравнений позиции сигнала цветности так, чтобы они имели тот же самый результат.
b. 4:2:2 позиции по горизонтали
В то время как нет никакой функциональной проблемы в обеспечении возможности настройки фазы сигнала цветности по горизонтали для 4:2:2 видео, если есть только один тип структуры горизонтальной субдискретизации, которая используется для 4:2:2, типа той, которая соответствует значению -1 для scaledBaseChromaPhaseX или BaseChromaPhaseX в уравнениях раздела V.D.1.b, может быть желательным рассмотреть вынужденное использование этих значений, когда формат дискретизации цвета есть 4:2:2.
VI. Расширения и альтернативы
Способы и инструментальные средства, описанные здесь, также могут быть применены к видеокодированию с переменной разрешающей способностью с использованием повторной дискретизации опорного изображения, как изложено, например, в Приложении P Рекомендации H.263 Международного стандарта ITU-T.
Способы и инструментальные средства, описанные здесь, также могут быть применены не только к повышающей дискретизации массивов выборок изображения, но также и к повышающей дискретизации остаточных сигналов данных или других сигналов. Например, способы и инструментальные средства, описанные здесь, также могут быть применены к повышающей дискретизации остаточных сигналов данных для кодирования обновления пониженной разрешающей способности, как изложено, например, в Приложении Q Рекомендации H.263 Международного стандарта ITU-T. В качестве другого примера, способы и инструментальные средства, описанные здесь, могут также быть применены к повышающей дискретизации остаточных сигналов данных для предсказания остаточных сигналов с высоким разрешением из остаточных сигналов более низкой разрешающей способности в схеме для видеокодирования с пространственным масштабированием. В качестве еще одного примера, способы и инструментальные средства, описанные здесь, могут также быть применены к повышающей дискретизации полей вектора движения в схеме для видеокодирования с пространственным масштабированием. В качестве еще одного примера, способы и инструментальные средства, описанные здесь, могут также быть применены к повышающей дискретизации графических изображений, фотографических неподвижных изображений, сигналов аудиовыборок и т.д.
На основе описания и иллюстрации принципов заявленного изобретения со ссылкой на различные описанные воплощения будет понятно, что описанные воплощения могут изменяться по форме и в деталях без отступления от этих принципов. Должно быть понятно, что программы, процессы или способы, описанные здесь, не относятся или не ограничены конкретным типом вычислительной среды, если иное не указано. Различные типы универсальных или специализированных вычислительных сред могут использоваться или исполнять операции в соответствии с раскрытием, описанным здесь. Элементы описанных воплощений, показанных в программном обеспечении, могут быть осуществлены в аппаратных средствах, и наоборот.
Ввиду многих возможных воплощений, к которым могут быть применены принципы заявленного изобретения, в качестве изобретения заявляются все такие воплощения, которые могут находиться в пределах объема и сущности следующих пунктов формулы изобретения и их эквивалентов.

Claims (20)

1. Способ выполнения повышающей дискретизации данных изображения базового уровня во время кодирования или декодирования масштабируемого видео, содержащий этапы, на которых, для позиции в массиве повышающей дискретизации:
вычисляют позицию в данных изображения базового уровня, причем y указывает вертикальное значение позиции в данных изображения базового уровня, и получение y включает в себя вычисление, которое является математически эквивалентным по результату (j·C+D)>>S,
где j указывает вертикальное значение позиции в массиве повышающей дискретизации;
С - аппроксимация 2S+F, умноженного на инверсию коэффициента масштабирования по вертикали;
D является смещением;
S является значением сдвига и
F основано на числе битов в дробной компоненте y.
2. Способ по п.1, в котором j, С и D частично зависят от того, предназначены ли данные изображения базового уровня для кадра или поля, а j и D частично зависят от того, предназначены ли данные изображения базового уровня для сигнала яркости или сигнала цветности.
3. Способ по п.1, в котором:
S задает динамический диапазон и точность; и
D зависит от вертикальной разрешающей способности данных изображения базового уровня, коэффициента масштабирования по вертикали и S.
4. Способ по п.1, в котором F равно 4 и S равно 12.
5. Способ по п.1, в котором x указывает горизонтальное значение позиции в данных изображения базового уровня, и получение x включает в себя вычисление, которое является математически эквивалентным по результату (i·C'+D')>>S',
где i указывает горизонтальное значение позиции в массиве повышающей дискретизации;
С' - аппроксимация 2S'+F', умноженного на инверсию коэффициента масштабирования по горизонтали;
D' является смещением, которое может быть равным или отличающимся от D;
S' является значением сдвига, которое может быть равным или отличающимся от S; и
F' основано на числе битов в дробной компоненте x.
6. Способ по п.5, в котором i основано на T-L, где Т указывает горизонтальное смещение, a L указывает смещение влево.
7. Способ по п.5, в котором F' равно 4 и S' равно 12.
8. Способ по п.7, в котором С' получается в соответствии с:
((BasePicWidth<<16)+(ScaleBaseWidth>>1))÷ScaledBaseWidth, где BasePicWidth указывает горизонтальную разрешающую способность данных изображения базового уровня, и ScaledBaseWidth указывает горизонтальную разрешающую способность после повышающей дискретизации.
9. Способ по п.5, в котором x дополнительно зависит от смещения Е, и получение x включает в себя вычисление, которое является математически эквивалентным по результату ((i·C'+D')>>S')+Е.
10. Способ по п.5, дополнительно содержащий этапы, на которых:
выбирают вертикальный фильтр на основе F младших битов y, и выбирают вертикальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов y, причем вертикальный фильтр используется в этих вертикальных целочисленных позициях при вертикальной интерполяции данных изображения базового уровня; и
выбирают горизонтальный фильтр на основе F' младших битов x, и выбирают горизонтальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов x, причем горизонтальный фильтр используется в этих горизонтальных целочисленных позициях при горизонтальной интерполяции результатов вертикальной интерполяции.
11. Способ по п.1, дополнительно содержащий этапы, на которых:
интерполируют значение в упомянутой позиции в данных изображения базового уровня; и
назначают интерполированное значение для позиции в массиве повышающей дискретизации.
12. Способ по п.1, в котором данные изображения базового уровня являются значениями выборки.
13. Способ по п.1, в котором данные изображения базового уровня являются значениями остаточных данных.
14. Система, содержащая процессор, память и машиночитаемый носитель, который хранит исполняемые компьютером команды для выполнения способа повышающей дискретизации данных изображения базового уровня во время кодирования или декодирования масштабируемого видео, причем способ содержит этапы, на которых, для позиции в массиве повышающей дискретизации:
вычисляют позицию в данных изображения базового уровня, причем y указывает вертикальное значение позиции в данных изображения базового уровня, и получение y включает в себя вычисление, которое является математически эквивалентным по результату (j·C+D)>>S,
где j указывает вертикальное значение позиции в массиве повышающей дискретизации;
С - аппроксимация 2S+F, умноженного на инверсию коэффициента масштабирования по вертикали;
D является смещением;
S является значением сдвига и
F основано на числе битов в дробной компоненте y.
15. Система по п.14, в которой:
j, С и D частично зависят от того, предназначены ли данные изображения базового уровня для кадра или поля;
j и D частично зависят от того, предназначены ли данные изображения базового уровня для сигнала яркости или сигнала цветности;
D зависит от вертикальной разрешающей способности данных изображения базового уровня, коэффициента масштабирования по вертикали и S;
F равно 4; и
S равно 12.
16. Система по п.14, в которой x указывает горизонтальное значение позиции в данных изображения базового уровня, и получение x включает в себя вычисление, которое является математически эквивалентным по результату (i·С'+D')>>S', где:
i указывает горизонтальное значение позиции в массиве повышающей дискретизации;
С' - аппроксимация 2S'+F', умноженного на инверсию коэффициента масштабирования по горизонтали;
D' является смещением, которое может равняться или отличаться от D;
S' является значением сдвига, которое может равняться или отличаться от S; и
F' основано на числе битов в дробной компоненте x.
17. Система по п.16,
в которой i основано на T-L, где Т указывает горизонтальное смещение, a L указывает смещение влево;
F' равно 4;
S' равно 12; и
С' получается в соответствии с:
((BasePicWidth<<16)+(ScaleBaseWidth>>1))÷ScaledBaseWidth, где BasePicWidth указывает горизонтальную разрешающую способность данных изображения базового уровня, и ScaledBaseWidth указывает горизонтальную разрешающую способность после повышающей дискретизации.
18. Система по п.16, в которой способ дополнительно содержит этапы, на которых:
выбирают вертикальный фильтр на основе F младших битов y, и выбирают вертикальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов y, причем вертикальный фильтр используется в этих вертикальных целочисленных позициях при вертикальной интерполяции данных изображения базового уровня; и
выбирают горизонтальный фильтр на основе F' младших битов x, и выбирают горизонтальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов x, причем горизонтальный фильтр используется в этих горизонтальных целочисленных позициях при горизонтальной интерполяции результатов вертикальной интерполяции.
19. Система по п.18, причем система дополнительно содержит буфер для хранения кодированных данных и один или более модулей для адаптивного управления скоростью, при этом машиночитаемый носитель дополнительно хранит исполняемые компьютером команды для выполнения кодирования улучшенного уровня для данных изображения базового уровня с использованием интерполированных значений выборки из позиций в массиве повышающей дискретизации.
20. Система по п.18, причем система дополнительно содержит сенсорное устройство ввода, соединение беспроводной связи и дисплей, при этом машиночитаемый носитель дополнительно хранит выполняемые компьютером команды для декодирования улучшенного уровня для данных изображения базового уровня, с использованием интерполированных значений выборки из позиций в массиве повышающей дискретизации.
RU2011106505/07A 2006-01-06 2011-02-21 Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью RU2456761C1 (ru)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US75684606P 2006-01-06 2006-01-06
US60/756,846 2006-01-06
US78657306P 2006-03-27 2006-03-27
US60/786,573 2006-03-27
US82951506P 2006-10-13 2006-10-13
US60/829,515 2006-10-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2008127319/09A Division RU2420915C2 (ru) 2006-01-06 2007-01-08 Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью

Publications (1)

Publication Number Publication Date
RU2456761C1 true RU2456761C1 (ru) 2012-07-20

Family

ID=38256899

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2008127319/09A RU2420915C2 (ru) 2006-01-06 2007-01-08 Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью
RU2011106505/07A RU2456761C1 (ru) 2006-01-06 2011-02-21 Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RU2008127319/09A RU2420915C2 (ru) 2006-01-06 2007-01-08 Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью

Country Status (11)

Country Link
US (4) US7956930B2 (ru)
EP (1) EP1985120B1 (ru)
JP (2) JP5302010B2 (ru)
KR (2) KR101354741B1 (ru)
CN (2) CN101366281B (ru)
AU (2) AU2007205175B2 (ru)
CA (1) CA2635898C (ru)
HK (1) HK1161016A1 (ru)
IL (2) IL192420A (ru)
RU (2) RU2420915C2 (ru)
WO (1) WO2007081752A2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2646340C2 (ru) * 2012-09-28 2018-03-02 Сони Корпорейшн Устройство и способ кодирования, устройство и способ декодирования
RU2653314C2 (ru) * 2015-11-23 2018-05-07 Сяоми Инк. Способ и устройство сжатия изображений и сервер

Families Citing this family (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US9071847B2 (en) * 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
US8243820B2 (en) * 2004-10-06 2012-08-14 Microsoft Corporation Decoding variable coded resolution video with native range/resolution post-processing operation
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
CN101589625B (zh) * 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US8233536B2 (en) * 2007-01-23 2012-07-31 Sharp Laboratories Of America, Inc. Methods and systems for multiplication-free inter-layer image prediction
US8665942B2 (en) * 2007-01-23 2014-03-04 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction signaling
US8503524B2 (en) * 2007-01-23 2013-08-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction
KR100834443B1 (ko) * 2007-02-27 2008-06-04 삼성전자주식회사 비디오 코덱을 위한 메모리 구조 및 메모리 액세스 방법
US8107571B2 (en) * 2007-03-20 2012-01-31 Microsoft Corporation Parameterized filters and signaling techniques
US8619874B2 (en) * 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
KR20080114388A (ko) * 2007-06-27 2008-12-31 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
KR101365596B1 (ko) * 2007-09-14 2014-03-12 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
US8989553B2 (en) * 2008-01-12 2015-03-24 Innotive Inc. Korea Video processing system and video processing method
US20100278236A1 (en) * 2008-01-17 2010-11-04 Hua Yang Reduced video flicker
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
KR20090097015A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 스케일러블 영상 부호화장치 및 스케일러블 영상복호화장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
FR2931610B1 (fr) * 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
JP2009290552A (ja) * 2008-05-29 2009-12-10 Fujifilm Corp 動画圧縮装置および動画圧縮プログラム
JP5369893B2 (ja) * 2008-05-30 2013-12-18 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、動画像復号プログラム、動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラム
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8194977B2 (en) * 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
US20100177162A1 (en) * 2009-01-15 2010-07-15 Charles Macfarlane Method and system for enabling 3d video and image processing using one full resolution video stream and one lower resolution video stream
US9036714B2 (en) * 2009-01-26 2015-05-19 Thomson Licensing Frame packing for video coding
WO2010093430A1 (en) * 2009-02-11 2010-08-19 Packetvideo Corp. System and method for frame interpolation for a compressed video bitstream
US20100226437A1 (en) * 2009-03-06 2010-09-09 Sony Corporation, A Japanese Corporation Reduced-resolution decoding of avc bit streams for transcoding or display at lower resolution
US9020287B2 (en) * 2009-04-14 2015-04-28 Thomson Licensing Methods and apparatus for filter parameter determination and selection responsive to variable transforms in sparsity-based de-artifact filtering
US9774882B2 (en) * 2009-07-04 2017-09-26 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3D video delivery
US8699565B2 (en) * 2009-08-27 2014-04-15 Hewlett-Packard Development Company, L.P. Method and system for mixed-resolution low-complexity information coding and a corresponding method and system for decoding coded information
US8487929B2 (en) * 2009-09-09 2013-07-16 Advanced Micro Devices, Inc. Resolution enhancement of video stream based on spatial and temporal correlation
US8665968B2 (en) * 2009-09-30 2014-03-04 Broadcom Corporation Method and system for 3D video coding using SVC spatial scalability
JP2011109469A (ja) * 2009-11-18 2011-06-02 Canon Inc コンテンツ受信装置及びコンテンツ受信装置の制御方法
US9014276B2 (en) * 2009-12-04 2015-04-21 Broadcom Corporation Method and system for 3D video coding using SVC temporal and spatial scalabilities
US8611414B2 (en) * 2010-02-17 2013-12-17 University-Industry Cooperation Group Of Kyung Hee University Video signal processing and encoding
JP5544996B2 (ja) * 2010-04-09 2014-07-09 ソニー株式会社 画像処理装置および方法
US9047531B2 (en) * 2010-05-21 2015-06-02 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal
CN101895748B (zh) * 2010-06-21 2014-03-26 华为终端有限公司 一种编解码方法以及编解码装置
JP5693716B2 (ja) 2010-07-08 2015-04-01 ドルビー ラボラトリーズ ライセンシング コーポレイション 参照処理信号を使った多層画像およびビデオ送達のためのシステムおよび方法
US8910046B2 (en) 2010-07-15 2014-12-09 Apple Inc. Media-editing application with anchored timeline
CN105847781B (zh) 2010-07-21 2018-03-20 杜比实验室特许公司 用于多层帧兼容视频传输的解码方法
MX2013002429A (es) * 2010-09-03 2013-04-08 Dolby Lab Licensing Corp Metodo y sistema para compensacion de iluminacion y transicion para codificacion y procesamiento de video.
US9462220B2 (en) 2010-12-17 2016-10-04 Microsoft Technology Licensing, Llc Auto-regressive edge-directed interpolation with backward projection constraint
US8639053B2 (en) * 2011-01-18 2014-01-28 Dimension, Inc. Methods and systems for up-scaling a standard definition (SD) video to high definition (HD) quality
US9099161B2 (en) 2011-01-28 2015-08-04 Apple Inc. Media-editing application with multiple resolution modes
US9412414B2 (en) 2011-02-16 2016-08-09 Apple Inc. Spatial conform operation for a media-editing application
US8839110B2 (en) * 2011-02-16 2014-09-16 Apple Inc. Rate conform operation for a media-editing application
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
CN103354997A (zh) * 2011-02-18 2013-10-16 索尼公司 图像处理设备和图像处理方法
KR20120118781A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 다시점 비디오를 위한 단일화된 스케일러블 비디오 부호화 방법 및 그 장치, 다시점 비디오를 위한 단일화된 스케일러블 비디오 복호화 방법 및 그 장치
DK3787289T3 (da) 2011-06-14 2022-08-29 Lg Electronics Inc Fremgangsmåde til kodning og afkodning af billedinformationer
CN108391135B (zh) 2011-06-15 2022-07-19 韩国电子通信研究院 可伸缩解码方法/设备、可伸缩编码方法/设备和介质
CN107529708B (zh) 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
US8837582B2 (en) * 2011-06-22 2014-09-16 Blackberry Limited Compressing image data
KR20130001541A (ko) 2011-06-27 2013-01-04 삼성전자주식회사 다시점 영상의 해상도 복원 방법 및 장치
KR101727449B1 (ko) * 2011-06-28 2017-04-14 닛본 덴끼 가부시끼가이샤 영상 양자화 파라미터 복호 방법
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
EP2557789B1 (en) 2011-08-09 2017-09-27 Dolby Laboratories Licensing Corporation Guided image up-sampling in video coding
JP2014531807A (ja) 2011-09-09 2014-11-27 パナモーフ, インコーポレイテッドPanamorph, Inc. 画像処理システム及び方法
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
JP5232319B2 (ja) 2011-10-20 2013-07-10 株式会社東芝 通信装置及び通信方法
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
CN103123718B (zh) * 2011-11-21 2016-06-22 腾讯科技(深圳)有限公司 一种图像处理方法和系统
WO2013081615A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Motion estimation methods for residual prediction
US9111376B2 (en) 2012-01-26 2015-08-18 Samsung Electronics Co., Ltd. Image processing method and apparatus for 3D video
FR2989856B1 (fr) * 2012-04-23 2014-11-28 Assistance Tech Et Etude De Materiels Electroniques Compression/decompression progressive d'un flux numerique video comprenant au moins une image entrelacee
AU2013261845A1 (en) * 2012-05-14 2014-12-11 Guido MEARDI Encoding and reconstruction of residual data based on support information
JP5390667B2 (ja) * 2012-06-11 2014-01-15 株式会社東芝 映像送信機器及び映像受信機器
US9146666B2 (en) * 2012-06-21 2015-09-29 Sharp Laboratories Of America, Inc. Touch sensor navigation
EP2868111A1 (en) * 2012-07-02 2015-05-06 Cisco Technology, Inc. Signalling information for consecutive coded video sequences that have the same aspect ratio but different picture resolutions
CN110087091B (zh) * 2012-08-06 2021-11-12 Vid拓展公司 多层视频编码中用于空间层的采样栅格信息
US9350899B2 (en) * 2012-09-14 2016-05-24 Qualcomm Incorporated Methods and device for efficient resampling and resizing of digital images
EP2898694B1 (en) * 2012-09-24 2019-06-19 Huawei Technologies Co., Ltd. Video compression with color space scalability
US20140119446A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Preserving rounding errors in video coding
KR102345770B1 (ko) * 2012-12-04 2022-01-03 인텔렉추얼디스커버리 주식회사 비디오 부호화 및 복호화 방법, 그를 이용한 장치
US8891905B2 (en) * 2012-12-19 2014-11-18 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Boundary-based high resolution depth mapping
TWI597968B (zh) * 2012-12-21 2017-09-01 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣
EP2942963A4 (en) * 2013-01-04 2016-08-17 Samsung Electronics Co Ltd SCALABLE VIDEO ENCODING METHOD AND APPARATUS USING IMAGE OVERHEAD SAMPLING IN CONSIDERATION OF A PHASE AND METHOD AND APPARATUS FOR SCALEABLE VIDEO DECODING
US10284908B2 (en) * 2013-02-26 2019-05-07 Comcast Cable Communications, Llc Providing multiple data transmissions
ES2617314T3 (es) 2013-04-05 2017-06-16 Dolby Laboratories Licensing Corporation Aparato de compresión y método para reducir un ruido de cuantización utilizando una expansión espectral avanzada
CN105247865A (zh) * 2013-04-08 2016-01-13 诺基亚技术有限公司 用于视频编码和解码的方法和技术设备
US9813723B2 (en) * 2013-05-03 2017-11-07 Qualcomm Incorporated Conditionally invoking a resampling process in SHVC
KR20140138538A (ko) * 2013-05-24 2014-12-04 주식회사 케이티 복수의 레이어를 지원하는 비디오 코딩 방법 및 장치
WO2014189300A1 (ko) * 2013-05-24 2014-11-27 주식회사 케이티 복수의 레이어를 지원하는 비디오 코딩 방법 및 장치
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
US9762920B2 (en) * 2013-06-07 2017-09-12 Qualcomm Incorporated Dynamic range control of intermediate data in resampling process
KR102062764B1 (ko) 2013-07-19 2020-02-21 삼성전자주식회사 모바일 단말 화면을 위한 3k해상도를 갖는 디스플레이 영상 생성 방법 및 장치
US9497473B2 (en) * 2013-10-03 2016-11-15 Qualcomm Incorporated High precision explicit weighted prediction for video coding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
KR102257269B1 (ko) 2013-10-14 2021-05-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
US9310908B2 (en) 2013-10-30 2016-04-12 Htc Corporation Color sampling method and touch control device thereof
EP2890131A1 (en) * 2013-12-31 2015-07-01 Patents Factory Ltd. Sp. z o.o. Video coding with different spatial resolutions for intra-coded frames and inter-coded frames
EP3090549A1 (en) 2014-01-02 2016-11-09 VID SCALE, Inc. Methods and systems for scalable video coding with mixed interlace and progressive content
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11350015B2 (en) 2014-01-06 2022-05-31 Panamorph, Inc. Image processing system and method
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US20150264368A1 (en) * 2014-03-14 2015-09-17 Sony Corporation Method to bypass re-sampling process in shvc with bit-depth and 1x scalability
CN103838543A (zh) * 2014-03-27 2014-06-04 成都睿明医疗信息技术有限公司 屏幕画面共享方法及其系统
US9807343B2 (en) 2014-05-08 2017-10-31 Samsung Electronics Co., Ltd Apparatus and method for changing mode of device
US9843812B2 (en) * 2014-05-23 2017-12-12 Sony Corporation Video transmission system with color gamut partitioning and method of operation thereof
US9449239B2 (en) 2014-05-30 2016-09-20 Apple Inc. Credit card auto-fill
US9565370B2 (en) 2014-05-30 2017-02-07 Apple Inc. System and method for assisting in computer interpretation of surfaces carrying symbols or characters
US9251431B2 (en) 2014-05-30 2016-02-02 Apple Inc. Object-of-interest detection and recognition with split, full-resolution image processing pipeline
CN105187824A (zh) * 2014-06-10 2015-12-23 杭州海康威视数字技术股份有限公司 图像编码方法和装置以及图像解码方法和装置
WO2015192353A1 (en) 2014-06-19 2015-12-23 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
CN104184981B (zh) * 2014-08-27 2017-12-15 深圳市华星光电技术有限公司 一种基于缩减像素采样处理的低解析度显示方法及设备
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9690752B2 (en) 2014-10-03 2017-06-27 Harris Corporation Method and system for performing robust regular gridded data resampling
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
KR102440941B1 (ko) 2015-03-03 2022-09-05 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
CN106802964A (zh) * 2015-11-26 2017-06-06 北京华大九天软件有限公司 一种图形自动转化阵列的方法
EP3185556A1 (en) * 2015-12-21 2017-06-28 Thomson Licensing Method and apparatus for combined adaptive resolution and internal bit-depth increase coding
US10630992B2 (en) 2016-01-08 2020-04-21 Samsung Electronics Co., Ltd. Method, application processor, and mobile terminal for processing reference image
EP3466075A1 (en) 2016-05-26 2019-04-10 VID SCALE, Inc. Geometric conversion for 360-degree video coding
US20180146019A1 (en) * 2016-11-21 2018-05-24 International Business Machines Corporation Light-weight resolution switching for online video streaming
CN108495130B (zh) * 2017-03-21 2021-04-20 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、终端、服务器和存储介质
CN107896330B (zh) * 2017-11-29 2019-08-13 北京大学深圳研究生院 一种用于帧内和帧间预测的滤波方法
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
US11736648B2 (en) 2018-05-09 2023-08-22 Panamorph, Inc. Progressive image compression and restoration providing a high spatial quality intermediate image
KR102022648B1 (ko) 2018-08-10 2019-09-19 삼성전자주식회사 전자 장치, 이의 제어 방법 및 서버의 제어 방법
CN109040755A (zh) * 2018-09-17 2018-12-18 珠海亿智电子科技有限公司 一种适用于视频编码的图像前处理装置
CN109544502B (zh) * 2018-09-25 2023-06-30 中山大学 一种jpeg图像下采样因子估计方法
KR102312338B1 (ko) * 2018-10-19 2021-10-14 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
KR102312337B1 (ko) * 2018-10-19 2021-10-14 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
US11290734B2 (en) * 2019-01-02 2022-03-29 Tencent America LLC Adaptive picture resolution rescaling for inter-prediction and display
US11012710B2 (en) 2019-03-06 2021-05-18 Tencent America LLC Techniques for intra prediction for 360 image and video coding
JP2020160737A (ja) * 2019-03-26 2020-10-01 株式会社コーエーテクモゲームス 情報処理装置、情報処理方法及びプログラム
EP3981155A4 (en) 2019-06-24 2022-08-17 Alibaba Group Holding Limited ADAPTIVE RESOLUTION CHANGE IN VIDEO PROCESSING
KR102665968B1 (ko) 2019-06-27 2024-05-16 삼성전자주식회사 블러 추정 방법 및 장치
CN114467305A (zh) * 2019-08-06 2022-05-10 Op方案有限责任公司 自适应分辨率管理预测重缩放
JP2022544160A (ja) * 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー 適応分解能管理信号伝達
WO2021026334A1 (en) * 2019-08-06 2021-02-11 Op Solutions Adaptive resolution management signaling
WO2021026324A1 (en) * 2019-08-06 2021-02-11 Op Solutions Adaptive resolution management prediction rescaling
EP4011068A4 (en) 2019-08-06 2023-08-09 OP Solutions, LLC IMPLICIT SIGNALING OF ADAPTIVE RESOLUTION MANAGEMENT BASED ON FRAME TYPE
CN114503581A (zh) 2019-08-06 2022-05-13 Op方案有限责任公司 基于块的自适应分辨率管理
US11140402B2 (en) 2019-09-20 2021-10-05 Tencent America LLC Signaling of reference picture resampling with constant window size indication in video bitstream
US11336894B2 (en) * 2019-09-20 2022-05-17 Tencent America LLC Signaling of reference picture resampling with resampling picture size indication in video bitstream
JP2022548521A (ja) * 2019-09-23 2022-11-21 アリババ グループ ホウルディング リミテッド 参照ダウンサンプリングありの動き補償補間のためのフィルタ
US11317093B2 (en) 2019-09-24 2022-04-26 Tencent America LLC Method for reference picture resampling with offset in video bitstream
CN110572674B (zh) * 2019-09-27 2024-03-15 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
CN110662071B (zh) * 2019-09-27 2023-10-24 腾讯科技(深圳)有限公司 视频解码方法和装置、存储介质及电子装置
CN110677690B (zh) * 2019-09-27 2022-07-01 腾讯科技(深圳)有限公司 视频处理方法和装置、存储介质
CN110572673B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
CN110572672B (zh) * 2019-09-27 2024-03-15 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
CA3223625A1 (en) 2019-11-08 2021-05-14 Op Solutions, Llc Methods and systems for adaptive cropping
CN112995663B (zh) * 2019-12-02 2022-09-23 华为技术有限公司 视频编码的方法、视频解码的方法及相应装置
US11372644B2 (en) 2019-12-09 2022-06-28 Meta Platforms, Inc. Matrix processing instruction with optional up/down sampling of matrix
US11438611B2 (en) * 2019-12-11 2022-09-06 Hfi Innovation Inc. Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding
US20210192019A1 (en) * 2019-12-18 2021-06-24 Booz Allen Hamilton Inc. System and method for digital steganography purification
US11563947B2 (en) 2019-12-31 2023-01-24 Tencent America LLC Signaling output picture size for reference picture resampling
US11445176B2 (en) 2020-01-14 2022-09-13 Hfi Innovation Inc. Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding
US12039696B2 (en) * 2020-03-27 2024-07-16 Alibaba Group Holding Limited Method and system for video processing based on spatial or temporal importance
CN111757142B (zh) * 2020-07-22 2022-03-11 四川新视创伟超高清科技有限公司 一种基于云端流媒体切画的视频播放系统
US11375241B2 (en) * 2020-10-20 2022-06-28 Alibaba Group Holding Limited Frequency specific compression and compensation technique in image processing
CN112235606A (zh) * 2020-12-11 2021-01-15 全时云商务服务股份有限公司 一种多层视频处理方法、系统和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
RU2191469C2 (ru) * 1997-08-14 2002-10-20 Самсунг Электроникс Ко., Лтд. Видеопередающее устройство, использующее внутрикадровую видеокомпрессию, совместимую со стандартом мпег-2
US6501484B1 (en) * 1998-09-29 2002-12-31 Globalstreams, Inc. System and method for high definition video rescaling
EP1401211A3 (en) * 2002-09-04 2004-10-27 Microsoft Corporation Multi-resolution video coding and decoding
RU2004103743A (ru) * 2001-07-10 2005-06-10 Конинклейке Филипс Электроникс Н.В. (Nl) Способ и устройство для генерации масштабируемого кодированного видеосингнала из немасштабируемого кодированного видеосигнала

Family Cites Families (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1506554A1 (ru) 1987-10-06 1989-09-07 Предприятие П/Я А-1772 Кодер видеосигнала
USRE35910E (en) * 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JP3303869B2 (ja) 1990-11-30 2002-07-22 株式会社日立製作所 画像符号化方法、画像符号化装置、画像復号化方法
JP3191935B2 (ja) 1990-11-30 2001-07-23 株式会社日立製作所 画像符号化方法、画像符号化装置、画像復号化方法
US5136377A (en) * 1990-12-11 1992-08-04 At&T Bell Laboratories Adaptive non-linear quantizer
US5611038A (en) * 1991-04-17 1997-03-11 Shaw; Venson M. Audio/video transceiver provided with a device for reconfiguration of incompatibly received or transmitted video and audio information
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5300949A (en) * 1992-10-22 1994-04-05 International Business Machines Corporation Scalable digital video decompressor
KR970000683B1 (ko) * 1993-05-31 1997-01-16 삼성전자 주식회사 해상도 가변 적응적 화상압축/복원방법 및 장치
US5555021A (en) * 1993-12-14 1996-09-10 Watec America Corporation Compact television camera with switching noise prevention
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5828421A (en) * 1994-10-11 1998-10-27 Hitachi America, Ltd. Implementation efficient digital picture-in-picture decoding methods and apparatus
US5821986A (en) * 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5864637A (en) * 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
US6026182A (en) * 1995-10-05 2000-02-15 Microsoft Corporation Feature segmentation
US6324301B1 (en) * 1996-01-24 2001-11-27 Lucent Technologies Inc. Adaptive postfilter for low bitrate visual telephony noise removal
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US6529631B1 (en) * 1996-03-29 2003-03-04 Sarnoff Corporation Apparatus and method for optimizing encoding and performing automated steerable image compression in an image coding system using a perceptual metric
JP3466032B2 (ja) * 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
US6175592B1 (en) * 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
WO1998041012A1 (en) 1997-03-12 1998-09-17 Matsushita Electric Industrial Co., Ltd. Mpeg decoder providing multiple standard output signals
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
KR100435257B1 (ko) * 1997-08-07 2004-07-16 삼성전자주식회사 영상신호 처리 시스템에서의 이미지 포맷 변환장치 및 방법
US6339434B1 (en) * 1997-11-24 2002-01-15 Pixelworks Image scaling circuit for fixed pixed resolution display
US6600785B1 (en) * 1997-12-01 2003-07-29 Matsushita Electric Industrial Image processor, image data processor and variable length encoder/decoder
US6239847B1 (en) * 1997-12-15 2001-05-29 Netergy Networks, Inc. Two pass multi-dimensional data scaling arrangement and method thereof
US6731811B1 (en) 1997-12-19 2004-05-04 Voicecraft, Inc. Scalable predictive coding method and apparatus
US6873368B1 (en) * 1997-12-23 2005-03-29 Thomson Licensing Sa. Low noise encoding and decoding method
US5995150A (en) 1998-02-20 1999-11-30 Winbond Electronics Corporation America Dual compressed video bitstream camera for universal serial bus connection
MY123018A (en) * 1998-07-24 2006-05-31 Panasonic Corp Video signal character converting device and method of the same
US6157396A (en) * 1999-02-16 2000-12-05 Pixonics Llc System and method for using bitstream information to process images for use in digital display systems
US6229570B1 (en) * 1998-09-25 2001-05-08 Lucent Technologies Inc. Motion compensation image interpolation—frame rate conversion for HDTV
JP2000134618A (ja) 1998-10-23 2000-05-12 Nippon Telegr & Teleph Corp <Ntt> 画像信号符号化方法と装置、及び画像信号復号方法と装置、及びこれらの方法を記録した記録媒体
JP2000165661A (ja) * 1998-11-27 2000-06-16 Murata Mach Ltd 画像処理装置及び記録媒体
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
AUPP779898A0 (en) * 1998-12-18 1999-01-21 Canon Kabushiki Kaisha A method of kernel selection for image interpolation
JP3672185B2 (ja) * 1999-02-09 2005-07-13 ソニー株式会社 コーディングシステム及びこれを用いた装置並びに記録媒体
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2792798B1 (fr) * 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
WO2000074385A2 (en) 1999-05-27 2000-12-07 University Of Maryland, College Park 3d wavelet based video codec with human perceptual model
US6678424B1 (en) 1999-11-11 2004-01-13 Tektronix, Inc. Real time human vision system behavioral modeling
US6931060B1 (en) 1999-12-07 2005-08-16 Intel Corporation Video processing of a quantized base layer and one or more enhancement layers
US6700933B1 (en) * 2000-02-15 2004-03-02 Microsoft Corporation System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding
US7079157B2 (en) * 2000-03-17 2006-07-18 Sun Microsystems, Inc. Matching the edges of multiple overlapping screen images
US6510177B1 (en) * 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
US6456663B1 (en) * 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
JP4686048B2 (ja) 2000-04-21 2011-05-18 パナソニック株式会社 画素演算装置
JP4560897B2 (ja) * 2000-06-02 2010-10-13 ソニー株式会社 通信装置、通信方法及び媒体
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7023922B1 (en) 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US6907075B2 (en) 2000-06-30 2005-06-14 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
KR100370076B1 (ko) * 2000-07-27 2003-01-30 엘지전자 주식회사 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법
CN1180630C (zh) 2000-08-08 2004-12-15 皇家菲利浦电子有限公司 基于子波分解的视频编码方法
US6937291B1 (en) * 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
US7039115B1 (en) * 2000-09-20 2006-05-02 General Instrument Corporation Processor allocation for channels in a video multi-processor system
US6940905B2 (en) * 2000-09-22 2005-09-06 Koninklijke Philips Electronics N.V. Double-loop motion-compensation fine granular scalability
DE10048735A1 (de) * 2000-09-29 2002-04-11 Bosch Gmbh Robert Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
JP4231620B2 (ja) * 2000-10-11 2009-03-04 メディア・テック・ユーエスエイ・インコーポレーテッド 画像処理方法および装置
US20020159484A1 (en) * 2000-12-05 2002-10-31 Murat Azizoglu Coding scheme using a control code map for signal transmission in optical communications networks
US6907070B2 (en) 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
AUPR222500A0 (en) 2000-12-21 2001-01-25 Unisearch Limited Method for efficient scalable compression of video
WO2002054777A1 (en) 2000-12-28 2002-07-11 Koninklijke Philips Electronics N.V. Mpeg-2 down-sampled video generation
US20020118743A1 (en) 2001-02-28 2002-08-29 Hong Jiang Method, apparatus and system for multiple-layer scalable video coding
US6831947B2 (en) 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
CN1251509C (zh) 2001-04-10 2006-04-12 皇家菲利浦电子有限公司 帧序列的编码方法
KR100783396B1 (ko) 2001-04-19 2007-12-10 엘지전자 주식회사 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
US7206453B2 (en) * 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6907143B2 (en) * 2001-05-16 2005-06-14 Tektronix, Inc. Adaptive spatio-temporal filter for human vision system models
US6792044B2 (en) 2001-05-16 2004-09-14 Koninklijke Philips Electronics N.V. Method of and system for activity-based frequency weighting for FGS enhancement layers
WO2002096120A1 (en) 2001-05-25 2002-11-28 Centre For Signal Processing, Nanyang Technological University Bit rate control for video compression
WO2003003749A1 (en) * 2001-06-29 2003-01-09 Ntt Docomo, Inc. Image encoder, image decoder, image encoding method, and image decoding method
US9894379B2 (en) 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
EP1294196A3 (en) * 2001-09-04 2004-10-27 Interuniversitair Microelektronica Centrum Vzw Method and apparatus for subband encoding and decoding
US6992725B2 (en) * 2001-10-22 2006-01-31 Nec Electronics America, Inc. Video data de-interlacing using perceptually-tuned interpolation scheme
WO2003041055A1 (en) * 2001-11-02 2003-05-15 The Regents Of The University Of California End-to-end distortion estimation for streaming of pre-compressed video
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
US20050084010A1 (en) 2001-12-28 2005-04-21 Koninklijke Philips Electronics N.V. Video encoding method
WO2003063497A1 (en) * 2002-01-22 2003-07-31 Koninklijke Philips Electronics N.V. Drift-free video encoding and decoding method, and corresponding devices
US7596179B2 (en) * 2002-02-27 2009-09-29 Hewlett-Packard Development Company, L.P. Reducing the resolution of media data
US7317759B1 (en) * 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
US6993078B2 (en) * 2002-03-28 2006-01-31 International Business Machines Corporation Macroblock coding technique with biasing towards skip macroblock coding
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US7715477B2 (en) 2002-05-29 2010-05-11 Diego Garrido Classifying image areas of a video signal
AUPS291002A0 (en) 2002-06-12 2002-07-04 Unisearch Limited Method and apparatus for scalable compression of video
JP2005532725A (ja) * 2002-07-09 2005-10-27 ノキア コーポレイション ビデオ符号化における内挿フィルタタイプの選択方法および選択システム
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
CN1669328A (zh) 2002-07-17 2005-09-14 皇家飞利浦电子股份有限公司 三维小波视频编码和解码方法以及相应的设备
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7010037B2 (en) * 2002-08-06 2006-03-07 Koninklijke Philips Electronics N.V. System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US7072394B2 (en) 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
KR20050052532A (ko) 2002-10-16 2005-06-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 적응성 움직임 보상 시간 필터링을 이용하는 충분히 크기조정가능 3-d 오버컴플릿 웨이브릿 비디오 코딩
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
GB0228556D0 (en) 2002-12-06 2003-01-15 British Telecomm Video quality measurement
US20060222083A1 (en) * 2002-12-19 2006-10-05 Klein Gunnewiek Reinier B M Digital filter with spatial scalability
KR20050105246A (ko) 2003-02-25 2005-11-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩
FR2852773A1 (fr) 2003-03-20 2004-09-24 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images par decomposition mouvement/texture et codage par ondelettes
US8761252B2 (en) * 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
CA2523055A1 (en) 2003-04-25 2004-11-11 Thomson Licensing Marking techniques for tracking pirated media
US20130107938A9 (en) 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
EP1634458B1 (en) * 2003-06-16 2011-08-17 Thomson Licensing Decoding method and apparatus enabling fast channel change of compressed video
JP4207684B2 (ja) 2003-06-27 2009-01-14 富士電機デバイステクノロジー株式会社 磁気記録媒体の製造方法、および、製造装置
CN1813269A (zh) 2003-06-30 2006-08-02 皇家飞利浦电子股份有限公司 使用过完备小波编码和循环预测映射进行视频处理的系统及方法
CN1813479A (zh) * 2003-06-30 2006-08-02 皇家飞利浦电子股份有限公司 过完备小波域中的视频编码
JP4699685B2 (ja) 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
TWI232681B (en) * 2003-08-27 2005-05-11 Mediatek Inc Method of transforming one video output format into another video output format without degrading display quality
US7822123B2 (en) 2004-10-06 2010-10-26 Microsoft Corporation Efficient repeat padding for hybrid video sequence with arbitrary video resolution
US7391933B2 (en) * 2003-10-30 2008-06-24 Samsung Electronics Co., Ltd. Method and apparatus for image interpolation based on adaptive polyphase filters
NO319660B1 (no) * 2003-11-17 2005-09-05 Tandberg Telecom As Fremgangsmåte for interpolering av pixelverdier
KR100519776B1 (ko) * 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
KR100597402B1 (ko) * 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
US7369610B2 (en) 2003-12-01 2008-05-06 Microsoft Corporation Enhancement layer switching for scalable video coding
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
CN1332563C (zh) * 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US20050157791A1 (en) * 2004-01-20 2005-07-21 Eastman Kodak Company System and method for video tone scale reduction
JP2005217940A (ja) 2004-01-30 2005-08-11 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US7227894B2 (en) 2004-02-24 2007-06-05 Industrial Technology Research Institute Method and apparatus for MPEG-4 FGS performance enhancement
US7324616B2 (en) * 2004-03-01 2008-01-29 Motorola, Inc. Low cost and high performance narrowband interference cancellation system
US7505636B2 (en) * 2004-03-04 2009-03-17 Broadcom Corporation System and method for two-pass interpolation for quarter-pel motion compensation
KR100596705B1 (ko) * 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US20050195896A1 (en) * 2004-03-08 2005-09-08 National Chiao Tung University Architecture for stack robust fine granularity scalability
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
WO2005099276A2 (en) 2004-04-02 2005-10-20 Thomson Licensing Complexity scalable video encoding
EP1599046A1 (en) 2004-05-19 2005-11-23 THOMSON Licensing Method for coding video data of a sequence of pictures
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
JP4891234B2 (ja) * 2004-06-23 2012-03-07 エージェンシー フォー サイエンス, テクノロジー アンド リサーチ グリッド動き推定/補償を用いたスケーラブルビデオ符号化
KR100654436B1 (ko) * 2004-07-07 2006-12-06 삼성전자주식회사 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
EP1617672A1 (en) 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
US20060013305A1 (en) * 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
KR100657268B1 (ko) 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
KR100621581B1 (ko) * 2004-07-15 2006-09-13 삼성전자주식회사 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
KR100679011B1 (ko) 2004-07-15 2007-02-05 삼성전자주식회사 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
US9071847B2 (en) * 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
US7839933B2 (en) 2004-10-06 2010-11-23 Microsoft Corporation Adaptive vertical macroblock alignment for mixed frame video sequences
US8243820B2 (en) * 2004-10-06 2012-08-14 Microsoft Corporation Decoding variable coded resolution video with native range/resolution post-processing operation
WO2006044370A1 (en) 2004-10-13 2006-04-27 Thomson Licensing Method and apparatus for complexity scalable video encoding and decoding
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
KR20060043115A (ko) * 2004-10-26 2006-05-15 엘지전자 주식회사 베이스 레이어를 이용하는 영상신호의 엔코딩/디코딩 방법및 장치
US7783106B2 (en) 2004-11-12 2010-08-24 Fuji Xerox Co., Ltd. Video segmentation combining similarity analysis and classification
KR100679025B1 (ko) 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
KR100679031B1 (ko) 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100703734B1 (ko) 2004-12-03 2007-04-05 삼성전자주식회사 Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
KR100888962B1 (ko) * 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100888963B1 (ko) * 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US7616824B2 (en) * 2004-12-08 2009-11-10 Ecole Polytechnique Fédérale de Lausanne (EPFL) CM - Ecublens Method for spatially scalable video coding
US20090252425A1 (en) 2004-12-13 2009-10-08 Koninklijke Philips Electronics, N.V. Scalable picture encoding
US7801220B2 (en) * 2005-01-07 2010-09-21 Microsoft Corporation In-band wavelet video coding with spatial scalability
KR100714689B1 (ko) * 2005-01-21 2007-05-04 삼성전자주식회사 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
CN101111864A (zh) 2005-01-31 2008-01-23 皇家飞利浦电子股份有限公司 用于多分辨率图像滤波的金字塔式分解
US7995656B2 (en) 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US8175168B2 (en) * 2005-03-18 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for picture up-sampling
US8638862B2 (en) * 2005-03-18 2014-01-28 Sharp Laboratories Of America, Inc. Methods and systems for upsampling filter design
EP1862010A4 (en) * 2005-03-25 2011-08-17 Korea Electronics Telecomm HIERARCHICAL VIDEO ENCODING / DECODING METHOD FOR COMPLETE SCALE VARIABILITY AND APPARATUS THEREOF
WO2006109135A2 (en) 2005-04-11 2006-10-19 Nokia Corporation Method and apparatus for update step in video coding based on motion compensated temporal filtering
US7876833B2 (en) 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
KR100703778B1 (ko) 2005-04-29 2007-04-06 삼성전자주식회사 고속 fgs를 지원하는 비디오 코딩 방법 및 장치
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
EP1727372A1 (en) 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
WO2006129184A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation Residual prediction mode in scalable video coding
US7830961B2 (en) 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
ZA200800261B (en) 2005-07-11 2009-08-26 Thomson Licensing Method and apparatus for macroblock adaptive inter-layer intra texture prediction
US7216279B2 (en) * 2005-07-19 2007-05-08 Lsi Logic Corporation Testing with high speed pulse generator
US20080123947A1 (en) * 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
EP1746839A1 (en) 2005-07-22 2007-01-24 Thomson Licensing Method and apparatus for encoding video data
KR100746011B1 (ko) 2005-08-24 2007-08-06 삼성전자주식회사 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
EP1775958A1 (en) 2005-10-14 2007-04-18 Thomson Licensing Method and apparatus for reconstructing the texture of a spatial enhancement-layer video picture
KR100772868B1 (ko) * 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8023569B2 (en) * 2005-12-15 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for block-based residual upsampling
US8094721B2 (en) * 2005-12-29 2012-01-10 Cisco Technology, Inc. Methods and apparatuses for selecting a mode within a compression scheme
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
JP2009522974A (ja) * 2006-01-09 2009-06-11 ノキア コーポレイション 低複雑度の動き補償付き微細粒度スケーラブルビデオ符号化のためのシステムと装置
CN1794821A (zh) 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
KR100781524B1 (ko) 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
US20070274396A1 (en) * 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
WO2008004816A1 (en) 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
US8253752B2 (en) * 2006-07-20 2012-08-28 Qualcomm Incorporated Method and apparatus for encoder assisted pre-processing
JP4647558B2 (ja) 2006-07-27 2011-03-09 日本電信電話株式会社 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
CN101589625B (zh) 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
US7756350B2 (en) * 2006-11-13 2010-07-13 Global Ip Solutions, Inc. Lossless encoding and decoding of digital data
US8311120B2 (en) * 2006-12-22 2012-11-13 Qualcomm Incorporated Coding mode selection using information of other coding modes
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US8848787B2 (en) 2007-10-15 2014-09-30 Qualcomm Incorporated Enhancement layer coding for scalable video coding
US20090268818A1 (en) 2008-04-29 2009-10-29 International Business Machines Corporation Method and system for integrating noise filtering in predictive video coding
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2191469C2 (ru) * 1997-08-14 2002-10-20 Самсунг Электроникс Ко., Лтд. Видеопередающее устройство, использующее внутрикадровую видеокомпрессию, совместимую со стандартом мпег-2
US6501484B1 (en) * 1998-09-29 2002-12-31 Globalstreams, Inc. System and method for high definition video rescaling
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
RU2004103743A (ru) * 2001-07-10 2005-06-10 Конинклейке Филипс Электроникс Н.В. (Nl) Способ и устройство для генерации масштабируемого кодированного видеосингнала из немасштабируемого кодированного видеосигнала
EP1401211A3 (en) * 2002-09-04 2004-10-27 Microsoft Corporation Multi-resolution video coding and decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN S et al, Resampling Process for Interlaced Materials in SVC, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-Rxxx, 18th Meeting: Bangkok, Thailand, 14-20 January 2006. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2646340C2 (ru) * 2012-09-28 2018-03-02 Сони Корпорейшн Устройство и способ кодирования, устройство и способ декодирования
RU2653314C2 (ru) * 2015-11-23 2018-05-07 Сяоми Инк. Способ и устройство сжатия изображений и сервер

Also Published As

Publication number Publication date
IL218145A (en) 2014-08-31
US9319729B2 (en) 2016-04-19
KR101354741B1 (ko) 2014-01-23
HK1161016A1 (en) 2012-08-17
KR101344193B1 (ko) 2013-12-20
US20130271651A1 (en) 2013-10-17
WO2007081752A2 (en) 2007-07-19
EP1985120A2 (en) 2008-10-29
US8493513B2 (en) 2013-07-23
JP5590574B2 (ja) 2014-09-17
JP5302010B2 (ja) 2013-10-02
IL192420A (en) 2012-03-29
AU2010219337B2 (en) 2011-06-30
KR20130041378A (ko) 2013-04-24
CN102176748A (zh) 2011-09-07
EP1985120B1 (en) 2019-09-04
AU2007205175B2 (en) 2010-07-01
US20110211122A1 (en) 2011-09-01
CA2635898A1 (en) 2007-07-19
CA2635898C (en) 2015-10-06
KR20080085156A (ko) 2008-09-23
US8780272B2 (en) 2014-07-15
US20140269912A1 (en) 2014-09-18
US20070160153A1 (en) 2007-07-12
JP2012191655A (ja) 2012-10-04
AU2010219337A1 (en) 2010-09-30
CN102176748B (zh) 2013-03-27
CN101366281A (zh) 2009-02-11
JP2009522935A (ja) 2009-06-11
RU2420915C2 (ru) 2011-06-10
US7956930B2 (en) 2011-06-07
WO2007081752A3 (en) 2007-09-20
RU2008127319A (ru) 2010-01-10
IL218145A0 (en) 2012-03-29
CN101366281B (zh) 2011-06-22
AU2007205175A1 (en) 2007-07-19
IL192420A0 (en) 2009-08-03
EP1985120A4 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
RU2456761C1 (ru) Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью
US7116831B2 (en) Chrominance motion vector rounding
US7110459B2 (en) Approximate bicubic filter
US7620109B2 (en) Sub-pixel interpolation in motion estimation and compensation
US7305034B2 (en) Rounding control for multi-stage interpolation
US8107571B2 (en) Parameterized filters and signaling techniques
MX2008008762A (en) Resampling and picture resizing operations for multi-resolution video coding and decoding

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526