RU2456761C1 - Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью - Google Patents
Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 179
- 238000004364 calculation method Methods 0.000 claims abstract description 61
- 230000015654 memory Effects 0.000 claims description 25
- 239000000872 buffer Substances 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000033001 locomotion Effects 0.000 description 49
- 239000000523 sample Substances 0.000 description 47
- 230000008569 process Effects 0.000 description 46
- 238000005070 sampling Methods 0.000 description 38
- 238000012952 Resampling Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 24
- 230000006835 compression Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 16
- 238000013459 approach Methods 0.000 description 15
- 238000013139 quantization Methods 0.000 description 15
- 230000000750 progressive effect Effects 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006837 decompression Effects 0.000 description 5
- 230000010363 phase shift Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical group COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 229910052698 phosphorus Inorganic materials 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 229910052757 nitrogen Inorganic materials 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000036569 Carp sprivivirus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/16—Assigned 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234327—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234354—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0102—Conversion 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), определяемой следующим образом:
где b и c - два параметра. Для относительного положения фазового сдвига 0 ≤ x <1 это ядро формирует 4-отводный фильтр с конечным импульсным откликом (FIR) со значениями отводов, определяемыми следующим матричным уравнением:
Фактически, достаточно рассмотреть только диапазон x от 0 до 1/2, так как ядро фильтра FIR для х является просто ядром фильтра FIR для 1-x в обратном порядке.
Эта схема имеет ряд интересных и полезных свойств. Ниже приведены некоторые из них:
- Никакие тригонометрические функции, трансцендентные функции или обработка иррациональных чисел не требуются для вычисления значений отводов фильтра. Фактически, значения отводов для такого фильтра могут быть непосредственно вычислены только с несколькими простыми операциями. Они не должны обязательно сохраняться для различных возможных значений параметров и фаз, которые должны использоваться; они могут просто быть вычислены, когда необходимо. (Так, чтобы стандартизировать использование таких фильтров, необходимо только несколько формул - никакие огромные таблицы чисел или стандартизированные попытки аппроксимировать функции, подобные косинусам или функциям Бесселя, не требуются).
- Результирующий фильтр имеет 4 отвода. Это является весьма практичным количеством.
- Фильтр имеет только единственный боковой лепесток на каждой стороне от основного лепестка. Поэтому не создается избыточных артефактов переходных процессов.
- Фильтр имеет гладкую импульсную характеристику. Его значение и его первая производная непрерывны.
- Он имеет DC отклик единичного усиления, что означает, что нет никакого усиления или ослабления яркости в информации повышающей дискретизации.
- Члены этого семейства фильтра включают относительно хорошие аппроксимации известных хороших фильтров типа схемы "Lanczos-2" и схемы "Catmull-Rom". Кроме того, описанные способы и инструментальные средства включают конкретные отношения между двумя параметрами для выбора приятных для визуального восприятия фильтров. Такие отношения могут быть выражены следующим образом:
Это уменьшает степени свободы до единственного параметра b управления шириной полосы. Этот параметр управляет степенью дополнительной нечеткости, вводимой фильтром. Отметим, что членом этого семейства, ассоциированным со значением b=0, является превосходный известный фильтр повышающей дискретизации Catmull-Rom (также известный как фильтр интерполяции Keys «кубической свертки»).
Фильтр повышающей дискретизации Catmull-Rom имеет ряд хороших собственных свойств, в дополнение к основным преимуществам, найденным для всех членов семейства фильтра Mitchell-Netravali:
- Он является фильтром "интерполяции" - то есть для значений фаз x=0 и x=1 фильтр имеет единственный ненулевой отвод, равный 1. Другими словами, сигнал повышающей дискретизации будет проходить точно через значения входных выборок на границах каждого сегмента кривой повышающей дискретизации.
- Если набор входных выборок формирует параболу (или прямую линию, или статическое значение), выходные точки будут лежать точно на параболической кривой (или прямой линии, или статическом значении).
В действительности, до некоторой степени, повышающий дискретизатор Catmull-Rom может рассматриваться как лучший фильтр повышающей дискретизации этой длины по этим причинам, хотя введение некоторой дополнительной размытости (увеличения b) может иногда быть более визуально приятным. Также, введение некоторой размытости дополнительного пространства может помочь сгладить артефакты сжатия низкой битовой скорости и, таким образом, действовать более сходно с алгоритмом оценки на фильтре Wiener (известный фильтр, используемый для фильтрации шума) для истинного изображения повышающей дискретизации.
Простая подстановка уравнения (3) в уравнение (2) приводит к следующим значениям сигнала:
Сообщалось, что, основываясь на субъективных испытаниях с 9 экспертными средствами просмотра и более чем 500 выборками:
- пригодный для использования диапазон составил 0 ≤ b ≤ 5/3;
- диапазон 0 ≤ b ≤ 1/2 категоризирован как визуально "удовлетворительно", причем b = 1/3 оценивалось как визуально приятное;
- значения b > 1/2 категоризированы как "размытость", причем b=3/2 оценивалось как чрезмерная размытость.
В. Преобразование в целочисленное представление параметра управления шириной полосы
Деление на 6 в уравнении (4) может быть нежелательным. Вместо этого может быть желательным преобразовать в целочисленное представление параметр управления шириной полосы и значения отводов фильтра, поскольку бесконечная точность непрактична при проектировании декодера. Рассмотрим подстановку с использованием новой целочисленной переменной а, определенной следующим образом:
где S - целочисленный коэффициент сдвига, и а - целое число без знака, действующее как преобразованный в целочисленное представление параметр управления шириной полосы. Параметр а может быть закодирован в явном виде как элемент синтаксиса кодером на уровне видеопоследовательности в битовом потоке. Например, параметр а может кодироваться в явном виде кодом переменной длины или фиксированной длины, совместно кодироваться с другой информацией или сигнализироваться в явном виде. Альтернативно, параметр а сигнализируется на некотором другом уровне в битовом потоке.
Преобразование в целочисленное представление приводит к целочисленным значениям отводов:
Результат затем потребовалось бы масштабировать на 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 так, что:
где F представляет поддерживаемую точность позиции дробной выборки. Для примера достаточно точной операции повторной дискретизации примем F ≥ 4 (точность позиционирования выборки одна шестнадцатая или больше). Это приводит к следующим преобразованным в целочисленное представление значениям отводов фильтра:
Например, пусть F=4. Тогда результат следовало бы уменьшить на 3F+S позиций.
Заметим, что каждая запись в матрице, приведенной выше, содержит общий коэффициент 2 (предполагая, что S больше, чем 1). Таким образом, вместо этого можно сформулировать значения отводов следующим образом:
где каждое из значений отводов разделено на 2. Результат тогда нужно было бы уменьшить только на 3F+S-1 позиций.
Для понижающего масштабирования определяем функцию RoundingRightShift (p, R) как вывод сдвига вправо на R битов (с округлением), вычисленный для входного значения p, вычисленную следующим образом:
где запись ">>" относится к оператору сдвига вправо двоичной арифметики, использующему двоичную арифметику дополнения до двух. Альтернативно, сдвиг вправо с округлением выполняется по-другому.
Некоторые примерные применения для сдвига вправо с округлением представлены ниже.
D. Рассмотрение динамического диапазона
Если мы фильтруем изображения с N битами битовой глубины выборки и выполняем это двумерным способом перед выполнением любого округления, то нам потребуется динамический диапазон в 2*(3F+S-1) +N+1 битов в сумматоре перед понижающим сдвигом результата на 2*(3F+S-1) позиций и ограничение вывода до N-битового диапазона. Например, если F=4, S=7 и N=8, то может потребоваться использование сумматора на 45 битов, чтобы вычислить отфильтрованный результат.
В следующих подразделах описываются некоторые подходы к уменьшению этой проблемы. Эти подходы могут использоваться отдельно или в комбинации друг с другом. Понятно, что на основе представленного описания возможны изменения описанных подходов к уменьшению динамического диапазона.
1. Первый примерный подход к уменьшению динамического диапазона
Рассмотрим пример, где сначала выполняется горизонтальная фильтрация, за которой следует вертикальная фильтрация. Рассмотрим максимальную длину слова W битов для любой точки в двумерном конвейере обработки. В первом подходе уменьшения динамического диапазона, чтобы реализовать фильтрацию, мы используем сдвиг вправо с округлением на RH битов на выходе первой (горизонтальной) стадии процесса и сдвиг вправо с округлением на RV битов на выходе второй (вертикальной) стадии процесса.
Таким образом, вычисляем следующее:
и поэтому
Тогда сдвиг вправо для второй (вертикальной) стадии может быть вычислен из
и поэтому
Например, для 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, то есть
Это важное свойство этого примерного подхода к уменьшению динамического диапазона, потому что всякий раз, когда все четыре входных выборки имеют одинаковое значение, вывод будет иметь то же самое значение.
Используя примерное определение сдвига вправо с округлением согласно уравнению (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.
вычисляют позицию в данных изображения базового уровня, причем y указывает вертикальное значение позиции в данных изображения базового уровня, и получение y включает в себя вычисление, которое является математически эквивалентным по результату (j·C+D)>>S,
где j указывает вертикальное значение позиции в массиве повышающей дискретизации;
С - аппроксимация 2S+F, умноженного на инверсию коэффициента масштабирования по вертикали;
D является смещением;
S является значением сдвига и
F основано на числе битов в дробной компоненте y.
2. Способ по п.1, в котором j, С и D частично зависят от того, предназначены ли данные изображения базового уровня для кадра или поля, а j и D частично зависят от того, предназначены ли данные изображения базового уровня для сигнала яркости или сигнала цветности.
3. Способ по п.1, в котором:
S задает динамический диапазон и точность; и
D зависит от вертикальной разрешающей способности данных изображения базового уровня, коэффициента масштабирования по вертикали и S.
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.
где 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 указывает горизонтальную разрешающую способность после повышающей дискретизации.
((BasePicWidth<<16)+(ScaleBaseWidth>>1))÷ScaledBaseWidth, где BasePicWidth указывает горизонтальную разрешающую способность данных изображения базового уровня, и ScaledBaseWidth указывает горизонтальную разрешающую способность после повышающей дискретизации.
9. Способ по п.5, в котором x дополнительно зависит от смещения Е, и получение x включает в себя вычисление, которое является математически эквивалентным по результату ((i·C'+D')>>S')+Е.
10. Способ по п.5, дополнительно содержащий этапы, на которых:
выбирают вертикальный фильтр на основе F младших битов y, и выбирают вертикальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов y, причем вертикальный фильтр используется в этих вертикальных целочисленных позициях при вертикальной интерполяции данных изображения базового уровня; и
выбирают горизонтальный фильтр на основе F' младших битов x, и выбирают горизонтальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов x, причем горизонтальный фильтр используется в этих горизонтальных целочисленных позициях при горизонтальной интерполяции результатов вертикальной интерполяции.
выбирают вертикальный фильтр на основе 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.
вычисляют позицию в данных изображения базового уровня, причем 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.
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.
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 указывает горизонтальную разрешающую способность после повышающей дискретизации.
в которой i основано на T-L, где Т указывает горизонтальное смещение, a L указывает смещение влево;
F' равно 4;
S' равно 12; и
С' получается в соответствии с:
((BasePicWidth<<16)+(ScaleBaseWidth>>1))÷ScaledBaseWidth, где BasePicWidth указывает горизонтальную разрешающую способность данных изображения базового уровня, и ScaledBaseWidth указывает горизонтальную разрешающую способность после повышающей дискретизации.
18. Система по п.16, в которой способ дополнительно содержит этапы, на которых:
выбирают вертикальный фильтр на основе F младших битов y, и выбирают вертикальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов y, причем вертикальный фильтр используется в этих вертикальных целочисленных позициях при вертикальной интерполяции данных изображения базового уровня; и
выбирают горизонтальный фильтр на основе F' младших битов x, и выбирают горизонтальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов x, причем горизонтальный фильтр используется в этих горизонтальных целочисленных позициях при горизонтальной интерполяции результатов вертикальной интерполяции.
выбирают вертикальный фильтр на основе F младших битов y, и выбирают вертикальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов y, причем вертикальный фильтр используется в этих вертикальных целочисленных позициях при вертикальной интерполяции данных изображения базового уровня; и
выбирают горизонтальный фильтр на основе F' младших битов x, и выбирают горизонтальные целочисленные позиции, подлежащие фильтрации, на основе оставшихся битов x, причем горизонтальный фильтр используется в этих горизонтальных целочисленных позициях при горизонтальной интерполяции результатов вертикальной интерполяции.
19. Система по п.18, причем система дополнительно содержит буфер для хранения кодированных данных и один или более модулей для адаптивного управления скоростью, при этом машиночитаемый носитель дополнительно хранит исполняемые компьютером команды для выполнения кодирования улучшенного уровня для данных изображения базового уровня с использованием интерполированных значений выборки из позиций в массиве повышающей дискретизации.
20. Система по п.18, причем система дополнительно содержит сенсорное устройство ввода, соединение беспроводной связи и дисплей, при этом машиночитаемый носитель дополнительно хранит выполняемые компьютером команды для декодирования улучшенного уровня для данных изображения базового уровня, с использованием интерполированных значений выборки из позиций в массиве повышающей дискретизации.
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)
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)
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)
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)
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 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
-
2007
- 2007-01-05 US US11/650,531 patent/US7956930B2/en active Active
- 2007-01-08 AU AU2007205175A patent/AU2007205175B2/en active Active
- 2007-01-08 JP JP2008549559A patent/JP5302010B2/ja active Active
- 2007-01-08 KR KR1020137008246A patent/KR101354741B1/ko active IP Right Grant
- 2007-01-08 CN CN2007800019896A patent/CN101366281B/zh active Active
- 2007-01-08 EP EP07717801.0A patent/EP1985120B1/en active Active
- 2007-01-08 CA CA2635898A patent/CA2635898C/en active Active
- 2007-01-08 CN CN201110120389XA patent/CN102176748B/zh active Active
- 2007-01-08 RU RU2008127319/09A patent/RU2420915C2/ru active
- 2007-01-08 WO PCT/US2007/000195 patent/WO2007081752A2/en active Application Filing
-
2008
- 2008-06-24 IL IL192420A patent/IL192420A/en active IP Right Grant
- 2008-07-04 KR KR1020087016381A patent/KR101344193B1/ko active IP Right Grant
-
2010
- 2010-09-08 AU AU2010219337A patent/AU2010219337B2/en active Active
-
2011
- 2011-02-21 RU RU2011106505/07A patent/RU2456761C1/ru active
- 2011-05-06 US US13/102,943 patent/US8493513B2/en active Active
-
2012
- 2012-02-08 HK HK12101256.3A patent/HK1161016A1/xx unknown
- 2012-02-16 IL IL218145A patent/IL218145A/en active IP Right Grant
- 2012-05-25 JP JP2012120308A patent/JP5590574B2/ja active Active
-
2013
- 2013-06-06 US US13/911,940 patent/US8780272B2/en active Active
-
2014
- 2014-05-30 US US14/292,073 patent/US9319729B2/en active Active
Patent Citations (5)
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)
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)
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
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 |