RU2627101C2 - Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений - Google Patents

Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений Download PDF

Info

Publication number
RU2627101C2
RU2627101C2 RU2015151397A RU2015151397A RU2627101C2 RU 2627101 C2 RU2627101 C2 RU 2627101C2 RU 2015151397 A RU2015151397 A RU 2015151397A RU 2015151397 A RU2015151397 A RU 2015151397A RU 2627101 C2 RU2627101 C2 RU 2627101C2
Authority
RU
Russia
Prior art keywords
image
prediction
module
size
encoding
Prior art date
Application number
RU2015151397A
Other languages
English (en)
Other versions
RU2015151397A (ru
Inventor
Йосими МОРИЯ
Сунити СЕКИГУТИ
Казуо СУГИМОТО
Кохтаро АСАИ
Токумити МУРАКАМИ
Original Assignee
Мицубиси Электрик Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Мицубиси Электрик Корпорейшн filed Critical Мицубиси Электрик Корпорейшн
Publication of RU2015151397A publication Critical patent/RU2015151397A/ru
Application granted granted Critical
Publication of RU2627101C2 publication Critical patent/RU2627101C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к устройству кодирования движущихся изображений, которое разделяет движущееся изображение на предварительно определенные области и кодирует движущееся изображение в единицах одной области, и к устройству декодирования движущихся изображений, которое декодирует кодированное движущееся изображение в единицах одной предварительно определенной области.
Уровень техники
[0002] Традиционно, в международной стандартизированной системе кодирования видео, такой как MPEG или ITU-T H.26x, используется способ задания блочных данных (далее в настоящем документе упоминаемых как "макроблок") в качестве единицы, причем блочные данные являются комбинацией 16×16 пикселов сигнала яркости и 8×8 пикселов цветоразностного сигнала, соответствующего 16×16 пикселам сигнала яркости, и сжатия каждого кадра видеосигнала в единицах блочных данных в соответствии с технологией компенсации движения, а также технологией ортогонального преобразования/ квантования коэффициентов преобразования.
[0003] Технология компенсации движения используется для того, чтобы уменьшать избыточность сигнала в направлении времени для каждого макроблока посредством использования высокой корреляции, существующей между видеокадрами. В соответствии с этой технологией компенсации движения, уже кодированный кадр, который ранее кодирован, сохраняется в запоминающем устройстве в качестве опорного изображения, и поиск блочной области, которая предоставляет наименьшую разность в энергии между самой блочной областью и текущим макроблоком, который является целевым блоком для предсказания с компенсацией движения, выполняется через диапазон поиска, предварительно определенный в опорном изображении, и пространственное смещение между пространственной позицией текущего макроблока и пространственной позицией блочной области в опорном изображении, которая определяется в результате поиска, затем кодируется в качестве вектора движения.
[0004] Дополнительно, в соответствии с технологией ортогонального преобразования/квантования коэффициентов преобразования, сигнал разности, который получается посредством вычитания предсказанного сигнала, полученного в результате вышеуказанного предсказания с компенсацией движения, из текущего макроблока, ортогонально преобразуется и квантуется, так что объем информации сокращается.
[0005] В случае MPEG-4 Visual, каждый блок, который используется в качестве единицы для предсказания с компенсацией движения, имеет минимальный размер 8×8 пикселов, и DCT (дискретное косинусное преобразование), имеющее размер 8×8 пикселов, используется также для ортогонального преобразования. В отличие от этого, в случае (ITU-T H.264) MPEG-4 AVC (экспертная группа по вопросам движущихся изображений 4, усовершенствованное кодирование видео), подготавливается предсказание с компенсацией движения с размером блока, меньшим 8×8 пикселов, чтобы эффективно выполнять кодирование даже для такой области, как граница между объектами, имеющей небольшую корреляцию между пикселами в пространственном направлении. Дополнительно, при ортогональном преобразовании, сжатие и кодирование могут быть выполнены посредством адаптивного переключения между DCT 8×8 пикселов, имеющими точность в целый пиксел, и DCT 4×4 пикселов, имеющими точность в целый пиксел, на основе макроблока.
[0006] В соответствии с таким традиционным международным стандартизированным способом кодирования видеоизображения, в частности, когда разрешение изображения становится более высоким как следствие фиксированного размера макроблока, легко локализуется область, которая покрывается посредством каждого макроблока, поскольку размер макроблока является фиксированным. Как результат, возникает случай, в котором периферийный макроблок находится в идентичном режиме кодирования, или идентичный вектор движения выделяется периферийному макроблоку. В таком случае, поскольку увеличивается объем служебной информации режима кодирования, информации вектора движения и т.д., которые кодируются, даже если эффективность предсказания не повышается, эффективность кодирования всего кодера уменьшается.
[0007] Чтобы разрешать такую проблему, раскрывается устройство, которое переключается между размерами макроблоков в соответствии с разрешением или контентом изображения (например, см. патентную ссылку 1). Устройство кодирования движущихся изображений, раскрытое посредством патентной ссылки 1, может выполнять сжатие и кодирование посредством переключения между выбираемыми размерами блоков ортогонального преобразования или между выбираемыми наборами размеров блоков ортогонального преобразования в соответствии с размером макроблока.
Документы предшествующего уровня техники
Патентная ссылка
[0008] Патентная ссылка 1: WO 2007/034918
Сущность изобретения
Задачи, которые должны быть решены изобретением
[0009] Тем не менее, проблема традиционных международных стандартизированных способов кодирования видеоизображения и изобретения, раскрытого посредством патентной ссылки 1, заключается в том, что поскольку преобразование не может быть выполнено посредством переключения между множеством размеров блоков ортогонального преобразования в каждом макроблоке, эффективность кодирования уменьшается, в частности, когда в макроблоке существует объект, имеющий различное перемещение или различный шаблон.
[0010] Настоящее изобретение осуществлено, чтобы разрешать вышеуказанную проблему, и, следовательно, цель настоящего изобретения заключается в том, чтобы предоставлять устройство кодирования движущихся изображений, которое может выполнять сжатие и кодирование посредством адаптивного переключения между размерами блоков ортогонального преобразования для каждой области, которая является единицей для предсказания с компенсацией движения в каждом макроблоке, и устройство декодирования движущихся изображений.
Средство для решения задач
[0011] В соответствии с настоящим изобретением, предусмотрено устройство кодирования движущихся изображений, включающее в себя: модуль разделения на блоки для разделения введенного изображения на макроблочные изображения двух или более блоков, каждое из которых имеет предварительно определенный размер, и разделения каждого из макроблочных изображений на блочное изображение одного или более блоков согласно режиму кодирования, чтобы выводить блочное изображение; модуль внутреннего предсказания для выполнения, когда в него вводится блочное изображение, внутрикадрового предсказания для блочного изображения посредством использования сигнала изображения в кадре, чтобы формировать предсказанное изображение; модуль предсказания с компенсацией движения для выполнения, когда в него вводится блочное изображение, предсказания с компенсацией движения изображения в блоке посредством использования одного или более кадров опорных изображений, чтобы формировать предсказанное изображение; модуль преобразования/квантования для выполнения процесса преобразования и квантования для сигнала разности предсказания, который формируется посредством вычитания предсказанного изображения, выведенного из любого из модуля внутреннего предсказания и модуля предсказания с компенсацией движения, из блочного изображения, выведенного из модуля разделения на блоки, чтобы формировать сжатые данные; модуль кодирования переменной длины для энтропийного кодирования сжатых данных, чтобы мультиплексировать сжатые данные, энтропийно кодированные таким образом, в поток битов; и модуль управления кодированием для выбора определенного размера блока преобразования из набора размеров блоков преобразования, предварительно определенных для блочного изображения, чтобы сообщать размер блока преобразования, выбранный таким образом, в модуль преобразования/квантования, при этом модуль преобразования/квантования разделяет сигнал разности предсказания на блоки, имеющие размер блока преобразования, сообщенный в него из модуля управления кодированием, и выполняет процесс преобразования и квантования для каждого из блоков, чтобы формировать сжатые данные.
[0012] В соответствии с настоящим изобретением, предусмотрено устройство декодирования движущихся изображений, включающее в себя: модуль декодирования переменной длины для приема потока битов, введенного в него и кодированного со сжатием в единицах каждого из макроблоков, имеющих предварительно определенный размер, на которые разделено изображение, и затем энтропийного декодирования режима кодирования в единицах одного из упомянутых макроблоков из упомянутого потока битов, и для энтропийного декодирования параметров предсказания, информации, указывающей размер блока преобразования, и сжатых данных в единицах одного из макроблоков, на которые разделено изображение согласно упомянутому декодированному режиму кодирования; модуль внутреннего предсказания для формирования, когда в него вводятся упомянутые параметры предсказания, предсказанного изображения посредством использования режима внутреннего предсказания и сигнала декодированного изображения в кадре, которые включены в параметры предсказания; модуль предсказания с компенсацией движения для выполнения, когда в него вводятся упомянутые параметры предсказания, предсказания с компенсацией движения посредством использования вектора движения, включенного в параметры предсказания, и опорного изображения, указываемого посредством индекса опорного изображения, включенного в параметры предсказания, чтобы формировать предсказанное изображение; модуль обратного квантования/обратного преобразования для выполнения процесса обратного квантования и обратного преобразования для упомянутых сжатых данных посредством использования упомянутой информации, указывающей размер блока преобразования, чтобы формировать декодированный сигнал разности предсказания; и модуль суммирования для суммирования предсказанного изображения, выведенного из любого из упомянутого модуля внутреннего предсказания и упомянутого модуля предсказания с компенсацией движения, с упомянутым декодированным сигналом разности предсказания, чтобы выводить сигнал декодированного изображения, в котором модуль обратного квантования/обратного преобразования определяет размер блока преобразования на основе декодированной информации, указывающей размер блока преобразования, и выполняет процесс обратного преобразования и обратного квантования для сжатых данных в единицах одного блока, имеющего размер блока преобразования.
Преимущества изобретения
[0013] Поскольку устройство кодирования движущихся изображений в соответствии с настоящим изобретением включает в себя: модуль разделения на блоки для разделения введенного изображения на макроблочные изображения двух или более блоков, каждое из которых имеет предварительно определенный размер, и разделения каждого из макроблочных изображений на блочное изображение одного или более блоков согласно режиму кодирования, чтобы выводить блочное изображение; модуль внутреннего предсказания для выполнения, когда в него вводится блочное изображение, внутрикадрового предсказания для блочного изображения посредством использования сигнала изображения в кадре, чтобы формировать предсказанное изображение; модуль предсказания с компенсацией движения для выполнения, когда в него вводится блочное изображение, предсказания с компенсацией движения изображения в блоке посредством использования одного или более кадров опорных изображений, чтобы формировать предсказанное изображение; модуль преобразования/квантования для выполнения процесса преобразования и квантования для сигнала разности предсказания, который формируется посредством вычитания предсказанного изображения, выведенного из любого из модуля внутреннего предсказания и модуля предсказания с компенсацией движения, из блочного изображения, выведенного из модуля разделения на блоки, чтобы формировать сжатые данные; модуль кодирования переменной длины для энтропийного кодирования сжатых данных, чтобы мультиплексировать сжатые данные, энтропийно кодированные таким образом, в поток битов; и модуль управления кодированием для сообщения определенного размера блока преобразования из набора размеров блоков преобразования, которые предварительно определяются для блочного изображения, в котором модуль преобразования/квантования разделяет сигнал разности предсказания на блоки, имеющие размер блока преобразования, и выполняет процесс преобразования и квантования для каждого из блоков, чтобы формировать сжатые данные, могут предоставляться устройство кодирования движущихся изображений и устройство декодирования движущихся изображений, которые могут выполнять сжатие и кодирование посредством адаптивного переключения между размерами блоков преобразования для каждой области, которая является единицей для предсказания с компенсацией движения в каждом макроблоке.
Краткое описание чертежей
[0014]
Фиг. 1 является блок-схемой, показывающей структуру устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 2A является видом, показывающим пример режимов кодирования для изображений, в каждом из которых выполняется кодирование с предсказанием в направлении времени;
Фиг. 2B является видом, показывающим другой пример режимов кодирования для изображений, в каждом из которых выполняется кодирование с предсказанием в направлении времени;
Фиг. 3 является блок-схемой, показывающей внутреннюю структуру модуля предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления;
Фиг. 4 является видом, поясняющим способ определения для определения предсказанного значения вектора движения в соответствии с режимом кодирования;
Фиг. 5 является видом, показывающим пример адаптации размера блока преобразования в соответствии с режимом кодирования;
Фиг. 6 является видом, показывающим другой пример адаптации размера блока преобразования в соответствии с режимом кодирования;
Фиг. 7 является блок-схемой, показывающей внутреннюю структуру модуля преобразования/квантования устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления;
Фиг. 8 является блок-схемой, показывающей структуру устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 9 является блок-схемой, показывающей внутреннюю структуру модуля кодирования переменной длины устройства кодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения;
Фиг. 10 является видом, показывающим пример таблицы бинаризации в состоянии, в котором по-прежнему должна быть обновлена таблица бинаризации;
Фиг. 11 является видом, показывающим пример таблицы вероятностей;
Фиг. 12 является видом, показывающим пример таблицы изменения состояний;
Фиг. 13 является видом, поясняющим процедуру формирования контекстной идентификационной информации, фиг. 13(a) является видом, показывающим таблицу бинаризации в представлении в виде двоичного дерева, и фиг. 13(b) является видом, показывающим позиционную взаимосвязь между макроблоком, который должен быть кодирован, и периферийными блоками;
Фиг. 14 является видом, показывающим пример таблицы бинаризации в состоянии, в котором обновлена таблица бинаризации;
Фиг. 15 является блок-схемой, показывающей внутреннюю структуру модуля декодирования переменной длины устройства декодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения; и
Фиг. 16 является блок-схемой, показывающей внутреннюю структуру модуля формирования интерполированных изображений, с которым предоставляется модуль предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с вариантом 3 осуществления настоящего изобретения.
Варианты осуществления изобретения
[0015] Далее, предпочтительные варианты осуществления настоящего изобретения подробнее поясняются со ссылкой на чертежи.
Вариант 1 осуществления
В этом варианте 1 осуществления, поясняется устройство кодирования движущихся изображений, которое выполняет предсказание с компенсацией движения между смежными кадрами посредством использования изображения каждого кадра видеоизображения в качестве ввода и выполняет процесс сжатия с использованием ортогонального преобразования и квантования для полученного сигнала разности предсказания и после этого выполняет кодирование переменной длины, чтобы формировать поток битов, и устройство декодирования движущихся изображений, которое декодирует поток битов.
[0016] Фиг. 1 является блок-схемой, показывающей структуру устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Устройство кодирования движущихся изображений, показанное на фиг. 1, включает в себя модуль 2 разделения на блоки для разделения изображения каждого кадра введенного видеосигнала 1 на макроблочные изображения множества блоков, каждый из которых имеет размер 4 макроблока, и дополнительного разделения каждого из макроблочных изображений на макро-/субблочное изображение 5 одного или более субблоков в соответствии с режимом 7 кодирования, чтобы выводить это макро-/субблочное изображение 5, модуль 8 внутреннего предсказания для выполнения, при приеме макро-/субблочного изображения 5, введенного в него, внутрикадрового предсказания для макро-/субблочного изображения 5 посредством использования сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, чтобы формировать предсказанное изображение 11, модуль 9 предсказания с компенсацией движения для выполнения, при приеме макро-/субблочного изображения 5, введенного в него, предсказания с компенсацией движения для макро-/субблочного изображения 5 посредством использования опорного изображения 15, сохраненного в запоминающем устройстве 14 кадров предсказания с компенсацией движения, чтобы формировать предсказанное изображение 17, модуль 6 переключения для ввода макро-/субблочного изображения 5 в любой из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения в соответствии с режимом 7 кодирования, модуль 12 вычитания для вычитания предсказанного изображения 11 или 17, которое выводится из любого из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения, из макро-/субблочного изображения 5, выведенного из модуля 2 разделения на блоки, чтобы формировать сигнал 13 разности предсказания, модуль 19 преобразования/квантования для выполнения процесса преобразования и квантования для сигнала 13 разности предсказания, чтобы формировать сжатые данные 21, модуль 23 кодирования переменной длины для энтропийного кодирования сжатых данных 21, чтобы мультиплексировать эти сжатые данные в поток 30 битов, модуль 22 обратного квантования/обратного преобразования для выполнения процесса обратного преобразования и обратного квантования для сжатых данных 21, чтобы формировать локальный декодированный сигнал 24 разности предсказания, модуль 25 суммирования для суммирования предсказанного изображения 11 или 17, выведенного из любого из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения, с выводом модуля 22 обратного квантования/обратного преобразования, чтобы формировать сигнал 26 локального декодированного изображения, запоминающее устройство 28 для внутреннего предсказания для сохранения сигнала 26 локального декодированного изображения, модуль 27 контурного фильтра для выполнения фильтрации для сигнала 26 локального декодированного изображения, чтобы формировать локальное декодированное изображение 29, и запоминающее устройство 14 кадров предсказания с компенсацией движения для сохранения локального декодированного изображения 29.
[0017] Модуль 3 управления кодированием выводит фрагменты информации, требуемые для процесса, выполняемого посредством каждого модуля (размер 4 макроблока, режимы 7 кодирования, оптимальный режим 7a кодирования, параметры 10 предсказания, оптимальные параметры 10a или 18a предсказания, параметры 20 сжатия и оптимальные параметры 20a сжатия). Далее поясняются подробности размера 4 макроблока и режима 7 кодирования. Подробности других фрагментов информации упоминаются ниже.
[0018] Модуль 3 управления кодированием сообщает в модуль 2 разделения на блоки размер 4 макроблока изображения каждого кадра введенного видеосигнала 1, а также сообщает в модуль 2 разделения на блоки все выбираемые режимы 7 кодирования в соответствии с типом изображения для каждого макроблока, который должен быть кодирован. Хотя модуль 3 управления кодированием может выбирать определенный режим кодирования из набора режимов кодирования, этот набор режимов кодирования устанавливается произвольно. Например, модуль управления кодированием может выбирать определенный режим кодирования из набора, показанного на фиг. 2A или 2B, который упоминается ниже.
[0019] Фиг. 2A является видом, показывающим пример режимов кодирования для P (предсказанного) изображения, в каждом из которых выполняется кодирование с предсказанием в направлении времени. На фиг. 2A, mb_mode0-mb_mode2 показывают режимы (взаимные), в каждом из которых макроблок (пиксельный блок MxL) кодируется посредством использования межкадрового предсказания. Mb_mode0 представляет собой режим, в котором вектор движения выделяется всему макроблоку, mc_mode1 и mc_mode2 представляют собой режимы, в каждом из которых макроблок разделяется на равные части, которые выравниваются горизонтально или вертикально, и различные векторы движения выделяются субблокам, на которые разделяется макроблок, соответственно. Mc_mode3 представляет собой режим, в котором макроблок разделяется на четыре части, и различные режимы кодирования (sub_mb_mode) выделяются четырем субблокам, на которые разделяется макроблок, соответственно.
[0020] Sub_mb_mode0-sub_mb_mode4 представляют собой режимы, каждый из которых, когда mb_mode3 выбирается в качестве режима кодирования макроблока, может выделяться каждому из четырех субблоков (пиксельных блоков mxl), на которые разделяется макроблок. Sub_mb_mode0 представляет собой режим (внутренний), в котором субблок кодируется посредством использования внутрикадрового предсказания. Другие режимы представляют собой режимы (взаимные), посредством которых субблок кодируется посредством использования межкадрового предсказания. Sub_mb_mode1 представляет собой режим, в котором один вектор движения выделяется всему субблоку, sub_mc_mode2, и sub_mc_mode3 представляют собой режимы, в каждом из которых субблок разделяется на равные части, которые выравниваются горизонтально или вертикально, и различные векторы движения выделяются субблокам, на которые разделяется субблок, соответственно, и sub_mb_mode4 представляет собой режим, в котором субблок разделяется на четыре части, и различные векторы движения выделяются четырем субблокам, на которые разделяется субблок, соответственно.
[0021] Дополнительно, фиг. 2B является видом, показывающим другой пример режимов кодирования для P-изображения, в каждом из которых выполняется кодирование с предсказанием в направлении времени. На фиг. 2B, mb_mode 0-6 представляют собой режимы (взаимные), в каждом из которых макроблок (пиксельный блок MxL) кодируется посредством использования межкадрового предсказания. Mb_mode0 представляет собой режим, в котором один вектор движения выделяется всему макроблоку, и mb_mode1-mb_mode6 представляют собой режимы, в каждом из которых макроблок разделяется на две части, которые выравниваются горизонтально, вертикально или по диагонали, и различные векторы движения выделяются двум субблокам, на которые разделяется макроблок, соответственно. Mb_mode7 представляет собой режим, в котором макроблок разделяется на четыре части, и различные режимы кодирования (sub_mb_mode) выделяются четырем субблокам, на которые разделяется макроблок, соответственно.
[0022] Sub_mb_mode0-sub_mb_mode8 представляют собой режимы, каждый из которых, когда mb_mode7 выбирается в качестве режима кодирования макроблока, может выделяться каждому из четырех субблоков (пиксельных блоков mxl), на которые разделяется макроблок. sub_mb_mode0 представляет собой режим (внутренний), в котором субблок кодируется посредством использования внутрикадрового предсказания. Другие режимы представляют собой режимы (взаимные), посредством которых субблок кодируется посредством использования межкадрового предсказания. Sub_mb_mode1 представляет собой режим, в котором один вектор движения выделяется всему субблоку, sub_mb_mode2-sub_mb_mode7 представляют собой режимы, в каждом из которых субблок разделяется на две части, которые выравниваются горизонтально, вертикально или по диагонали, и различные векторы движения выделяются двум субблокам, на которые разделяется субблок, соответственно. Sub_mb_mode8 представляет собой режим, в котором субблок разделяется на четыре части, и различные векторы движения выделяются четырем субблокам, на которые разделяется субблок, соответственно.
[0023] Модуль 2 разделения на блоки разделяет изображение каждого кадра введенного видеосигнала 1, введенного в устройство кодирования движущихся изображений, на макроблочные изображения, имеющие размер 4 макроблока, сообщенный в него посредством модуля 3 управления кодированием. Помимо этого, когда режим 7 кодирования, сообщенный в него из модуля 3 управления кодированием, включает в себя режим (один из sub_mb_mode1-4 по фиг. 2A или один из sub_mb_mode1-sub_mb_mode8 по фиг. 2B), в котором различные режимы кодирования, соответственно, выделяются субблокам, на которые разделяется макроблок, модуль 2 разделения на блоки разделяет каждое макроблочное изображение на субблочные изображения, показанные посредством режима 7 кодирования. Следовательно, блочное изображение, выведенное из модуля 2 разделения на блоки, является или одним из макроблочного изображения или субблочного изображения в соответствии с режимом 7 кодирования. Далее, это блочное изображение упоминается как макро-/субблочное изображение 5.
[0024] Когда каждый кадр введенного видеосигнала 1 имеет горизонтальный или вертикальный размер, который не является целым кратным горизонтального размера или вертикального размера для размера 4 макроблока, кадр (расширенный кадр), в котором пикселы дополнительно предоставляются в горизонтальном или вертикальном направлении таким образом, что каждый кадр введенного видеосигнала 1 имеет горизонтальный или вертикальный размер, который является целым кратным горизонтального размера или вертикального размера для размера макроблока, формируется для каждого кадра введенного видеосигнала 1. В качестве способа формирования для формирования пикселов в расширенной области, когда пикселы суммируются, чтобы расширять каждый кадр, например, в вертикальном направлении, существует способ заполнения расширенной области посредством повторного копирования строки пикселов, идущих по нижнему краю исходного кадра, или посредством повторного формирования строки пикселов, имеющих фиксированное пиксельное значение (серый цвет, черный цвет, белый цвет и т.п.). Также, когда пикселы суммируются, чтобы расширять каждый кадр в горизонтальном направлении, существует способ заполнения расширенной области посредством повторного копирования строки пикселов, идущих по правому краю исходного кадра, или посредством повторного формирования строки пикселов, имеющих фиксированное пиксельное значение (серый цвет, черный цвет, белый цвет и т.п.). Расширенный кадр, который формируется для каждого кадра введенного видеосигнала 1, и размер кадра которого является целым кратным размера макроблока, вместо изображения каждого кадра введенного видеосигнала 1 вводится в модуль 2 разделения на блоки.
[0025] Размер 4 макроблока и размер кадра (горизонтальный размер и вертикальный размер) каждого кадра введенного видеосигнала 1 выводятся в модуль 23 кодирования переменной длины так, что они мультиплексируются в поток битов в единицах одной последовательности, которая состоит из одного или более кадров или в единицах одного изображения.
[0026] Значение размера макроблока может быть альтернативно задано посредством профиля и т.п. вместо мультиплексирования непосредственно в поток битов. В этом случае, идентификационная информация для идентификации профиля на основе последовательности мультиплексируется в поток битов.
[0027] Модуль 6 переключения является переключателем для переключения между входными назначениями макро-/субблочного изображения 5 в соответствии с режимом 7 кодирования. Когда режим 7 кодирования представляет собой режим, в котором макро-/субблочное изображение кодируется посредством использования внутрикадрового предсказания (далее в настоящем документе называемый режимом внутрикадрового предсказания), этот модуль 6 переключения вводит макро-/субблочное изображение 5 в модуль 8 внутреннего предсказания, тогда как когда режим 7 кодирования представляет собой режим, в котором макро-/субблочное изображение кодируется посредством использования межкадрового предсказания (далее в настоящем документе называемый режимом межкадрового предсказания), модуль переключения вводит макро-/субблочное изображение 5 в модуль 9 предсказания с компенсацией движения.
[0028] Модуль 8 внутреннего предсказания выполняет внутрикадровое предсказание для макро-/субблочного изображения 5, введенного в него, в единицах одного макроблока, который должен быть кодирован, имеющего размер, указанный посредством размера 4 макроблока, или в единицах одного субблока, указываемого посредством режима 7 кодирования. Модуль 8 внутреннего предсказания формирует предсказанное изображение 11 посредством использования сигнала изображения в кадре, сохраненном в запоминающем устройстве 28 для внутреннего предсказания, для каждого из всех режимов внутреннего предсказания, включенных в параметры 10 предсказания, сообщенные в него из модуля 3 управления кодированием.
[0029] Далее поясняются подробности параметров 10 предсказания. Когда режим 7 кодирования представляет собой режим внутрикадрового предсказания, модуль 3 управления кодированием указывает режим внутреннего предсказания в качестве параметра 10 предсказания, соответствующего режиму 7 кодирования. В качестве этого режима внутреннего предсказания, например, может быть режим, в котором макроблок или субблок разделяется на блоки 4×4 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, режим, в котором макроблок или субблок разделяется на блоки 8x8 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, режим, в котором макроблок или субблок разделяется на блоки 16×16 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, и режим, в котором предсказанное изображение формируется из изображения уменьшенной внутренней части макроблока или субблока.
[0030] Модуль 9 предсказания с компенсацией движения указывает опорное изображение 15, которое используется для формирования предсказанного изображения, из данных относительно одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и выполняет предсказание с компенсацией движения посредством использования этого опорного изображения 15 и макро-/субблочного изображения 5 в соответствии с режимом 7 кодирования, сообщенным в него из модуля 3 управления кодированием, чтобы формировать параметры 18 предсказания и предсказанное изображение 17.
[0031] Далее поясняются подробности параметров 18 предсказания. Когда режим 7 кодирования представляет собой режим межкадрового предсказания, модуль 9 предсказания с компенсацией движения определяет векторы движения и идентификационный номер (индекс опорного изображения) и т.п. опорного изображения, указываемого посредством каждого из векторов движения, в качестве параметров 18 предсказания, соответствующих режиму 7 кодирования. Подробности способа формирования для формирования параметров 18 предсказания упоминаются ниже.
[0032] Модуль 12 вычитания вычитает любое из предсказанного изображения 11 и предсказанного изображения 17 из макро-/субблочного изображения 5, чтобы получать сигнал 13 разности предсказания. Сигнал 13 разности предсказания формируется для каждого из всех предсказанных изображений 11, которые формирует модуль 8 внутреннего предсказания, в соответствии со всеми режимами внутреннего предсказания, указываемыми посредством параметров 10 предсказания.
[0033] Сигнал 13 разности предсказания, который формируется в соответствии с каждым из всех режимов внутреннего предсказания, указываемых посредством параметров 10 предсказания, оценивается посредством модуля 3 управления кодированием, и определяются оптимальные параметры 10a предсказания, включающие в себя оптимальный режим внутреннего предсказания. В качестве способа оценки сигнала разности предсказания, модуль управления кодированием использует, например, способ вычисления затрат J2 на кодирование, который упоминается ниже, посредством использования сжатых данных 21, сформированных посредством преобразования и квантования сигнала 13 разности предсказания. Модуль управления кодированием затем выбирает режим внутреннего предсказания, который минимизирует затраты J2 на кодирование.
[0034] Модуль 3 управления кодированием оценивает сигнал 13 разности предсказания, который формируется для каждого из всех режимов, включенных в режимы 7 кодирования, либо посредством модуля 8 внутреннего предсказания, либо посредством модуля 9 предсказания с компенсацией движения, и определяет оптимальный режим 7a кодирования, который предоставляет оптимальную степень эффективности кодирования, из режимов 7 кодирования на основе результата оценки. Модуль 3 управления кодированием дополнительно определяет оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия, соответствующие оптимальному режиму 7a кодирования, из параметров 10 или 18 предсказания и параметров 20 сжатия. Процедура определения оптимальных параметров предсказания и процедура определения оптимальных параметров сжатия упоминаются ниже. Как упомянуто выше, в случае режима внутрикадрового предсказания, режим внутреннего предсказания включается в параметры 10 предсказания и в оптимальные параметры 10a предсказания. Напротив, в случае режима межкадрового предсказания, векторы движения, идентификационный номер (индекс опорного изображения) опорного изображения, указываемого посредством каждого из векторов движения, и т.д. включаются в параметры 18 предсказания и в оптимальные параметры 18a предсказания. Дополнительно, размер блока преобразования, размер шага квантования и т.д. включаются в параметры 20 сжатия и в оптимальные параметры 20a сжатия.
[0035] В результате выполнения этой процедуры определения, модуль 3 управления кодированием выводит оптимальный режим 7a кодирования, оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия для макроблока или субблока, который должен быть кодирован, в модуль 23 кодирования переменной длины. Модуль 3 управления кодированием также выводит оптимальные параметры 20a сжатия из параметров 20 сжатия в модуль 19 преобразования/квантования и в модуль 22 обратного квантования/обратного преобразования.
[0036] Модуль 19 преобразования/квантования выбирает сигнал 13 разности предсказания (далее в настоящем документе называемый оптимальным сигналом 13a разности предсказания), который соответствует предсказанному изображению 11 или 17, сформированному на основе оптимального режима 7a кодирования и оптимальных параметров 10a или 18a предсказания, которые определяет модуль 3 управления кодированием, из множества сигналов 13 разности предсказания, которые, соответственно, формируются для всех режимов, включенных в режимы 7 кодирования, выполняет процесс преобразования, к примеру, DCT, для этого оптимального сигнала 13a разности предсказания на основе размера блока преобразования в оптимальных параметрах 20a сжатия, определенных посредством модуля 3 управления кодированием, чтобы вычислять коэффициенты преобразования, а также квантует эти коэффициенты преобразования на основе размера шага квантования в оптимальных параметрах 20a сжатия, сообщенных в него из модуля 3 управления кодированием, и затем выводит сжатые данные 21, которые являются коэффициентами преобразования, квантованными таким образом, в модуль 22 обратного квантования/обратного преобразования и в модуль 23 кодирования переменной длины.
[0037] Модуль 22 обратного квантования/обратного преобразования обратно квантует сжатые данные 21, введенные в него из модуля 19 преобразования/квантования, посредством использования оптимальных параметров 20a сжатия и затем выполняет процесс обратного преобразования, к примеру, обратное DCT, чтобы формировать локальный декодированный сигнал 24 разности предсказания сигнала 13a разности предсказания, и выводит этот локальный декодированный сигнал 24 разности предсказания в модуль 25 суммирования.
[0038] Модуль 25 суммирования суммирует локальный декодированный сигнал 24 разности предсказания и предсказанное изображение 11 или 17, чтобы формировать сигнал 26 локального декодированного изображения, и выводит этот сигнал 26 локального декодированного изображения в модуль 27 контурного фильтра при сохранении сигнала локального декодированного изображения в запоминающем устройстве 28 для внутреннего предсказания. Этот сигнал 26 локального декодированного изображения служит в качестве сигнала изображения для внутрикадрового предсказания.
[0039] Модуль 27 контурного фильтра выполняет предварительно определенный процесс фильтрации для сигнала 26 локального декодированного изображения, введенного в него из модуля 25 суммирования, и сохраняет локальное декодированное изображение 29, для которого модуль контурного фильтра выполняет процесс фильтрации, в запоминающем устройстве 14 кадров предсказания с компенсацией движения. Это локальное декодированное изображение 29 служит в качестве опорного изображения 15 для предсказания с компенсацией движения. Процесс фильтрации посредством модуля 27 контурного фильтра может быть выполнен в единицах одного макроблока сигнала 26 локального декодированного изображения, введенного в модуль контурного фильтра, или может быть выполнен для одного полноэкранного кадра макроблоков после того, как сигнал 26 локального декодированного изображения, соответствующий одному полноэкранному кадру макроблоков, вводится в модуль контурного фильтра.
[0040] Модуль 23 кодирования переменной длины энтропийно кодирует сжатые данные 21, выведенные в него из модуля 19 преобразования/квантования, оптимальный режим 7a кодирования, выведенный в него из модуля 3 управления кодированием, оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия, чтобы формировать поток 30 битов, показывающий результаты этих кодирований. Оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия кодируются в единицах одного элемента в соответствии с режимом кодирования, указываемым посредством оптимального режима 7a кодирования.
[0041] Как упомянуто выше, в устройстве кодирования движущихся изображений в соответствии с этим вариантом 1 осуществления, модуль 9 предсказания с компенсацией движения и модуль 19 преобразования/квантования работают совместно с модулем 3 управления кодированием, чтобы определять режим кодирования, параметры предсказания и параметры сжатия, которые предоставляют оптимальную степень эффективности кодирования (т.е. оптимальный режим 7a кодирования, оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия).
[0042] Далее поясняется процедура определения, которая выполняется посредством модуля 3 управления кодированием, для определения режима кодирования, который предоставляет оптимальную степень эффективности кодирования, параметров предсказания и параметров сжатия в порядке 1) параметры предсказания, 2) параметры сжатия и 3) режим кодирования.
[0043]
1. Процедура для определения параметров предсказания
Далее поясняется процедура для определения, когда режим 7 кодирования представляет собой режим межкадрового предсказания, параметров 18 предсказания, включающих в себя векторы движения, связанные с межкадровым предсказанием, и идентификационный номер (индекс опорного изображения) и т.п. опорного изображения, указываемого посредством каждого из векторов движения.
[0044] Модуль 9 предсказания с компенсацией движения определяет параметры 18 предсказания для каждого из всех режимов 7 кодирования (например, набора режимов кодирования, показанных на фиг. 2A или 2B), которые сообщаются из модуля 3 управления кодированием в модуль 9 предсказания с компенсацией движения, совместно с модулем 3 управления кодированием. Далее поясняются подробности процедуры.
[0045] Фиг. 3 является блок-схемой, показывающей внутреннюю структуру модуля 9 предсказания с компенсацией движения. Модуль 9 предсказания с компенсацией движения, показанный на фиг. 3, включает в себя модуль 40 разделения на области компенсации движения, модуль 42 обнаружения движения и модуль 43 формирования интерполированных изображений. Дополнительно, входные данные, введенные в модуль предсказания с компенсацией движения, включают в себя режим 7 кодирования, введенный в него из модуля 3 управления кодированием, макро-/субблочное изображение 5, введенное в него из модуля 6 переключения, и опорное изображение 15, введенное в него из запоминающего устройства 14 кадров предсказания с компенсацией движения.
[0046] Модуль 40 разделения на области компенсации движения разделяет макро-/субблочное изображение 5, введенное из модуля 6 переключения, на изображения блоков, каждый из которых является единицей для компенсации движения, в соответствии с режимом 7 кодирования, сообщенным в него из модуля 3 управления кодированием, и выводит это изображение 41 блоков областей компенсации движения в модуль 42 обнаружения движения.
[0047] Модуль 43 формирования интерполированных изображений указывает опорное изображение 15, которое используется для формирования предсказанного изображения, из данных относительно одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и модуль 42 обнаружения движения обнаруживает вектор 44 движения в предварительно определенном диапазоне поиска движения для опорного изображения 15, указываемого посредством модуля формирования интерполированных изображений. Модуль обнаружения движения выполняет обнаружение вектора движения посредством использования вектора движения, имеющего точность в виртуальные выборки, как в случае MPEG-4 AVC-стандартов и т.п. Этот способ обнаружения включает в себя этапы, для пиксельной информации (называемой целыми пикселами), которую имеет опорное изображение, формирования виртуальных выборок (пикселов) между целыми пикселами посредством реализации арифметической операции интерполяции для целых пикселов и использования виртуальных выборок в качестве предсказанного изображения. В случае MPEG-4 AVC-стандартов, в соответствии со способом обнаружения, виртуальные выборки, имеющие точность в 1/8 пиксела, могут быть сформированы и использованы. В случае MPEG-4 AVC-стандартов, виртуальные выборки, имеющие точность в 1/2 пиксела, формируются посредством реализации арифметической операции интерполяции с 6-отводным фильтром с использованием шести целых пикселов, идущих в вертикальном или горизонтальном направлении. Виртуальные выборки, имеющие точность в 1/4 пиксела, формируются посредством реализации арифметической операции интерполяции с использованием фильтра для получения среднего значения смежных 1/2 пикселов или целых пикселов.
[0048] Также в модуле 9 предсказания с компенсацией движения в соответствии с этим вариантом 1 осуществления, модуль 43 формирования интерполированных изображений формирует предсказанное изображение 45 виртуальных пикселов в соответствии с точностью вектора 44 движения, сообщенного в него из модуля 42 обнаружения движения. Далее показывается пример процедуры обнаружения для обнаружения вектора движения, имеющего точность в виртуальный пиксел.
[0049]
Процедура I обнаружения вектора движения
Модуль 43 формирования интерполированных изображений формирует предсказанное изображение 45 для вектора 44 движения, имеющего точность в целый пиксел, в предварительно определенном диапазоне поиска движения изображения 41 блоков областей компенсации движения. Предсказанное изображение 45 (предсказанное изображение 17), сформированное с точностью в целый пиксел, выводится в модуль 12 вычитания и вычитается из изображения 41 блоков областей компенсации движения (макро-/субблочного изображения 5) посредством модуля 12 вычитания, так что результат вычитания задается как сигнал 13 разности предсказания. Модуль 3 управления кодированием оценивает степень эффективности предсказания для сигнала 13 разности предсказания и для вектора 44 движения (параметра 18 предсказания), имеющего точность в целый пиксел. При оценке степени эффективности предсказания затраты J1 на предсказание вычисляются в соответствии, например, со следующим уравнением (1), и определяется вектор 44 движения, имеющий точность в целый пиксел, который минимизирует затраты J1 на предсказание в предварительно определенном диапазоне поиска движения.
J1=D1+λR1 (1)
Предполагается, что D1 и R1 используются в качестве оцененных значений. D1 является суммой абсолютных значений (SAD) в макроблоке или субблоке сигнала разности предсказания, R1 является оцененным объемом кода вектора движения и идентификационного номера опорного изображения, указываемого посредством этого вектора движения, и λ является положительным числом.
[0050] При определении оцененного значения R1 объем кода вектора движения предсказывается посредством использования значения смежного вектора движения в качестве значения вектора движения в каждом режиме, показанном на фиг. 2A или 2B, и значение разности предсказания энтропийно кодируется на основе распределения вероятностей. В качестве альтернативы, оцененное значение определяется посредством выполнения оценки объема кода, соответствующего оцененному значению.
[0051] Фиг. 4 является видом, поясняющим способ определения для определения предсказанного значения вектора движения (далее в настоящем документе называемого предсказанным вектором) в каждом режиме 7 кодирования, показанном на фиг. 2B. Ссылаясь на фиг. 4, для прямоугольного блока в mb_mode0, sub_mb_mode1 и т.п., предсказанный вектор PMV этого прямоугольного блока вычисляется в соответствии со следующим уравнением (2) посредством использования уже кодированных векторов MVa, MVb и MVc движения блоков, расположенных в левой стороне (позиция A), в верхней стороне (позиция B) и в верхней правой стороне (позиция C) прямоугольного блока. Median() соответствует процессу медианной фильтрации и является функцией вывода медианы векторов MVa, MVb и MVc движения.
PMV=median(MVa,MVb,MVc) (2)
[0052] Напротив, в случае Г-образных блоков, имеющих Г-образную форму mb_mode1, sub_mb_mode2, mb_mode2, sub_mb_mode3, mb_mode3, sub_mb_mode4, mb_mode4 и sub_mb_mode5, позиции A, B и C, в которых управляется медиана, изменяются в соответствии с Г-образной формой, чтобы позволить применять процесс, идентичный процессу, выполняемому для прямоугольных блоков, к каждому Г-образному блоку. Как результат, предсказанное значение вектора движения может быть вычислено в соответствии с формой каждой области выделения векторов движения без изменения способа вычисления предсказанного вектора PMV, и затраты оцененного значения R1 могут быть уменьшены до небольших.
[0053] Процедура II обнаружения вектора движения
Модуль 43 формирования интерполированных изображений формирует предсказанное изображение 45 для одного или более векторов 44 движения, имеющих точность в 1/2 пиксела, расположенных около вектора движения, имеющего точность в целый пиксел, который определяется в соответствии с вышеуказанной "процедурой I обнаружения вектора движения". После этого способом, идентичным способу, которым выполняется вышеуказанная "процедура I обнаружения вектора движения", предсказанное изображение 45 (предсказанное изображение 17), сформированное с точностью в 1/2 пиксела, вычитается из изображения 41 блоков областей компенсации движения (макро-/субблочного изображения 5) посредством модуля 12 вычитания, так что получается сигнал 13 разности предсказания. Далее, модуль 3 управления кодированием оценивает степень эффективности предсказания для этого сигнала 13 разности предсказания и для вектора 44 движения (параметра 18 предсказания), имеющего точность в 1/2 пиксела, и определяет вектор 44 движения, имеющий точность в 1/2 пиксела, который минимизирует затраты J1 на предсказание, из одного или более векторов движения, имеющих точность в 1/2 пиксела, расположенных около вектора движения, имеющего точность в целый пиксел.
[0054]
Процедура III обнаружения вектора движения
Также для векторов движения, имеющих точность в 1/4 пиксела, модуль 3 управления кодированием и модуль 9 предсказания с компенсацией движения определяют вектор 44 движения, имеющий точность в 1/4 пиксела, который минимизирует затраты J1 на предсказание, из одного или более векторов движения, имеющих точность в 1/4 пиксела, расположенных около вектора движения, имеющего точность в 1/2 пиксела, который определяется в соответствии с вышеуказанной "процедурой II обнаружения вектора движения".
[0055]
Процедура IV обнаружения вектора движения
После этого, модуль 3 управления кодированием и модуль 9 предсказания с компенсацией движения аналогично обнаруживают вектор движения, имеющий точность в виртуальный пиксел, пока вектор движения, обнаруженный таким образом, имеет предварительно определенную степень точности.
[0056] Хотя в этом варианте осуществления показывается пример, в котором модуль управления кодированием и модуль предсказания с компенсацией движения обнаруживают вектор движения, имеющий точность в виртуальный пиксел, пока вектор движения, обнаруженный таким образом, имеет предварительно определенную степень точности, обнаружение вектора движения, имеющего точность в виртуальный пиксел, может прерываться, когда, например, пороговое значение для затрат на предсказание предварительно определяется, и затраты J1 на предсказание становятся меньше предварительно определенного порогового значения до того, как обнаруженный вектор движения имеет предварительно определенную степень точности.
[0057] Вектор движения может принудительно обращаться к пикселу, расположенному вне кадра, заданного посредством размера опорного кадра. В этом случае, необходимо формировать пикселы, расположенные вне кадра. В качестве способа формирования пикселов, расположенных вне кадра, существует способ заполнения внешней области пикселами, идущими по краю экрана кадра.
[0058] Когда размер кадра для каждого кадра введенного видеосигнала 1 не является целым кратным размера макроблока, и расширенный кадр вводится вместо каждого кадра введенного видеосигнала 1, размер, который расширяется до целого кратного размера макроблока (размера расширенного кадра), задается как размер кадра опорного кадра. Напротив, когда локальная декодированная часть расширенной области не упоминается, а только локальная декодированная часть исходного кадра упоминается как пикселы в кадре, размер кадра исходного введенного видеосигнала задается как размер кадра опорного кадра.
[0059] Для изображения 41 блоков областей компенсации движения каждого из множества из блоков, на которые разделяется макро-/субблочное изображение 5 и которые являются единицей для компенсации движения, указываемой посредством режима 7 кодирования, модуль 9 предсказания с компенсацией движения выводит как вектор движения с точностью в виртуальный пиксел, имеющий предварительно определенную степень точности, которая определяется для изображения блоков областей компенсации движения, так и идентификационный номер опорного изображения, указываемого посредством вектора движения, в качестве параметров 18 предсказания. Модуль 9 предсказания с компенсацией движения также выводит предсказанное изображение 45 (предсказанное изображение 17), сформированное с использованием параметров 18 предсказания, в модуль 12 вычитания, и предсказанное изображение вычитается из макро-/субблочного изображения 5 посредством модуля 12 вычитания, так что получается сигнал 13 разности предсказания. Сигнал 13 разности предсказания, выведенный из модуля 12 вычитания, выводится в модуль 19 преобразования/квантования.
[0060]
2. Процедура определения для определения параметров сжатия
Далее поясняется процедура для определения параметра 20 сжатия (размера блока преобразования), которая используется при выполнении процесса преобразования и квантования для сигнала 13 разности предсказания, сформированного на основе параметров 18 предсказания, определенных для каждого режима 7 кодирования в соответствии с вышеуказанной "1. Процедурой определения для определения параметров предсказания".
[0061] Фиг. 5 является видом, показывающим пример адаптации размера блока преобразования в соответствии с режимом 7 кодирования, показанным на фиг. 2B. Ссылаясь на фиг. 5, блок 32×32 пиксела используется в качестве примера блока M×L пикселов. Когда режим, указываемый посредством режима 7 кодирования, является одним из mb_mode0-mb_mode6, либо размер 16×16 пикселов, либо размер 8×8 пикселов можно адаптивно выбирать в качестве размера блока преобразования. Когда режим 7 кодирования указывает mb_mode7, либо размер 8×8 пикселов, либо размер 4×4 пикселов можно адаптивно выбирать в качестве размера блока преобразования для каждого из субблоков 16×16 пикселов, на которые разделяется каждый макроблок. Набор выбираемых размеров блоков преобразования для каждого режима кодирования может быть задан из произвольных прямоугольных размеров блоков, каждый из которых равен или меньше размера равных субблоков, на которые разделяется макроблок в соответствии с режимом кодирования.
[0062] Фиг. 6 является видом, показывающим другой пример адаптации размера блока преобразования в соответствии с режимом 7 кодирования, показанным на фиг. 2B. В примере по фиг. 6, когда режим, указываемый посредством режима 7 кодирования, является вышеуказанным mb_mode0, mb_mode5 или mb_mode6, в дополнение к размеру 16×16 пикселов и размеру 8×8 пикселов, размер блока преобразования в соответствии с формой каждого субблока, который является единицей для компенсации движения, можно выбирать в качестве выбираемого размера блока преобразования. В случае mb_mode0 размер блока преобразования можно адаптивно выбирать из размера 16×16 пикселов, размера 8×8 пикселов и размера 32×32 пиксела. В случае mb_mode5 размер блока преобразования можно адаптивно выбирать из размера 16×16 пикселов, размера 8×8 пикселов и размера 16×32 пиксела. В случае mb_mode6 размер блока преобразования можно адаптивно выбирать из размера 16×16 пикселов, размера 8×8 пикселов и размера 32×16 пикселов. Дополнительно, хотя не проиллюстрировано, в случае mb_mode7, размер блока преобразования можно адаптивно выбирать из размера 16×16 пикселов, размера 8×8 пикселов и размера 16×32 пиксела. В случае одного из mb_mode1-mb_mode4 адаптация может быть выполнена таким образом, что размер блока преобразования выбирается из размера 16×16 пикселов и размера 8×8 пикселов для области, которая не является прямоугольником, в то время как размер блока преобразования выбирается из размера 8×8 пикселов и размера 4×4 пикселов для области, которая является прямоугольником.
[0063] Модуль 3 управления кодированием задает набор размеров блоков преобразования в соответствии с режимом 7 кодирования, проиллюстрированным на фиг. 5 и 6, в качестве параметра 20 сжатия. Хотя в примерах, показанных на фиг. 5 и 6, набор выбираемых размеров блоков преобразования определяется заранее в соответствии с режимом 7 кодирования каждого макроблока, и размер блока преобразования может быть выбран адаптивно для каждого макроблока или субблока, набор выбираемых размеров блоков преобразования может быть альтернативно определен заранее в соответствии с режимом 7 кодирования (одним из sub_mb_mode1-sub_mb_mode8, показанных на фиг. 2B) каждого из субблоков, на которые аналогично разделяется каждый макроблок, и размер блока преобразования может быть выбран адаптивно для каждого из субблоков или каждого из блоков, на которые дополнительно разделяется каждый субблок. Аналогично, когда используется режим 7 кодирования, показанный на фиг. 2A, модуль 3 управления кодированием может определять набор размеров блоков преобразования в соответствии с режимом 7 кодирования заранее и может адаптивно выбирать размер блока преобразования из набора.
[0064] Модуль 19 преобразования/квантования определяет оптимальный размер блока преобразования из размеров блоков преобразования в единицах одного макроблока, имеющего размер, указываемый посредством размера 4 макроблока, или в единицах одного из субблоков, на которые дополнительно разделяется каждый макроблок в соответствии с режимом 7 кодирования, совместно с модулем 3 управления кодированием. Далее поясняются подробности процедуры для определения оптимального размера блока преобразования.
[0065] Фиг. 7 является блок-схемой, показывающей внутреннюю структуру модуля 19 преобразования/квантования. Модуль 19 преобразования/квантования, показанный на фиг. 7, включает в себя модуль 50 разделения по размерам блоков преобразования, модуль 52 преобразования и модуль 54 квантования. Дополнительно, входные данные, введенные в модуль преобразования/квантования, включают в себя параметры 20 сжатия (размер блока преобразования, размер шага квантования и т.д.), введенные в него из модуля 3 управления кодированием, и сигнал 13 разности предсказания, введенный в него из модуля 3 управления кодированием.
[0066] Модуль 50 разделения по размерам блоков преобразования преобразует сигнал 13 разности предсказания каждого макроблока или субблока, который является целью для определения размера блока преобразования, в блоки в соответствии с размером блока преобразования в параметрах 20 сжатия и выводит каждый из блоков в модуль 52 преобразования в качестве целевого блока 51 преобразования. Когда множество размеров блоков преобразования выбирается и указывается для одного макроблока или субблока посредством параметров 20 сжатия, множество размеров блоков преобразования для целевых блоков 51 преобразования последовательно выводятся в модуль 52 преобразования.
[0067] Модуль 52 преобразования выполняет DCT, целочисленное преобразование, при котором коэффициенты преобразования DCT аппроксимируются посредством целых чисел, и процесс преобразования в соответствии с таким способом преобразования, как преобразование Адамара, для объектного блока 51 преобразования, введенного в него, чтобы формировать коэффициенты 53 преобразования, и выводит коэффициенты 53 преобразования, сформированные посредством него, в модуль 54 квантования.
[0068] Модуль 54 квантования квантует коэффициенты 53 преобразования, введенные в него, в соответствии с размером шага квантования в параметрах 20 сжатия, сообщенных в него из модуля 3 управления кодированием, и выводит сжатые данные 21, которые являются квантованными коэффициентами преобразования, в модуль 22 обратного квантования/обратного преобразования и в модуль 3 управления кодированием. Когда множество размеров блоков преобразования выбирается и указывается для одного макроблока или субблока посредством параметров 20 сжатия, модуль 52 преобразования и модуль 54 квантования выполняют вышеуказанный процесс преобразования и квантования для всех размеров блоков преобразования для целевых блоков преобразования и выводят сжатые данные 21, ассоциированные с каждым из всех размеров блоков преобразования.
[0069] Сжатые данные 21, выведенные из модуля 54 квантования, вводятся в модуль 3 управления кодированием и используются для оценки степени эффективности кодирования для размера блока преобразования в параметрах 20 сжатия. Модуль 3 управления кодированием использует сжатые данные 21, полученные для каждого из всех выбираемых размеров блоков преобразования в каждом режиме кодирования, включенном в режимы 7 кодирования, чтобы вычислять затраты J2 на кодирование в соответствии, например, со следующим уравнением (3) и выбирать размер блока преобразования, который минимизирует затраты J2 на кодирование, из выбираемых размеров блоков преобразования.
J2=D2+лR2 (3)
Предполагается, что D2 и R2 используются в качестве оцененных значений. В качестве D2 может быть использована сумма искажения квадратов разности и т.п. между сигналом 26 локального декодированного изображения, который получается посредством ввода сжатых данных 21, полученных для размера блока преобразования, в модуль 22 обратного квантования/обратного преобразования и суммирования предсказанного изображения 17 с локальным декодированным сигналом 24 разности предсказания, который получается посредством выполнения процесса обратного преобразования и обратного квантования для сжатых данных 21 и макро-/субблочного изображения 5. В качестве R2, используется объем кода (или оцененный объем кода), полученный посредством фактического кодирования сжатых данных 21, полученных для размера блока преобразования, и режима 7 кодирования и параметров 10 или 18 предсказания, ассоциированных со сжатыми данными 21, посредством модуля 23 кодирования переменной длины.
[0070] После определения оптимального режима 7a кодирования в соответствии с "3. Процедурой определения для определения режима кодирования", которая упомянута ниже, модуль 3 управления кодированием выбирает размер блока преобразования, соответствующий определенному оптимальному режиму 7a кодирования, и включает размер блока преобразования в оптимальные параметры 20a сжатия и затем выводит оптимальные параметры сжатия в модуль 23 кодирования переменной длины. После энтропийного кодирования этих оптимальных параметров 20a сжатия, модуль 23 кодирования переменной длины мультиплексирует оптимальные параметры сжатия, энтропийно кодированные таким образом, в поток 30 битов.
[0071] Поскольку размер блока преобразования выбирается из набора размеров блоков преобразования (проиллюстрирован на фиг. 5 и 6), которые задаются заранее в соответствии с оптимальным режимом 7a кодирования макроблока или субблока, необходимо только назначать идентификационную информацию, к примеру, идентификатор, каждому размеру блока преобразования, включенному в каждый набор размеров блоков преобразования, энтропийно кодировать идентификационную информацию в качестве информации относительно размера блока преобразования и мультиплексировать идентификационную информацию в поток 30 битов. В этом случае идентификационная информация каждого набора размеров блоков преобразования задается заранее в устройстве декодирования. Тем не менее, поскольку устройство декодирования может определять размер блока преобразования автоматически из набора размеров блоков преобразования, когда только один размер блока преобразования включается в набор размеров блоков преобразования, устройство кодирования не обязательно должно мультиплексировать идентификационную информацию о размере блока преобразования в поток 30 битов.
[0072]
3. Процедура определения для определения режима кодирования
После того, как параметры 10 или 18 предсказания и параметры 20 сжатия для каждого из всех режимов 7 кодирования, указываемых посредством модуля 3 управления кодированием, определяются в соответствии с вышеуказанной "1. Процедурой определения для определения параметров предсказания" и "2. Процедурой определения для определения параметров сжатия", модуль 3 управления кодированием использует сжатые данные 21, которые получаются посредством дополнительного преобразования и квантования сигнала 13 разности предсказания, который получается посредством использования каждого из режимов 7 кодирования, и параметры 10 или 18 предсказания и параметры 20 сжатия в этом режиме кодирования, чтобы определять режим 7 кодирования, который уменьшает затраты J2 на кодирование до минимума в соответствии с вышеуказанным уравнением (3), и выбирает режим 7 кодирования в качестве оптимального режима 7a кодирования макроблока, обрабатываемого в данный момент.
[0073] В качестве альтернативы, модуль управления кодированием может определять оптимальный режим 7a кодирования из всех режимов кодирования, включающих в себя режим пропуска, в качестве режима макроблока или субблока, в дополнение к режимам кодирования, показанным на фиг. 2A, 2B. Режим пропуска представляет собой режим, в котором предсказанное изображение, для которого выполняется компенсация движения посредством использования вектора движения смежного макроблока или субблока, задается как сигнал локального декодированного изображения в устройстве кодирования. Поскольку необязательно вычислять параметры предсказания, помимо режимов кодирования и параметров сжатия, чтобы мультиплексировать их в поток битов, введенное изображение может быть кодировано, в то время как объем кода сокращается. Устройство декодирования выводит предсказанное изображение, для которого выполняется компенсация движения посредством использования вектора движения смежного макроблока или субблока в соответствии с процедурой, идентичной процедуре, выполняемой посредством устройства кодирования, в качестве сигнала декодированного изображения.
[0074] Когда размер кадра для каждого кадра введенного видеосигнала 1 не является целым кратным размера макроблока, и расширенный кадр вводится вместо каждого кадра введенного видеосигнала 1, может быть выполнена операция управления для выбора только режима пропуска для макроблока или субблока, включающего в себя расширенную область, и режим кодирования может быть определен таким образом, что объем кода, расходуемый на расширенную область, может сокращаться.
[0075] Модуль 3 управления кодированием выводит оптимальный режим 7a кодирования, предоставляющий оптимальную степень эффективности кодирования, которая определяется в соответствии с вышеуказанной "1. Процедурой определения для определения параметров предсказания", "2. Процедурой определения для определения параметров сжатия" и "3. Процедурой определения для определения режима кодирования", в модуль 23 кодирования переменной длины, при выборе параметров 10 или 18 предсказания, соответствующих оптимальному режиму 7a кодирования, в качестве оптимальных параметров 10a или 18a предсказания и аналогичном выборе параметров 20 сжатия, соответствующих оптимальному режиму 7a кодирования, в качестве оптимальных параметров 20a сжатия и затем выводе этих оптимальных параметров предсказания и сжатия в модуль 23 кодирования переменной длины. Модуль 23 кодирования переменной длины энтропийно кодирует оптимальный режим 7a кодирования, оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия и затем мультиплексирует их в поток 30 битов.
[0076] Дополнительно, оптимальный сигнал 13a разности предсказания, полученный из предсказанного изображения 11 или 17 на основе оптимального режима 7a кодирования, оптимальных параметров 10a или 18a предсказания и оптимального параметра 20a сжатия, которые определяются так, как описано выше, преобразуется и квантуется в сжатые данные 21 посредством модуля 19 преобразования/квантования, как упомянуто выше, и эти сжатые данные 21 энтропийно кодируются посредством модуля 23 кодирования переменной длины и мультиплексируются в поток 30 битов. Дополнительно, эти сжатые данные 21 принудительно проходят через модуль 22 обратного квантования/обратного преобразования и модуль 25 суммирования и затем становятся сигналом 26 локального декодированного изображения и вводятся в модуль 27 контурного фильтра.
[0077] Далее поясняется устройство декодирования движущихся изображений в соответствии с этим вариантом 1 осуществления. Фиг. 8 является блок-схемой, показывающей структуру устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Устройство декодирования движущихся изображений, показанное на фиг. 8, включает в себя модуль 61 декодирования переменной длины для энтропийного декодирования оптимального режима 62 кодирования, мультиплексированного в поток 60 битов в единицах одного макроблока, при энтропийном декодировании оптимальных параметров 63 предсказания, сжатых данных 64 и оптимальных параметров 65 сжатия из потока 60 битов в единицах одного макроблока или субблока, разделенного в соответствии с декодированным оптимальным режимом 62 кодирования, модуль 69 внутреннего предсказания для формирования, когда вводятся оптимальные параметры 63 предсказания, предсказанного изображения 71 посредством использования режима внутреннего предсказания, включенного в оптимальные параметры 63 предсказания, и декодированного изображения 74a, сохраненного в запоминающем устройстве 77 для внутреннего предсказания, модуль 70 предсказания с компенсацией движения для выполнения, когда вводятся оптимальные параметры 63 предсказания, предсказания с компенсацией движения посредством использования вектора движения, включенного в оптимальные параметры 63 предсказания, и опорного изображения 76 в запоминающем устройстве 75 кадров предсказания с компенсацией движения, которое указывается посредством индекса опорного изображения, включенного в оптимальные параметры 63 предсказания, чтобы формировать предсказанное изображение 72, модуль 68 переключения для ввода оптимальных параметров 63 предсказания, которые декодирует модуль 61 декодирования переменной длины, в любой из модуля 69 внутреннего предсказания и модуля 70 предсказания с компенсацией движения в соответствии с декодированным оптимальным режимом 62 кодирования, модуль 66 обратного квантования/обратного преобразования для выполнения процесса обратного квантования и обратного преобразования для сжатых данных 64 посредством использования оптимальных параметров 65 сжатия, чтобы формировать декодированные значения 67 сигнала разности предсказания, модуль 73 суммирования для суммирования предсказанного изображения 71 или 72, выведенного из любого из модуля 69 внутреннего предсказания и модуля 70 предсказания с компенсацией движения, с декодированными значениями 67 сигнала разности предсказания, чтобы формировать декодированное изображение 74, запоминающее устройство 77 для внутреннего предсказания для сохранения декодированного изображения 74, модуль 78 контурного фильтра для выполнения фильтрации для декодированного изображения 74, чтобы формировать воспроизведенное изображение 79, и запоминающее устройство 75 кадров предсказания с компенсацией движения для сохранения воспроизведенного изображения 79.
[0078] Когда устройство декодирования движущихся изображений в соответствии с этим вариантом 1 осуществления принимает поток 60 битов, модуль 61 декодирования переменной длины выполняет процесс энтропийного декодирования для потока 60 битов, чтобы получать размер макроблока и размер кадра в единицах одной последовательности, которая состоит из одного или более кадров изображений, или в единицах одного изображения. В случае если размер макроблока задается посредством профиля и т.п. без мультиплексирования непосредственно в поток битов, размер макроблока определяется на основе идентификационной информации профиля, которая декодируется из потока битов в единицах одной последовательности. Число макроблоков, включенных в каждый кадр, определяется на основе декодированного размера макроблока каждого кадра и декодированного размера кадра, и декодируются оптимальный режим 62 кодирования, оптимальные параметры 63 предсказания, сжатые данные 64 (т.е. данные квантованных и преобразованных коэффициентов), оптимальные параметры 65 сжатия (информация о размере блока преобразования и размер шага квантования) и т.д. каждого макроблока, включенного в кадр. Оптимальный режим 62 кодирования, оптимальные параметры 63 предсказания, сжатые данные 64 и оптимальные параметры 65 сжатия, которые декодируются посредством устройства декодирования, соответствуют оптимальному режиму 7a кодирования, оптимальным параметрам 10a или 18a предсказания, сжатым данным 21 и оптимальным параметрам 20a сжатия, которые кодируются посредством устройства кодирования, соответственно.
[0079] В это время, поскольку информация о размере блока преобразования в оптимальных параметрах 65 сжатия является идентификационной информацией для идентификации размера блока преобразования, который выбран из набора размеров блоков преобразования, заданных заранее для каждого макроблока или субблока (на основе макроблока или субблока) в соответствии с режимом 7 кодирования посредством устройства кодирования, устройство декодирования указывает размер блока преобразования макроблока или субблока из оптимального режима 62 кодирования и информации о размере блока преобразования в оптимальных параметрах 65 сжатия.
[0080] Модуль 66 обратного квантования/обратного преобразования выполняет процесс обратного квантования и обратного преобразования посредством использования сжатых данных 64 и оптимальных параметров 65 сжатия, которые вводятся из модуля 61 декодирования переменной длины, в единицах одного блока, размер которого указывается посредством информации о размере блока преобразования, чтобы вычислять декодированные значения 67 сигнала разности предсказания.
[0081] Дополнительно, при декодировании вектора движения, модуль 61 декодирования переменной длины обращается к векторам движения уже декодированных периферийных блоков и определяет предсказанный вектор посредством выполнения процесса, показанного на фиг. 4, чтобы получать декодированное значение вектора движения посредством суммирования значений разности предсказания, декодированных из потока 60 битов, с предсказанным вектором. Модуль 61 декодирования переменной длины включает декодированное значение этого вектора движения в оптимальные параметры 63 предсказания и выводит эти оптимальные параметры предсказания в модуль 68 переключения.
[0082] Модуль 68 переключения является переключателем для переключения между входными назначениями оптимальных параметров 63 предсказания в соответствии с оптимальным режимом 62 кодирования. Когда оптимальный режим 62 кодирования, введенный из модуля 61 декодирования переменной длины, показывает режим внутрикадрового предсказания, этот модуль 68 переключения выводит оптимальные параметры 63 предсказания (режим внутреннего предсказания), аналогично введенные из модуля 61 декодирования переменной длины, в модуль 69 внутреннего предсказания, тогда как когда оптимальный режим 62 кодирования показывает режим межкадрового предсказания, модуль переключения выводит оптимальные параметры 63 предсказания (векторы движения, идентификационный номер (индекс опорного изображения) опорного изображения, указываемого посредством каждого из векторов движения и т.д.), в модуль 70 предсказания с компенсацией движения.
[0083] Модуль 69 внутреннего предсказания обращается к декодированному изображению 74a в кадре, сохраненном в запоминающем устройстве 77 для внутреннего предсказания (сигналу декодированного изображения в кадре), и формирует и выводит предсказанное изображение 71, соответствующее режиму внутреннего предсказания, указываемому посредством оптимальных параметров 63 предсказания.
[0084] Хотя способ формирования для формирования предсказанного изображения 71, который использует модуль 69 внутреннего предсказания, является идентичным операции, выполняемой посредством модуля 8 внутреннего предсказания в устройстве кодирования, модуль 8 внутреннего предсказания формирует предсказанное изображение 11, соответствующее каждому из всех режимов внутреннего предсказания, указываемых посредством режимов 7 кодирования, в то время как модуль 69 внутреннего предсказания отличается от модуля 8 внутреннего предсказания тем, что модуль 69 внутреннего предсказания формирует только предсказанное изображение 71, соответствующее режиму внутреннего предсказания, указываемому посредством оптимального режима 62 кодирования.
[0085] Модуль 70 предсказания с компенсацией движения формирует предсказанное изображение 72 из одного или более кадров опорных изображений 76, сохраненных в запоминающем устройстве 75 кадров предсказания с компенсацией движения, на основе вектора движения, индекса опорного изображения и т.д., которые указываются посредством введенных оптимальных параметров 63 предсказания, и выводит предсказанное изображение 72.
[0086] Способ формирования для формирования предсказанного изображения 72, который реализуется посредством модуля 70 предсказания с компенсацией движения, соответствует работе модуля 9 предсказания с компенсацией движения в устройстве кодирования, из которого исключен процесс поиска во множестве опорных изображений для векторов движения (соответствующий операциям модуля 42 обнаружения движения и модуля 43 формирования интерполированных изображений, показанных на фиг. 3). Модуль предсказания с компенсацией движения выполняет только процесс формирования предсказанного изображения 72 в соответствии с оптимальными параметрами 63 предсказания, предоставляемыми в него из модуля 61 декодирования переменной длины. Когда вектор движения принудительно обращается к пикселу, расположенному вне кадра, который задается посредством размера опорного кадра, модуль 70 предсказания с компенсацией движения формирует предсказанное изображение 72 посредством использования, например, способа заполнения пиксельной области, расположенной вне кадра, пикселами, идущими по краю экрана кадра, аналогичного способу устройства кодирования. Размер опорного кадра может быть задан посредством декодированного размера кадра, который расширяется таким образом, что он является целым кратным декодированного размера макроблока, или может быть задан посредством декодированного размера кадра, и устройство декодирования определяет размер опорного кадра в соответствии с процедурой, идентичной процедуре, выполняемой посредством устройства кодирования.
[0087] Модуль 73 суммирования суммирует любое из предсказанного изображения 71 и предсказанного изображения 72 и декодированные значения 67 сигнала разности предсказания, выведенные в него из модуля 66 обратного квантования/обратного преобразования, чтобы формировать декодированное изображение 74.
[0088] Хотя это декодированное изображение 74 сохраняется в запоминающем устройстве 77 для внутреннего предсказания, чтобы использовать декодированное изображение в качестве опорного изображения (декодированного изображения 74a) для формирования изображения внутреннего предсказания для последующего макроблока, декодированное изображение 74 вводится в модуль 78 контурного фильтра.
[0089] Модуль 78 контурного фильтра выполняет операцию, идентичную операции модуля 27 контурного фильтра в устройстве кодирования, чтобы формировать воспроизведенное изображение 79, и выводит это воспроизведенное изображение за пределы устройства декодирования движущихся изображений. Дополнительно, это воспроизведенное изображение 79 сохраняется в запоминающем устройстве 75 кадров предсказания с компенсацией движения, чтобы использовать воспроизведенное изображение в качестве опорного изображения 76 для последующего формирования предсказанного изображения. Размер воспроизведенного изображения, полученного после декодирования всех макроблоков в кадре, является целым кратным размера макроблока. Когда размер воспроизведенного изображения превышает декодированный размер кадра, соответствующий размеру кадра для каждого кадра видеосигнала, введенного в устройство кодирования, расширенная область, которая расширяется в горизонтальном или вертикальном направлении, включается в воспроизведенное изображение. В этом случае, декодированное изображение, в котором декодированное изображение расширенной области удаляется из воспроизведенного изображения, выводится из устройства декодирования.
[0090] Когда размер опорного кадра задается посредством декодированного размера кадра, к декодированному изображению расширенной области воспроизведенного изображения, сохраненного в запоминающем устройстве 75 кадров предсказания с компенсацией движения, не обращаются для последующего формирования предсказанного изображения. Следовательно, декодированное изображение, в котором декодированное изображение расширенной области удаляется из воспроизведенного изображения, может быть сохранено в запоминающем устройстве 75 кадров предсказания с компенсацией движения.
[0091] Как упомянуто выше, поскольку устройство кодирования движущихся изображений в соответствии с вариантом 1 осуществления имеет такую структуру, что для каждого из макро-/субблочных изображений 5, на которые разделяется введенное движущееся изображение в соответствии с режимом 7 кодирования каждого макроблока, устройство кодирования движущихся изображений предварительно определяет набор блоков преобразования, включающий в себя множество размеров блоков преобразования в соответствии с размером макроблока или субблока, модуль 3 управления кодированием выбирает один размер блока преобразования, который предоставляет оптимальную степень эффективности кодирования, из набора размеров блоков преобразования и включает размер блока преобразования, выбранный таким образом, в оптимальные параметры 20a сжатия, а затем сообщает эти оптимальные параметры сжатия в модуль 19 преобразования/квантования, и модуль 19 преобразования/ квантования разделяет оптимальный сигнал 13a разности предсказания на блоки, каждый из которых имеет размер блока преобразования, включенный в оптимальные параметры 20a сжатия, и выполняет процесс преобразования и квантования для каждого из блоков, чтобы формировать сжатые данные 21, устройство кодирования движущихся изображений может повышать качество кодированного видео при аналогичном объеме кода по сравнению с традиционным способом использования фиксированного набора размеров блоков преобразования независимо от размера макроблока или субблока.
[0092] Дополнительно, в то время как модуль 23 кодирования переменной длины имеет такую структуру, что он мультиплексирует размер блока преобразования, который адаптивно выбирается в соответствии с режимом 7 кодирования из набора размеров блоков преобразования, в поток 30 битов, устройство декодирования движущихся изображений в соответствии с вариантом 1 осуществления имеет такую структуру, что модуль 61 декодирования переменной длины декодирует оптимальные параметры 65 сжатия из потока 60 битов в единицах одного макроблока или субблока (на основе макроблока или субблока), и модуль 66 обратного квантования/обратного преобразования определяет размер блока преобразования на основе информации о размере блока преобразования, включенной в эти оптимальные параметры 65 сжатия, и выполняет процесс обратного преобразования и обратного квантования для сжатых данных 64 в единицах одного блока, имеющего размер блока преобразования. Следовательно, поскольку устройство декодирования движущихся изображений может выбирать размер блока преобразования, который использован посредством устройства кодирования, из набора размеров блоков преобразования, который задается способом, идентичным способу, которым набор размеров блоков преобразования задается посредством устройства кодирования движущихся изображений, чтобы декодировать сжатые данные, устройство декодирования движущихся изображений может корректно декодировать поток битов, кодированный посредством устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления.
[0093]
Вариант 2 осуществления
В этом варианте 2 осуществления, поясняется разновидность модуля 23 кодирования переменной длины устройства кодирования движущихся изображений в соответствии с вышеуказанным вариантом 1 осуществления, и аналогично поясняется разновидность модуля 61 декодирования переменной длины устройства декодирования движущихся изображений в соответствии с вышеуказанным вариантом 1 осуществления.
[0094] Во-первых, поясняется модуль 23 кодирования переменной длины устройства кодирования движущихся изображений в соответствии с этим вариантом 2 осуществления. Фиг. 9 является блок-схемой, показывающей внутреннюю структуру модуля 23 кодирования переменной длины устройства кодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения. На фиг. 9, компоненты, идентичные компонентам, показанным на фиг. 1, или аналогичные компоненты обозначаются посредством ссылок с номерами, идентичных ссылкам с номерами, показанным на чертеже, и пояснение компонентов опускается далее. Дополнительно, поскольку структура устройства кодирования движущихся изображений в соответствии с этим вариантом 2 осуществления является идентичной структуре устройства кодирования движущихся изображений в соответствии с вышеуказанным вариантом 1 осуществления, и работа каждого компонента, помимо модуля 23 кодирования переменной длины, является идентичной работе каждого компонента в соответствии с вышеуказанным вариантом 1 осуществления, пояснение приводится посредством использования фиг. 1-8. Дополнительно, для простоты, хотя далее предполагается то, что устройство кодирования движущихся изображений в соответствии с этим вариантом 2 осуществления имеет структуру и способ обработки на основе использования набора режимов кодирования, показанных на фиг. 2A, разумеется, что вариант 2 осуществления также может применяться к структуре и способу обработки на основе использования набора режимов кодирования, показанных на фиг. 2B.
[0095] Модуль 23 кодирования переменной длины, показанный на фиг. 9, включает в себя запоминающее устройство 105 таблиц бинаризации для сохранения таблицы бинаризации, указывающей соответствие между значениями индекса, которые могут иметь многозначный сигнал, показывающий режим 7 кодирования (оптимальный параметр 10a или 18a предсказания или оптимальный параметр 20a сжатия), и двоичные сигналы, модуль 92 бинаризации для использования этой таблицы бинаризации, чтобы преобразовывать оптимальный режим 7a кодирования (оптимальный параметр 10a или 18a предсказания или оптимальный параметр 20a сжатия), показанный посредством многозначного сигнала, который выбирается посредством модуля 3 управления кодированием в двоичный сигнал 103, функциональный модуль 104 обработки арифметического кодирования для обращения к контекстной идентификационной информации 102, которая формируется посредством модуля 99 формирования контекста, запоминающего устройства 96 контекстной информации, запоминающего устройства 97 таблиц вероятностей и запоминающего устройства 98 таблиц изменения состояний, чтобы выполнять арифметическое кодирование для двоичного сигнала 103, в который преобразуется оптимальный режим кодирования посредством модуля 92 бинаризации, и выводить кодированную битовую последовательность 111, и для мультиплексирования этой кодированной битовой последовательности 111 в поток 30 битов, модуль 93 формирования информации о частоте для подсчета частоты появления оптимального режима 7a кодирования (оптимального параметра 10a или 18a предсказания или оптимального параметра 20a сжатия), чтобы формировать информацию 94 о частоте, и модуль 95 обновления таблиц бинаризации для обновления соответствия между возможными значениями многозначного сигнала и двоичных сигналов в таблице бинаризации, сохраненной в запоминающем устройстве 105 таблиц бинаризации на основе информации 94 о частоте.
[0096] Далее поясняется процедура кодирования переменной длины, выполняемая посредством модуля 23 кодирования переменной длины, посредством рассмотрения оптимального режима 7a кодирования макроблока, выведенного из модуля 3 управления кодированием, в качестве примера параметра, который должен быть энтропийно кодирован. Оптимальный параметр 10a или 18a предсказания или оптимальный параметр 20a сжатия, который аналогично является параметром, который должен быть кодирован, может быть кодирован на основе кода переменной длины в соответствии с процедурой, идентичной процедуре, в соответствии с которой модуль кодирования переменной длины кодирует оптимальный режим 7a кодирования, пояснение процедуры, выполняемой для оптимального параметра предсказания или оптимального параметра сжатия, опускается далее.
[0097] Модуль 3 управления кодированием в соответствии с этим вариантом 2 осуществления выводит флаг 91 инициализации контекстной информации, сигнал 100 указания типа, информацию 101 периферийных блоков и флаг 113 обновления таблицы бинаризации. Подробности каждого из фрагментов информации упоминаются ниже.
[0098] Модуль 90 инициализации инициализирует контекстную информацию 106, сохраненную в запоминающем устройстве 96 контекстной информации, в соответствии с флагом 91 инициализации контекстной информации, сообщенным в него из модуля 3 управления кодированием, чтобы переводить контекстную информацию 106 в начальное состояние. Подробности процесса инициализации, выполняемого посредством модуля 90 инициализации, упоминаются ниже.
[0099] Модуль 92 бинаризации обращается к таблице бинаризации, сохраненной в запоминающем устройстве 105 таблиц бинаризации, чтобы преобразовывать значение индекса многозначного сигнала, показывающее тип оптимального режима 7a кодирования, введенное в него из модуля 3 управления кодированием, в двоичный сигнал 103, и выводит этот двоичный сигнал в функциональный модуль 104 обработки арифметического кодирования.
[0100] Фиг. 10 является видом, показывающим пример таблицы бинаризации, хранимой посредством запоминающего устройства 105 таблиц бинаризации. В столбце "режим кодирования", показанном на фиг. 10, существует пять типов режимов 7 кодирования, включающих в себя режим пропуска (mb_skip: режим, в котором устройство декодирования использует предсказанное изображение, для которого выполнена компенсация движения посредством использования векторов движения смежных макроблоков посредством устройства кодирования, для декодированного изображения), в дополнение к режимам кодирования (mb_mode0-mb_mode3), показанным на фиг. 2A. Значение "индекса", соответствующее каждому из режимов кодирования, сохраняется в таблице бинаризации. Дополнительно, значение индекса каждого из этих режимов кодирования бинаризуется в двоичное число, имеющее один или три бита, и сохраняется в качестве "двоичного сигнала". В этом случае, каждый бит двоичного сигнала упоминается как номер "элемента выборки". Хотя подробно упомянуто ниже, в примере по фиг. 10, меньшее значение индекса назначается режиму кодирования, имеющему более высокую частоту появления, и соответствующий двоичный сигнал также задается так, что он имеет небольшую длину, т.е. длину в 1 бит.
[0101] Оптимальный режим 7a кодирования, выведенный из модуля 3 управления кодированием, вводится в модуль 92 бинаризации и также вводится в модуль 93 формирования информации о частоте.
[0102] Модуль 93 формирования информации о частоте подсчитывает частоту появления значения индекса режима кодирования, включенного в этот оптимальный режим 7a кодирования (частоту выбора режима кодирования, который выбирает модуль управления кодированием), чтобы формировать информацию 94 о частоте, и выводит эту информацию о частоте в модуль 95 обновления таблиц бинаризации, который упоминается ниже.
[0103] Запоминающее устройство 97 таблиц вероятностей хранит таблицу для сохранения двух или более наборов из одного символа (MPS: наиболее вероятного символа), имеющих более высокую вероятность появления значений символов "0" и "1" в каждом элементе выборки, включенном в двоичный сигнал 103, и вероятности появления символа.
[0104] Фиг. 11 является видом, показывающим пример таблицы вероятностей, хранимой посредством запоминающего устройства 97 таблиц вероятностей. Ссылаясь на фиг. 11, "номер таблицы вероятностей" назначается каждому из дискретных значений вероятности в пределах от 0,5 до 1,0 ("вероятности появления").
[0105] Запоминающее устройство 98 таблиц изменения состояний хранит таблицу для сохранения множества наборов, каждый из которых имеет "номер таблицы вероятностей", сохраненный в запоминающем устройстве 97 таблиц вероятностей, и изменения состояния с вероятностного состояния, в котором не кодирован MPS "0" или "1", который показывается посредством номера таблицы вероятностей, на вероятностное состояние, в котором кодирован MPS "0" или "1".
[0106] Фиг. 12 является видом, показывающим пример таблицы изменения состояний, хранимой посредством запоминающего устройства 98 таблиц изменения состояний. Каждый набор из "номера таблицы вероятностей", "изменения вероятности после того, как LPS кодируется" и "изменения вероятности после того, как MPS кодируется", которые показаны на фиг. 12, соответствует номеру таблицы вероятностей, показанному на фиг. 11. Например, этот чертеж показывает, что во время вероятностного состояния, имеющего "номер таблицы вероятностей 1", заключенного в прямоугольник, показанный на фиг. 12 (во время, когда вероятность появления MPS составляет 0,527, как показано на фиг. 11), кодирование одного символа, имеющего более низкую вероятность появления (LPS: наименее вероятного символа) "0" и "1", приводит к тому, что вероятностное состояние изменяется на вероятностное состояние, имеющее номер таблицы вероятностей 0 (вероятность появления MPS составляет 0,500, как показано на фиг. 11), как видно из "изменения вероятности после того, как LPS кодируется". Более конкретно, поскольку появляется LPS, вероятность появления MPS становится небольшой. В отличие от этого, чертеж показывает, что кодирование MPS приводит к тому, что вероятностное состояние изменяется на вероятностное состояние, имеющее номер таблицы вероятностей 2 (вероятность появления MPS составляет 0,550, как показано на фиг. 11), как видно из "изменения вероятности после того, как MPS кодируется". Более конкретно, поскольку появляется MPS, вероятность появления MPS становится большой.
[0107] Модуль 99 формирования контекста обращается к сигналу 100 указания типа, указывающему тип параметра, который должен быть кодирован (оптимальный режим 7a кодирования, оптимальный параметр 10a или 18a предсказания или оптимальный параметр 20a сжатия), который вводится из модуля 3 управления кодированием, и информации 101 периферийных блоков, чтобы формировать контекстную идентификационную информацию 102 для каждого элемента выборки двоичного сигнала 103, полученного посредством выполнения бинаризации для параметра, который должен быть кодирован. В этом пояснении сигнал 100 указания типа указывает оптимальный режим 7a кодирования макроблока, который должен быть кодирован. Дополнительно, информация 101 периферийных блоков указывает оптимальные режимы 7a кодирования макроблоков, смежных с макроблоком, который должен быть кодирован. Далее поясняется процедура формирования для формирования контекстной идентификационной информации, которая выполняется посредством модуля 99 формирования контекста.
[0108] Фиг. 13(a) является видом, показывающим таблицу бинаризации, показанную на фиг. 10 в представлении в виде двоичного дерева. Далее, пояснение приводится посредством рассмотрения макроблока, который должен быть кодирован, обозначенного посредством прямоугольника с жирным контуром, показанного на фиг. 13(b), и периферийных блоков A и B, которые являются смежными с этим макроблоком, который должен быть кодирован, в качестве примера. На фиг. 13(a), каждая черная точка упоминается как узел, а каждая линия, которая соединяется между узлами, упоминается как путь. Индексы многозначного сигнала, который должен быть бинаризован, назначаются оконечным узлам двоичного дерева, соответственно. Дополнительно, позиция каждого узла в направлении глубины двоичного дерева, которое идет вниз от верхней части до нижней части на странице, соответствует номеру элемента выборки, и битовая последовательность, которая получается посредством соединения символов (каждый из которых равен 0 или 1), соответственно, назначаемых путям, идущим от корневого узла в каждый оконечный узел, показывает двоичный сигнал 103, соответствующий индексу многозначного сигнала, назначаемого оконечному узлу. Для каждого родительского узла (узла, который не является оконечным узлом) двоичного дерева, один или более фрагментов контекстной идентификационной информации подготавливаются в соответствии с информацией относительно периферийных блоков A и B.
[0109] Например, когда три фрагмента контекстной идентификационной информации C0, C1 и C2 подготавливаются для корневого узла в примере по фиг. 13(a), модуль 99 формирования контекста обращается к фрагментам информации 101 периферийных блоков относительно смежных периферийных блоков A и B, чтобы выбирать любой из трех фрагментов контекстной идентификационной информации C0, C1 и C2 в соответствии со следующим уравнением (4). Модуль 99 формирования контекста выводит выбранную контекстную идентификационную информацию в качестве контекстной идентификационной информации 102.
Figure 00000001
(4)
[0110] Вышеприведенное уравнение (4) подготавливается при условии, что, когда каждый из периферийных блоков A и B задается как макроблок X, существует высокая вероятность того, что режим кодирования макроблока, который должен быть кодирован, равен "0" (mb_skip), когда режим кодирования каждого из периферийных блоков A и B равен "0" (mb_skip). Следовательно, контекстная идентификационная информация 102, выбранная в соответствии с вышеприведенным уравнением (4), основана на идентичном допущении.
[0111] Одна контекстная идентификационная информация (C3, C4 или C5) назначается каждому из родительских узлов, помимо корневого узла.
[0112] Контекстная информация, идентифицированная посредством контекстной идентификационной информации 102, хранит значение (0 или 1) MPS и номер таблицы вероятностей, который аппроксимирует вероятность появления значения. Теперь, контекстная информация переводится в начальное состояние. Запоминающее устройство 96 контекстной информации сохраняет эту контекстную информацию.
[0113] Функциональный модуль 104 обработки арифметического кодирования выполняет арифметическое кодирование для каждого элемента выборки двоичного сигнала 103 с одним или тремя битами, введенными из модуля 92 бинаризации, чтобы формировать кодированную битовую последовательность 111, и мультиплексирует эту кодированную битовую последовательность в поток 30 битов. Далее поясняется процедура арифметического кодирования на основе контекстной информации.
[0114] Функциональный модуль 104 обработки арифметического кодирования сначала обращается к запоминающему устройству 96 контекстной информации, чтобы получать контекстную информацию 106 на основе контекстной идентификационной информации 102, соответствующей элементу выборки 0 двоичного сигнала 103. Далее, функциональный модуль 104 обработки арифметического кодирования обращается к запоминающему устройству 97 таблиц вероятностей, чтобы указывать вероятность 108 появления MPS элемента выборки 0, соответствующего номеру 107 таблицы вероятностей, хранимому посредством контекстной информации 106.
[0115] Далее, функциональный модуль 104 обработки арифметического кодирования выполняет арифметическое кодирование для значения 109 символа (0 или 1) элемента выборки 0 на основе значения (0 или 1) MPS, хранимого посредством контекстной информации 106, и указанной вероятности 108 появления MPS. Далее, функциональный модуль 104 обработки арифметического кодирования обращается к запоминающему устройству 98 таблиц изменения состояний и получает номер 110 таблицы вероятностей во время после того, как кодируется символ элемента выборки 0, на основе как номера 107 таблицы вероятностей, хранимого посредством контекстной информации 106, так и значения 109 символа элемента выборки 0, для которого ранее выполнено арифметическое кодирование.
[0116] Далее, функциональный модуль 104 обработки арифметического кодирования обновляет значение номера таблицы вероятностей (т.е. номера 107 таблицы вероятностей) контекстной информации 106 элемента выборки 0, сохраненного в запоминающем устройстве 96 контекстной информации, до номера таблицы вероятностей во время после изменения состояния (т.е. номера 110 таблицы вероятностей во время после того, как кодируется символ элемента выборки 0, который ранее получен из запоминающего устройства 98 таблиц изменения состояний).
[0117] Функциональный модуль 104 обработки арифметического кодирования также выполняет арифметическое кодирование на основе контекстной информации 106, идентифицированной посредством контекстной идентификационной информации 102, для символа каждого из элементов выборки 1 и 2, и затем обновляет контекстную информацию 106 после кодирования символа каждого из элементов выборки, как в случае выполнения арифметического кодирования для символа элемента выборки 0. Функциональный модуль 104 обработки арифметического кодирования выводит кодированную битовую последовательность 111, которую получает функциональный модуль обработки арифметического кодирования посредством выполнения арифметического кодирования для символов всех элементов выборки, и модуль 23 кодирования переменной длины мультиплексирует кодированную битовую последовательность в поток 30 битов.
[0118] Как упомянуто выше, контекстная информация 106, идентифицированная посредством контекстной идентификационной информации 102, обновляется каждый раз, когда арифметическое кодирование выполняется для символа каждого элемента выборки. Более конкретно, это обновление означает, что вероятностное состояние каждого узла изменяется каждый раз, когда кодируется символ каждого элемента выборки. Инициализация контекстной информации 106, т.е. сброс вероятностного состояния выполняется посредством вышеуказанного модуля 90 инициализации. Хотя модуль 90 инициализации инициализирует контекстную информацию в соответствии с инструкцией, показанной посредством флага 91 инициализации контекстной информации модуля 3 управления кодированием, модуль 90 инициализации выполняет эту инициализацию в заголовке каждой серии последовательных макроблоков и т.п. Множество наборов может быть подготовлено заранее для начального состояния каждой контекстной информации 106 (значение MPS и начальное значение номера таблицы вероятностей, который аппроксимирует вероятность появления значения), и модуль 3 управления кодированием может включать информацию, показывающую то, какое начальное состояние должно быть выбрано из множества наборов, во флаг 91 инициализации контекстной информации и сообщать этот флаг инициализации контекстной информации в модуль 90 инициализации.
[0119] Модуль 95 обновления таблиц бинаризации обращается к информации 94 о частоте, показывающей частоту появления значения индекса параметра, который должен быть кодирован (в этом случае, оптимального режима 7a кодирования), которая формируется посредством модуля 93 формирования информации о частоте на основе флага 113 обновления таблицы бинаризации, сообщенного в него из модуля 3 управления кодированием, чтобы обновлять запоминающее устройство 105 таблиц бинаризации. Далее поясняется процедура для обновления таблицы бинаризации, которая выполняется посредством модуля 95 обновления таблиц бинаризации.
[0120] В этом примере, модуль обновления таблиц бинаризации обновляет соответствие между режимами кодирования в таблице бинаризации и индексами в соответствии с частотой появления режима кодирования, указываемого посредством оптимального режима 7a кодирования, который является параметром, который должен быть кодирован, таким образом, чтобы иметь возможность бинаризации режима кодирования, имеющего наибольшую частоту появления, в короткое кодовое слово, тем самым уменьшая объем кода.
[0121] Фиг. 14 является видом, показывающим пример обновленной таблицы бинаризации. При условии, что таблица бинаризации, которая по-прежнему должна быть обновлена, переходит в состояние, показанное на фиг. 10, фиг. 14 показывает состояние, в котором обновлена таблица бинаризации. Например, когда частота появления mb_mode3 является наибольшей, модуль 95 обновления таблиц бинаризации назначает наименьшее значение индекса mb_mode3 в соответствии с информацией 94 о частоте таким образом, что двоичный сигнал, имеющий короткое кодовое слово, назначается mb_mode3.
[0122] Дополнительно, после обновления таблицы бинаризации, модуль 95 обновления таблиц бинаризации должен формировать идентификационную информацию 112 обновления таблицы бинаризации для предоставления возможности устройству декодирования идентифицировать обновленную таблицу бинаризации и мультиплексировать идентификационную информацию обновления таблицы бинаризации в поток 30 битов. Например, когда существует множество таблиц бинаризации для каждого параметра, который должен быть кодирован, идентификатор для предоставления возможности идентификации каждого параметра, который должен быть кодирован, может предоставляться заранее как для устройства кодирования, так и для устройства декодирования, и модуль 95 обновления таблиц бинаризации может иметь такую структуру, что он выводит идентификатор обновленной таблицы бинаризации в качестве идентификационной информации 112 обновления таблицы бинаризации и мультиплексирует эту идентификационную информацию обновления таблицы бинаризации в поток 30 битов.
[0123] Модуль 3 управления кодированием выполняет управление временем обновления посредством обращения к информации 94 о частоте параметра, который должен быть кодирован, в заголовке каждой серии последовательных макроблоков, и при определении того, что распределение частоты появления параметра, который должен быть кодирован, изменено и отклонено от предварительно определенного допустимого диапазона, вывода флага 113 обновления таблицы бинаризации. Модуль 23 кодирования переменной длины должен просто мультиплексировать флаг 113 обновления таблицы бинаризации в заголовок серии последовательных макроблоков потока 30 битов. Дополнительно, когда флаг 113 обновления таблицы бинаризации показывает "существует обновление таблицы бинаризации", модуль 23 кодирования переменной длины мультиплексирует идентификационную информацию 112 обновления таблицы бинаризации, показывающую то, какая таблица бинаризации из таблиц бинаризации режима кодирования, параметра сжатия и параметра предсказания обновлена, в поток 30 битов.
[0124] Дополнительно, модуль 3 управления кодированием может сообщать обновление таблицы бинаризации во время, отличное от времени, когда модуль управления кодированием обрабатывает заголовок каждой серии последовательных макроблоков. Например, модуль управления кодированием может выводить флаг 113 обновления таблицы бинаризации во время, когда модуль управления кодированием обрабатывает заголовок произвольного макроблока, чтобы инструктировать обновление таблицы бинаризации. В этом случае, модуль 95 обновления таблиц бинаризации должен выводить информацию для идентификации позиции макроблока, для которого обновлена таблица бинаризации, и модуль 23 кодирования переменной длины также должен мультиплексировать информацию в поток 30 битов.
[0125] При выводе флага 113 обновления таблицы бинаризации в модуль 95 обновления таблиц бинаризации, чтобы инструктировать этому модулю обновления таблиц бинаризации обновлять таблицу бинаризации, модуль 3 управления кодированием должен выводить флаг 91 инициализации контекстной информации в модуль 90 инициализации, чтобы инструктировать модулю инициализации инициализировать запоминающее устройство 96 контекстной информации.
[0126] Далее поясняется модуль 61 декодирования переменной длины устройства декодирования движущихся изображений в соответствии с этим вариантом 2 осуществления. Фиг. 15 является блок-схемой, показывающей внутреннюю структуру модуля 61 декодирования переменной длины устройства декодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения. Дополнительно, поскольку структура устройства декодирования движущихся изображений в соответствии с этим вариантом 2 осуществления является идентичной структуре устройства декодирования движущихся изображений в соответствии с вышеуказанным вариантом 1 осуществления, и работа каждого компонента, помимо модуля 61 декодирования переменной длины, является идентичной работе каждого компонента в соответствии с вышеуказанным вариантом 1 осуществления, пояснение приводится посредством использования фиг. 1-8.
[0127] Модуль 61 декодирования переменной длины, показанный на фиг. 15, включает в себя функциональный модуль 127 обработки арифметического декодирования для обращения к контекстной идентификационной информации 126, которую формирует модуль 122 формирования контекста, запоминающее устройство 128 контекстной информации, запоминающее устройство 131 таблиц вероятностей и запоминающее устройство 135 таблиц изменения состояний, чтобы выполнять арифметическое декодирование для кодированной битовой последовательности 133, показывающей оптимальный режим 62 кодирования (оптимальный параметр 63 предсказания или оптимальный параметр 65 сжатия), мультиплексированной в поток 60 битов, чтобы формировать двоичный сигнал 137, запоминающее устройство 143 таблиц бинаризации для сохранения таблицы 139 бинаризации, указывающей соответствие между оптимальным режимом 62 кодирования, выражаемым посредством двоичного сигнала (оптимальным параметром 63 предсказания или оптимальным параметром 65 сжатия), и многозначным сигналом, и модуль 138 обратной бинаризации для преобразования двоичного сигнала 137, который формирует функциональный модуль 127 обработки арифметического декодирования, в декодированное значение 140 многозначного сигнала посредством использования таблицы 139 бинаризации.
[0128] Далее поясняется процедура декодирования переменной длины, выполняемая посредством модуля 61 декодирования переменной длины, посредством рассмотрения оптимального режима 62 кодирования макроблока, включенного в поток 60 битов, в качестве примера параметра, который должен быть энтропийно декодирован. Поскольку модуль 61 декодирования переменной длины также может декодировать на основе кода переменной длины оптимальный параметр 63 предсказания или оптимальный параметр 65 сжатия, который аналогично является параметром, который должен быть декодирован в соответствии с процедурой, идентичной процедуре, в соответствии с которой модуль декодирования переменной длины декодирует на основе кода переменной длины оптимальный режим 62 кодирования, пояснение процедуры декодирования переменной длины, выполняемой для оптимального параметра предсказания или оптимального параметра сжатия, опускается.
[0129] Информация 121 инициализации контекста, кодированная битовая последовательность 133, флаг 142 обновления таблицы бинаризации и идентификационная информация 144 обновления таблицы бинаризации, которые мультиплексируются в поток 60 битов посредством устройства кодирования, включаются в поток 60 битов в соответствии с этим вариантом 2 осуществления. Подробности каждого из этих фрагментов информации упоминаются ниже.
[0130] Модуль 120 инициализации инициализирует контекстную информацию, сохраненную в запоминающем устройстве 128 контекстной информации, в заголовке каждой серии последовательных макроблоков и т.п. В качестве альтернативы, множество наборов может быть подготовлено для начального состояния контекстной информации (значение MPS и начальное значение номера таблицы вероятностей, который аппроксимирует вероятность появления значения MPS) в модуле 120 инициализации, и начальное состояние, соответствующее декодированному значению информации 121 инициализации контекста, может быть выбрано из множества наборов.
[0131] Модуль 122 формирования контекста обращается как к сигналу 123 указания типа, показывающему тип параметра, который должен быть декодирован (оптимальный режим 62 кодирования, оптимальный параметр 63 предсказания или оптимальный параметр 65 сжатия), так и к информации 124 периферийных блоков, чтобы формировать контекстную идентификационную информацию 126.
[0132] Сигнал 123 указания типа показывает тип параметра, который должен быть декодирован, и устройство декодирования определяет то, какой параметр должен быть декодирован, в соответствии с синтаксисом, хранимым посредством модуля 61 декодирования переменной длины. Следовательно, устройство кодирования и устройство декодирования должны хранить идентичный синтаксис, и в этом варианте осуществления предполагается, что модуль 3 управления кодированием устройства кодирования хранит синтаксис. Устройство кодирования последовательно выводит тип параметра, который должен быть кодирован следующим, и значение (значение индекса) параметра, т.е. сигнал 100 указания типа в модуль 23 кодирования переменной длины в соответствии с синтаксисом, хранимым посредством модуля 3 управления кодированием.
[0133] Дополнительно, информация 124 периферийных блоков включает в себя режим кодирования, который получается посредством декодирования каждого макроблока или субблока и сохраняется в запоминающем устройстве (не показано) в модуле 61 декодирования переменной длины, чтобы использовать информацию 124 периферийных блоков в качестве информации, используемой для последующего декодирования макроблока или субблока, и выводится в модуль 122 формирования контекста по мере необходимости.
[0134] Процедура формирования для формирования контекстной идентификационной информации 126, которая выполняется посредством модуля 122 формирования контекста, является идентичной работе модуля 99 формирования контекста, расположенного в устройстве кодирования. Также модуль 122 формирования контекста в устройстве декодирования формирует контекстную идентификационную информацию 126 для каждого элемента выборки таблицы 139 бинаризации, к которому следует обращаться посредством модуля 138 обратной бинаризации.
[0135] В контекстной информации каждого элемента выборки, значение (0 или 1) MPS и номер таблицы вероятностей для указания вероятности появления значения MPS хранятся в качестве информации вероятности, используемой для выполнения арифметического декодирования для элемента выборки. Дополнительно, запоминающее устройство 131 таблиц вероятностей и запоминающее устройство 135 таблиц изменения состояний сохраняют идентичную таблицу вероятностей (фиг. 11), что и запоминающее устройство 97 таблиц вероятностей устройства кодирования, и идентичную таблицу изменения состояний (фиг. 12), что и запоминающее устройство 98 таблиц изменения состояний устройства кодирования, соответственно.
[0136] Функциональный модуль 127 обработки арифметического декодирования выполняет арифметическое декодирование для кодированной битовой последовательности 133, мультиплексированной в поток 60 битов, на основе элемента выборки, чтобы формировать двоичный сигнал 137, и выводит этот двоичный сигнал в модуль 138 обратной бинаризации.
[0137] Функциональный модуль 127 обработки арифметического декодирования сначала обращается к запоминающему устройству 128 контекстной информации, чтобы получать контекстную информацию 129 на основе контекстной идентификационной информации 126, соответствующей каждому элементу выборки кодированной битовой последовательности 133. Далее, функциональный модуль 127 обработки арифметического декодирования обращается к запоминающему устройству 131 таблиц вероятностей, чтобы указывать вероятность 132 появления MPS каждого элемента выборки, соответствующего номеру 130 таблицы вероятностей, хранимому посредством контекстной информации 129.
[0138] Функциональный модуль 127 обработки арифметического декодирования затем выполняет арифметическое декодирование для кодированной битовой последовательности 133, введенной в функциональный модуль 127 обработки арифметического декодирования, на основе значения (0 или 1) MPS, хранимого посредством контекстной информации 129, и указанной вероятности 132 появления MPS, чтобы получать значение 134 символа (0 или 1) каждого элемента выборки. После получения значения символа каждого элемента выборки через декодирование функциональный модуль 127 обработки арифметического декодирования обращается к запоминающему устройству 135 таблиц изменения состояний и получает номер 136 таблицы вероятностей во время после того, как декодируется символ каждого элемента выборки (во время после того, как выполняется изменение состояния) на основе значения 134 символа каждого декодированного элемента выборки, и номер 130 таблицы вероятностей, хранимый посредством контекстной информации 129, и в соответствии с процедурой, идентичной процедуре, выполняемой посредством функционального модуля 104 обработки арифметического кодирования устройства кодирования.
[0139] Далее, функциональный модуль 127 обработки арифметического декодирования обновляет значение номера таблицы вероятностей (т.е. номера 130 таблицы вероятностей) контекстной информации 129 каждого элемента выборки, который сохраняется в запоминающем устройстве 128 контекстной информации, до номера таблицы вероятностей во время после того, как выполняется изменение состояния (т.е. номера 136 таблицы вероятностей во время после того, как декодируется символ каждого элемента выборки, который ранее получен из запоминающего устройства 135 таблиц изменения состояний). Функциональный модуль 127 обработки арифметического декодирования выводит двоичный сигнал 137, в котором символы элементов выборки, полученных в качестве результатов выполнения вышеуказанного арифметического декодирования для кодированной битовой последовательности, соединяются друг с другом, в модуль 138 обратной бинаризации.
[0140] Модуль 138 обратной бинаризации выбирает таблицу 139 бинаризации, идентичную таблице, используемой во время кодирования, из таблиц бинаризации, сохраненных в запоминающем устройстве 143 таблиц бинаризации и подготовленных для всех типов параметров, которые должны быть декодированы, и обращается к таблице бинаризации, выбранной таким образом, и избирательно выводит декодированное значение 140 параметра, который должен быть декодирован, из двоичного сигнала 137, введенного в него из функционального модуля 127 обработки арифметического декодирования. Когда тип параметра, который должен быть декодирован, представляет собой режим кодирования (оптимальный режим 62 кодирования) макроблока, таблица 139 бинаризации является идентичной таблице бинаризации в устройстве кодирования, показанном на фиг. 10.
[0141] Модуль 141 обновления таблиц бинаризации обновляет таблицу бинаризации, сохраненную в запоминающем устройстве 143 таблиц бинаризации, на основе флага 142 обновления таблицы бинаризации и идентификационной информации 144 обновления таблицы бинаризации, которые декодируются из потока 60 битов.
[0142] Флаг 142 обновления таблицы бинаризации является информацией, которая соответствует флагу 113 обновления таблицы бинаризации в устройстве кодирования и которая включается в информацию заголовка и т.п. потока 60 битов, и показывает то, существует или нет обновление таблицы бинаризации. Когда декодированное значение флага 142 обновления таблицы бинаризации показывает "существует обновление таблицы бинаризации", идентификационная информация 144 обновления таблицы бинаризации декодируется из потока 60 битов.
[0143] Идентификационная информация 144 обновления таблицы бинаризации является информацией, которая соответствует идентификационной информации 112 обновления таблицы бинаризации в устройстве кодирования и которая используется для идентификации таблицы бинаризации параметра, обновленного посредством устройства кодирования. Например, когда множество таблиц бинаризации предоставляется заранее для каждого параметра, который должен быть кодирован, как упомянуто выше, идентификатор, который предоставляет возможность идентификации каждого параметра, который должен быть кодирован, и идентификатор каждой из таблиц бинаризации предоставляются заранее как на стороне устройства кодирования, так и в устройстве декодирования, и модуль 141 обновления таблиц бинаризации обновляет таблицу бинаризации, соответствующую значению идентификатора, в идентификационной информации 144 обновления таблицы бинаризации, которая декодируется из потока 60 битов. В этом примере, два типа таблиц бинаризации, показанных на фиг. 10 и 14, и идентификаторы этих таблиц бинаризации подготавливаются заранее в запоминающем устройстве 143 таблиц бинаризации, и когда предполагается, что таблица бинаризации, которая по-прежнему должна быть обновлена, переходит в состояние, показанное на фиг. 10, модуль 141 обновления таблиц бинаризации должен обязательно выбирать таблицу бинаризации, соответствующую идентификатору, включенному в идентификационную информацию 144 обновления таблицы бинаризации, посредством простого выполнения процесса обновления в соответствии с флагом 142 обновления таблицы бинаризации и идентификационной информацией 144 обновления таблицы бинаризации. Следовательно, обновленная таблица бинаризации переходит в состояние, показанное на фиг. 14, и становится идентичной таблице бинаризации, которая обновлена в устройстве кодирования.
[0144] Как упомянуто выше, устройство кодирования движущихся изображений в соответствии с вариантом 2 осуществления имеет такую структуру, что модуль 3 управления кодированием выбирает и выводит параметр, который должен быть кодирован, к примеру, оптимальный режим 7a кодирования, который предоставляет оптимальную степень эффективности кодирования, оптимальный параметр 10a или 18a предсказания или оптимальный параметр 20a сжатия, модуль 92 бинаризации модуля 23 кодирования переменной длины преобразует параметр, который должен быть кодирован, выражаемый посредством многозначного сигнала, в двоичный сигнал 103 посредством использования таблицы бинаризации, сохраненной в запоминающем устройстве 105 таблиц бинаризации, функциональный модуль 104 обработки арифметического кодирования выполняет арифметическое кодирование для двоичного сигнала 103, чтобы выводить кодированную битовую последовательность 111, модуль 93 формирования информации о частоте формирует информацию 94 о частоте параметра, который должен быть кодирован, и модуль 95 обновления таблиц бинаризации обновляет соответствие между многозначным сигналом в таблице бинаризации и двоичным сигналом на основе информации 94 о частоте, объем кода может быть уменьшен, в то время как формируется кодированное видео, имеющее идентичное качество, по сравнению с традиционным способом, имеющим таблицу бинаризации, которая является фиксированной в любом случае.
[0145] Дополнительно, поскольку модуль 95 обновления таблиц бинаризации имеет такую структуру, что он мультиплексирует как идентификационную информацию 112 обновления таблицы бинаризации, показывающую то, существует или нет обновление таблицы бинаризации, так и идентификационную информацию 112 обновления таблицы бинаризации для идентификации обновленной таблицы бинаризации, в поток 30 битов, устройство декодирования движущихся изображений в соответствии с вариантом 2 осуществления имеет структуру в соответствии со структурой модуля обновления таблиц бинаризации таким образом, что функциональный модуль 127 обработки арифметического декодирования модуля 61 декодирования переменной длины выполняет арифметическое декодирование для кодированной битовой последовательности 133, мультиплексированной в поток 60 битов, чтобы формировать двоичный сигнал 137, модуль 138 обратной бинаризации использует таблицу 139 бинаризации запоминающего устройства 143 таблиц бинаризации, чтобы преобразовывать двоичный сигнал 137 в многозначный сигнал и получать декодированное значение 140, и модуль 141 обновления таблиц бинаризации обновляет предварительно определенную таблицу бинаризации, сохраненную в запоминающем устройстве 143 таблиц бинаризации, на основе флага 142 обновления таблицы бинаризации и идентификационной информации 144 обновления таблицы бинаризации, которые получаются через декодирование информации заголовка, мультиплексированной в поток 60 битов. Следовательно, поскольку устройство декодирования движущихся изображений может обновлять таблицу бинаризации в соответствии с процедурой, идентичной процедуре, выполняемой посредством устройства кодирования движущихся изображений, и может выполнять обратную бинаризацию для параметра, который должен быть кодирован, устройство кодирования движущихся изображений в соответствии с вариантом 2 осуществления может корректно декодировать кодированный поток битов.
[0146]
Вариант 3 осуществления
В этом варианте 3 осуществления, поясняется разновидность процесса формирования для формирования предсказанного изображения посредством использования предсказания с компенсацией движения, который выполняется посредством модуля 9 предсказания с компенсацией движения в устройстве кодирования движущихся изображений и устройстве декодирования движущихся изображений в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления.
[0147] Во-первых, поясняется модуль 9 предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с этим вариантом 3 осуществления. Дополнительно, поскольку структура устройства кодирования движущихся изображений в соответствии с этим вариантом 3 осуществления является идентичной структуре устройства кодирования движущихся изображений в соответствии с вышеуказанным вариантом 1 или 2 осуществления, и работа каждого компонента, помимо модуля 9 предсказания с компенсацией движения, является идентичной работе каждого компонента в соответствии с вышеуказанным вариантом 1 или 2 осуществления, пояснение приводится посредством использования фиг. 1-15.
[0148] Модуль 9 предсказания с компенсацией движения в соответствии с этим вариантом 3 осуществления имеет структуру, идентичную структуре, и работает идентично модулю предсказания с компенсацией движения в соответствии с вышеуказанным вариантом 1 или 2 осуществления, за исключением того, что структура и работа, ассоциированные с процессом формирования предсказанных изображений, имеющим точность в виртуальные выборки, отличаются от структуры и работы в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления. Более конкретно, в соответствии с вышеуказанными вариантами 1 и 2 осуществления, как показано на фиг. 3, модуль 43 формирования интерполированных изображений модуля 9 предсказания с компенсацией движения формирует данные опорного изображения, имеющие точность в виртуальный пиксел, к примеру, точность в полпиксела или 1/4 пиксела, и при формировании предсказанного изображения 45 на основе этих данных опорного изображения, имеющих точность в виртуальный пиксел, формирует виртуальные пикселы посредством реализации арифметической операции интерполяции с 6-отводным фильтром с использованием шести целых пикселов, идущих в вертикальном или горизонтальном направлении, чтобы формировать предсказанное изображение, как в случае MPEG-4 AVC-стандартов. В отличие от этого, модуль 9 предсказания с компенсацией движения в соответствии с этим вариантом 3 осуществления увеличивает опорное изображение 15, имеющее точность в целый пиксел, сохраненное в запоминающем устройстве 14 кадров предсказания с компенсацией движения, посредством выполнения процесса на основе сверхразрешения для опорного изображения 15, чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел, и затем формирует предсказанное изображение на основе этого опорного изображения 207, имеющего точность в виртуальный пиксел.
[0149] Далее поясняется модуль 9 предсказания с компенсацией движения в соответствии с этим вариантом 3 осуществления посредством использования фиг. 3. Аналогично этому, в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления, модуль 43 формирования интерполированных изображений в соответствии с этим вариантом 3 осуществления указывает один или более кадров опорных изображений 15 из запоминающего устройства 14 кадров предсказания с компенсацией движения, и модуль 42 обнаружения движения обнаруживает вектор 44 движения в предварительно определенном диапазоне поиска движения для опорного изображения 15, указываемого посредством модуля формирования интерполированных изображений. Обнаружение вектора движения реализуется посредством использования вектора движения, имеющего точность в виртуальный пиксел, как в случае MPEG-4 AVC-стандартов и т.п. В соответствии с этим способом обнаружения, арифметическая операция интерполяции выполняется для пиксельной информации (называемой целыми пикселами), которую имеет опорное изображение, чтобы формировать виртуальные выборки (пикселы) между целыми пикселами, и эти виртуальные выборки используются в качестве опорного изображения.
[0150] Чтобы формировать опорное изображение, имеющее точность в виртуальный пиксел, необходимо увеличивать опорное изображение, имеющее точность в целый пиксел (формировать опорное изображение, имеющее более высокое разрешение), чтобы формировать плоскость выборок, которая состоит из виртуальных пикселов. С этой целью, когда требуется опорное изображение для поиска перемещения, имеющее точность в виртуальный пиксел, модуль 43 формирования интерполированных изображений в соответствии с этим вариантом 3 осуществления использует технологию на основе сверхразрешения, раскрытую в статье авторов W. T. Freeman, E.C. Pasztor и O.T. Carmichael "Learning Low-Level Vision", International Journal of Computer Vision, выпуск 40, № 1, 2000 год, чтобы формировать опорное изображение, имеющее точность в виртуальный пиксел. В следующем пояснении далее упоминается структура, в которой модуль 9 предсказания с компенсацией движения выполняет процесс формирования изображений сверхразрешения, чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел, из данных опорного изображения, сохраненных в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и модуль 42 обнаружения движения выполняет процесс поиска на основе вектора движения с использованием опорного изображения.
[0151] Фиг. 16 является блок-схемой, показывающей внутреннюю структуру модуля 43 формирования интерполированных изображений модуля 9 предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с вариантом 3 осуществления настоящего изобретения. Модуль 43 формирования интерполированных изображений, показанный на фиг. 16, включает в себя процессор 205 увеличения изображений для выполнения процесса увеличения для опорного изображения 15, сохраненного в запоминающем устройстве 14 кадров предсказания с компенсацией движения, процессор 200 уменьшения изображений для выполнения процесса уменьшения для опорного изображения 15, модуль 201a извлечения высокочастотных признаков для извлечения количества признаков компонента области высоких частот из процессора 200 уменьшения изображений, модуль 201b извлечения высокочастотных признаков для извлечения количества признаков компонента области высоких частот из опорного изображения 15, модуль 202 вычисления корреляции для вычисления значения корреляции между количествами признаков, модуль 203 оценки высокочастотных компонентов для оценки высокочастотного компонента как из значения корреляции, так и из предшествующих распознаваемых данных, сохраненных в запоминающем устройстве 204 шаблонов высокочастотных компонентов, и модуль 206 суммирования для коррекции высокочастотного компонента увеличенного изображения посредством использования оцененного высокочастотного компонента, чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел.
[0152] В модуле формирования интерполированных изображений, показанном на фиг. 16, когда опорное изображение 15 в диапазоне, используемом для процесса поиска движения, вводится из данных опорного изображения, сохраненных в запоминающем устройстве 14 кадров предсказания с компенсацией движения, в модуль 43 формирования интерполированных изображений, это опорное изображение 15 вводится в процессор 200 уменьшения изображений, в модуль 201b извлечения высокочастотных признаков и в процессор 205 увеличения изображений.
[0153] Процессор 200 уменьшения изображений формирует уменьшенное изображение, высота и ширина которого, соответственно, уменьшаются в 1/N раз (N представляет собой степень 2, к примеру, 2 или 4) от исходной высоты и ширины, из опорного изображения 15, и выводит уменьшенное изображение в модуль 201a извлечения высокочастотных признаков. Типичный фильтр уменьшения изображений реализует этот процесс уменьшения.
[0154] Модуль 201a извлечения высокочастотных признаков извлекает первое количество признаков, ассоциированное с высокочастотным компонентом, таким как краевой компонент, из уменьшенного изображения, которое формируется посредством процессора 200 уменьшения изображений. В качестве первого количества признаков, например, может быть использован параметр, показывающий DCT в локальном блоке или распределение коэффициентов вейвлет-преобразования.
[0155] Модуль 201b извлечения высокочастотных признаков выполняет процесс извлечения высокочастотных признаков, аналогичный процессу, выполняемому посредством модуля 201a извлечения высокочастотных признаков, и извлекает второе количество признаков, имеющее область частотного компонента, отличающуюся от области частотного компонента первого количества признаков, из опорного изображения 15. Второе количество признаков выводится в модуль 202 вычисления корреляции и также выводится в модуль 203 оценки высокочастотных компонентов.
[0156] Когда первое количество признаков вводится из модуля 201a извлечения высокочастотных признаков, и второе количество признаков вводится из модуля 201b извлечения высокочастотных признаков, модуль 202 вычисления корреляции вычисляет значение корреляции на основе количества признаков в области высокочастотного компонента между опорным изображением 15 и уменьшенным изображением в единицах одного локального блока. В качестве этого значения корреляции, например, вычисляется расстояние между первым количеством признаков и вторым количеством признаков.
[0157] Модуль 203 оценки высокочастотных компонентов указывает предшествующий распознаваемый шаблон высокочастотного компонента из запоминающего устройства 204 шаблонов высокочастотных компонентов на основе как второго количества признаков, введенного в него из модуля 201b извлечения высокочастотных признаков, так и значения корреляции, введенного в него из модуля 202 вычисления корреляции, и оценивает и формирует высокочастотный компонент, который должно иметь опорное изображение 207, имеющее точность в виртуальный пиксел. Сформированный высокочастотный компонент выводится в модуль 206 суммирования.
[0158] Процессор 205 увеличения изображений выполняет либо арифметическую операцию интерполяции с 6-отводным фильтром с использованием шести целых пикселов, идущих в вертикальном или горизонтальном направлении, либо фильтрацию для увеличения, такую как билинейная фильтрация, для введенного опорного изображения 15, как в случае выполнения процесса формирования для формирования выборок, имеющих точность в полпиксела, в соответствии с MPEG-4 AVC-стандартами, чтобы увеличивать каждое из высоты и ширины опорного изображения 15 в N раз, чтобы формировать увеличенное изображение.
[0159] Модуль 206 суммирования суммирует высокочастотный компонент, введенный в него из модуля 203 оценки высокочастотных компонентов, с увеличенным изображением, введенным в него из процессора 205 увеличения изображений, чтобы формировать увеличенное опорное изображение. Более конкретно, модуль суммирования корректирует высокочастотный компонент увеличенного изображения, чтобы формировать увеличенное опорное изображение, высота и ширина которого, соответственно, увеличены в N раз от исходной высоты и ширины. Модуль 43 формирования интерполированных изображений использует эти данные увеличенного опорного изображения в качестве опорного изображения 207, имеющего точность в виртуальный пиксел, в котором 1/N задается равным 1.
[0160] Модуль 43 формирования интерполированных изображений альтернативно может иметь такую структуру, что он, после формирования опорного изображения 207, имеющего точность в полпиксела (1/2 пиксела), посредством задания N равным 2, формирует виртуальные выборки (пикселы), имеющие точность в 1/4 пиксела, посредством выполнения арифметической операции интерполяции с использованием фильтра для получения среднего значения смежных 1/2 пикселов или целых пикселов.
[0161] Дополнительно, модуль 43 формирования интерполированных изображений может иметь такую структуру, что он включает в себя модуль для переключения того, суммировать или нет высокочастотный компонент, выведенный посредством модуля 203 оценки высокочастотных компонентов, с увеличенным изображением, выведенным посредством процессора 205 увеличения изображений, чтобы управлять результатом формирования опорного изображения 207, имеющего точность в виртуальный пиксел, в дополнение к структуре, показанной на фиг. 16. В случае если модуль формирования интерполированных изображений имеет такую структуру, предоставляется преимущество подавления плохого влияния на эффективность кодирования, когда точность оценки модуля 203 оценки высокочастотных компонентов плохая по какой-либо причине, такой как исключительный шаблон изображения. Когда модуль 206 суммирования избирательно определяет то, суммировать или нет высокочастотный компонент, выведенный посредством модуля 203 оценки высокочастотных компонентов, с увеличенным изображением, устройство кодирования движущихся изображений формирует предсказанное изображение 45 как для случая их суммирования, так и для случая их несуммирования, а затем выполняет предсказание с компенсацией движения и кодирует результаты предсказания с компенсацией движения и определяет одно из предсказанных изображений, которое предоставляет более высокую степень эффективности. Устройство кодирования движущихся изображений затем мультиплексирует информацию процесса суммирования, показывающую то, суммирует или нет модуль суммирования высокочастотный компонент с увеличенным изображением, в поток 30 битов в качестве управляющей информации.
[0162] В качестве альтернативы, модуль 43 формирования интерполированных изображений может уникально определять то, суммировать или нет высокочастотный компонент с увеличенным изображением, из другого параметра, который должен быть мультиплексирован в поток 30 битов, чтобы управлять процессом суммирования, выполняемым посредством модуля 206 суммирования. В качестве примера определения того, суммировать или нет высокочастотный компонент с увеличенным изображением, из другого параметра, например, может быть предусмотрен способ с использованием типа режима 7 кодирования, как показано на фиг. 2A или 2B. Когда выбирается режим кодирования, показывающий, что разделение макроблока в блоки областей компенсации движения является точным, существует высокая вероятность того, что шаблон изображения имеет резкое перемещение. Следовательно, в этом случае, при условии, что эффект сверхразрешения является низким, модуль 43 формирования интерполированных изображений управляет модулем 206 суммирования, чтобы инструктировать этому модулю суммирования не суммировать высокочастотный компонент, выведенный посредством модуля 203 оценки высокочастотных компонентов, с увеличенным изображением. Напротив, когда выбирается либо режим кодирования, показывающий, что размер каждого блока областей компенсации движения в макроблоке является большим, либо режим внутреннего предсказания, в котором размер блока является большим, существует высокая вероятность того, что шаблон изображения является относительно стационарной областью изображения. Следовательно, в этом случае, при условии, что эффект сверхразрешения является низким, модуль 43 формирования интерполированных изображений управляет модулем 206 суммирования, чтобы инструктировать этому модулю суммирования суммировать высокочастотный компонент, выведенный посредством модуля 203 оценки высокочастотных компонентов, с увеличенным изображением.
[0163] В качестве примера использования другого параметра, отличного от режима 7 кодирования, может быть использован такой параметр, как размер вектора движения или варьирование в поле векторов движения с учетом смежных областей. Модуль 43 формирования интерполированных изображений модуля 9 предсказания с компенсацией движения использует тип параметра совместно с устройством декодирования, чтобы определять то, суммировать или нет высокочастотный компонент с увеличенным изображением. В этом случае, устройство кодирования движущихся изображений не обязательно должно мультиплексировать управляющую информацию относительно процесса суммирования непосредственно в поток 30 битов, тем самым позволяя повышать эффективность сжатия.
[0164] Устройство кодирования движущихся изображений может иметь такую структуру, что оно выполняет вышеуказанный процесс на основе сверхразрешения для опорного изображения 15, которое должен быть сохранено в запоминающем устройстве 14 кадров предсказания с компенсацией движения, чтобы преобразовывать опорное изображение в опорное изображение 207, имеющее точность в виртуальный пиксел, до сохранения опорного изображения в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и после этого сохранять опорное изображение 207 в запоминающем устройстве кадров предсказания с компенсацией движения. В случае этой структуры, хотя размер запоминающего устройства, требуемого в качестве запоминающего устройства 14 кадров предсказания с компенсацией движения, увеличивается, устройство кодирования движущихся изображений не обязательно должно последовательно выполнять процесс на основе сверхразрешения во время поиска на основе вектора движения и во время формирования предсказанного изображения, и нагрузка по обработке на сам процесс предсказания с компенсацией движения, может быть уменьшена, и устройство кодирования движущихся изображений становится способным параллельно выполнять процесс кодирования кадра и процесс формирования для формирования опорного изображения 207, имеющего точность в виртуальный пиксел, и может ускорять процессы.
[0165] Далее показывается пример процедуры обнаружения вектора движения для обнаружения вектора движения, имеющего точность в виртуальный пиксел, с использованием опорного изображения 207, имеющего точность в виртуальный пиксел, посредством использования фиг. 3.
[0166]
Процедура I' обнаружения вектора движения
Модуль 43 формирования интерполированных изображений формирует предсказанное изображение 45 для вектора 44 движения, имеющего точность в целый пиксел, в предварительно определенном диапазоне поиска движения изображения 41 блоков областей компенсации движения. Предсказанное изображение 45 (предсказанное изображение 17), сформированное с точностью в целый пиксел, выводится в модуль 12 вычитания и вычитается из изображения 41 блоков областей компенсации движения (макро-/субблочного изображения 5) посредством модуля 12 вычитания, так что результат вычитания задается как сигнал 13 разности предсказания. Модуль 3 управления кодированием оценивает степень эффективности предсказания для сигнала 13 разности предсказания и для вектора 44 движения (параметра 18 предсказания), имеющего точность в целый пиксел. Поскольку оценка этой эффективности предсказания может быть выполнена в соответствии с вышеприведенным уравнением (1), поясненным в вышеуказанном варианте 1 осуществления, пояснение оценки опускается далее.
[0167]
Процедура II' обнаружения вектора движения
Модуль 43 формирования интерполированных изображений формирует предсказанное изображение 45 посредством использования опорного изображения 207, имеющего точность в виртуальный пиксел, сформированного в модуле 43 формирования интерполированных изображений, показанном на фиг. 16, для вектора 44 движения, имеющего точность в 1/2 пиксела, расположенного около вектора движения, имеющего точность в целый пиксел, который определяется в соответствии с вышеуказанной "процедурой I обнаружения вектора движения". После этого, как в случае вышеуказанной "процедуры I обнаружения вектора движения", предсказанное изображение 45 (предсказанное изображение 17), сформированное с точностью в 1/2 пиксела, вычитается из изображения 41 блоков областей компенсации движения (макро-/субблочного изображения 5) посредством модуля 12 вычитания, чтобы получать сигнал 13 разности предсказания. Далее, модуль 3 управления кодированием оценивает степень эффективности предсказания для этого сигнала 13 разности предсказания и для вектора 44 движения (параметра 18 предсказания), имеющего точность в 1/2 пиксела, и избирательно определяет вектор 44 движения, имеющий точность в 1/2 пиксела, который минимизирует затраты J1 на предсказание, из одного или более векторов движения, имеющих точность в 1/2 пиксела, расположенных около вектора движения, имеющего точность в целый пиксел.
[0168]
Процедура III' обнаружения вектора движения
Также аналогично вектору движения, имеющему точность в 1/4 пиксела, модуль 3 управления кодированием и модуль 9 предсказания с компенсацией движения избирательно определяют вектор 44 движения, имеющий точность в 1/4 пиксела, который минимизирует затраты J1 на предсказание, из одного или более векторов движения, имеющих точность в 1/4 пиксела, расположенных около вектора движения, имеющего точность в 1/2 пиксела, который определяется в соответствии с вышеуказанной "процедурой II обнаружения вектора движения".
[0169]
Процедура IV' обнаружения вектора движения
После этого, модуль 3 управления кодированием и модуль 9 предсказания с компенсацией движения аналогично обнаруживают вектор движения, имеющий точность в виртуальный пиксел, пока вектор движения, обнаруженный таким образом, имеет предварительно определенную степень точности.
[0170] Таким образом, модуль 9 предсказания с компенсацией движения выводит вектор движения с точностью в виртуальный пиксел, имеющий предварительно определенную точность, которая определяется для каждого изображения 41 блоков областей компенсации движения, который является одним из множества блоков, на которые разделяется макро-/субблочное изображение 5 и каждый из которых является единицей для компенсации движения, показанной посредством режима 7 кодирования и идентификационного номера опорного изображения, указываемого посредством вектора движения, в качестве параметров 18 предсказания. Модуль 9 предсказания с компенсацией движения также выводит предсказанное изображение 45 (предсказанное изображение 17), которое формируется посредством использования параметров 18 предсказания, в модуль 12 вычитания, и модуль 12 вычитания вычитает предсказанное изображение 45 из макро-/субблочного изображения 5, чтобы получать сигнал 13 разности предсказания. Сигнал 13 разности предсказания, выведенный из модуля 12 вычитания, выводится в модуль 19 преобразования/квантования. Поскольку последующие процессы, выполняемые после этого, являются идентичными процессам, поясненным в вышеуказанном варианте 1 осуществления, пояснение процессов опускается далее.
[0171] Далее поясняется устройство декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления. Поскольку устройство декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления имеет структуру, идентичную структуре устройства декодирования движущихся изображений в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления, за исключением того, что устройство декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления имеет структуру, отличающуюся от структуры, ассоциированной с процессом формирования предсказанных изображений, имеющим точность в виртуальный пиксел, выполняемым посредством модуля 70 предсказания с компенсацией движения в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления, и устройство декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления работает способом, отличным от способа в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления, при выполнении процесса формирования предсказанных изображений, структура и работа устройства декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления поясняется посредством использования фиг. 1-16.
[0172] В соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления, при формировании предсказанного изображения на основе опорного изображения, имеющего точность в виртуальный пиксел, к примеру, точность в полпиксела или 1/4 пиксела, модуль 70 предсказания с компенсацией движения формирует виртуальные пикселы посредством реализации арифметической операции интерполяции с 6-отводным фильтром с использованием шести целых пикселов, идущих в вертикальном или горизонтальном направлении и т.п., чтобы формировать предсказанное изображение, как в случае MPEG-4 AVC-стандартов. В отличие от этого, модуль 70 предсказания с компенсацией движения в соответствии с этим вариантом 3 осуществления увеличивает опорное изображение 76, имеющее точность в целый пиксел, сохраненное в запоминающем устройстве 75 кадров предсказания с компенсацией движения, посредством выполнения процесса на основе сверхразрешения для опорного изображения. Как результат, модуль предсказания с компенсацией движения формирует опорное изображение, имеющее точность в виртуальный пиксел.
[0173] Модуль 70 предсказания с компенсацией движения в соответствии с этим вариантом 3 осуществления формирует предсказанное изображение 72 из опорного изображения 76, сохраненного в запоминающем устройстве 75 кадров предсказания с компенсацией движения, на основе векторов движения, включенных во введенные оптимальные параметры 63 предсказания, идентификационного номера (индекса опорного изображения) опорного изображения, указываемого посредством каждого из векторов движения, и т.д. и выводит предсказанное изображение, к примеру, предсказанное изображение в соответствии с любым из вышеуказанных вариантов 1 и 2 осуществления. Модуль 73 суммирования суммирует предсказанное изображение 72, введенное из модуля 70 предсказания с компенсацией движения, с декодированными значениями 67 сигнала разности предсказания, введенными из модуля 66 обратного квантования/обратного преобразования, чтобы формировать декодированное изображение 74.
[0174] Способ формирования для формирования предсказанного изображения 72, который реализуется посредством модуля 70 предсказания с компенсацией движения, соответствует работе модуля 9 предсказания с компенсацией движения в устройстве кодирования, из которого исключен процесс поиска во множестве опорных изображений для векторов движения (соответствующий операциям модуля 42 обнаружения движения и модуля 43 формирования интерполированных изображений, показанных на фиг. 3). Модуль предсказания с компенсацией движения выполняет только процесс формирования предсказанного изображения 72 в соответствии с оптимальными параметрами 63 предсказания, предоставляемыми в него из модуля 61 декодирования переменной длины.
[0175] При формировании предсказанного изображения 72 с точностью в виртуальный пиксел, модуль 70 предсказания с компенсацией движения выполняет процесс, идентичный процессу, показанному на фиг. 16, для опорного изображения 76, сохраненного в запоминающем устройстве 75 кадров предсказания с компенсацией движения и указываемого посредством идентификационного номера (индекса опорного изображения) опорного изображения, чтобы формировать опорное изображение, имеющее точность в виртуальный пиксел, и затем формирует предсказанное изображение 72 посредством использования декодированного вектора движения. В это время, когда устройство кодирования избирательно определяет, суммировать или нет высокочастотный компонент, выведенный посредством модуля 203 оценки высокочастотных компонентов, показанного на фиг. 16, с увеличенным изображением, устройство декодирования извлекает управляющую информацию, показывающую то, выполняет или нет устройство кодирования процесс суммирования, из потока 60 битов, или уникально определяет то, суммирует или нет устройство кодирования высокочастотный компонент с увеличенным изображением, из другого параметра, чтобы управлять процессом суммирования в модуле 70 предсказания с компенсацией движения. В случае использования другого параметра, чтобы определять то, суммирует или нет устройство кодирования высокочастотный компонент с увеличенным изображением, может быть использован такой параметр, как размер вектора движения или варьирование в поле векторов движения с учетом смежных областей. Модуль 70 предсказания с компенсацией движения использует тип параметра совместно с устройством кодирования и определяет то, суммирует или нет устройство кодирования высокочастотный компонент с увеличенным изображением. Как результат, устройство кодирования движущихся изображений не обязательно должно мультиплексировать управляющую информацию относительно процесса суммирования непосредственно в поток 30 битов, тем самым позволяя повышать эффективность сжатия.
[0176] Модуль 70 предсказания с компенсацией движения может выполнять процесс формирования опорного изображения, имеющего точность в виртуальный пиксел, только тогда, когда векторы движения, включенные в оптимальные параметры 18a предсказания, которые выводятся из устройства кодирования (т.е. оптимальные параметры 63 предсказания в устройстве декодирования), указывают точность в виртуальный пиксел. В этой структуре, модуль 9 предсказания с компенсацией движения переключается между использованием опорного изображения 15, сохраненного в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и формированием и использованием опорного изображения 207, имеющего точность в виртуальный пиксел, посредством модуля 43 формирования интерполированных изображений в соответствии с вектором движения и формирует предсказанное изображение 17 либо из опорного изображения 15, либо из опорного изображения 207, имеющего точность в виртуальный пиксел.
[0177] В качестве альтернативы, модуль предсказания с компенсацией движения может иметь такую структуру, что он выполняет процесс, показанный на фиг. 16, для опорного изображения, которое по-прежнему должно быть сохранено в запоминающем устройстве 75 кадров предсказания с компенсацией движения, и сохраняет опорное изображение, имеющее точность в виртуальный пиксел, для которого выполнен процесс увеличения, и в котором высокочастотный компонент скорректирован в запоминающем устройстве 75 кадров предсказания с компенсацией движения. В случае этой структуры, хотя размер запоминающего устройства, которое должно быть подготовлено в качестве запоминающего устройства 75 кадров предсказания с компенсацией движения, увеличивается, необязательно дублированно выполнять процесс, показанный на фиг. 16, когда число раз, когда вектор движения указывает на пиксел в идентичной позиции виртуальной выборки. Следовательно, объем вычислений может быть уменьшен. Дополнительно, в случае, если диапазон смещения, который указывается посредством вектора движения, известен заранее посредством устройства декодирования, модуль 70 предсказания с компенсацией движения может иметь такую структуру, что он выполняет процесс, показанный на фиг. 16, для целевой области при ограничении этой области только диапазоном. Необходимо только инструктировать устройству декодирования знать диапазон смещения, который указывается посредством вектора движения, посредством, например, мультиплексирования диапазона значений, показывающего диапазон смещения, который указывается посредством вектора движения, в поток 60 битов, чтобы передавать диапазон значений в устройство декодирования, или инструктирования как устройству кодирования, так и устройству декодирования взаимно определять и задавать диапазон значений при операциях.
[0178] Как упомянуто выше, устройство кодирования движущихся изображений в соответствии с вариантом 3 осуществления имеет такую структуру, что модуль 9 предсказания с компенсацией движения имеет модуль 43 формирования интерполированных изображений для выполнения процесса увеличения для опорного изображения 15, сохраненного в запоминающем устройстве 14 кадров предсказания с компенсацией движения, а также коррекции высокочастотного компонента, чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел, и переключается между использованием опорного изображения 15 или формированием и использованием опорного изображения 207, имеющего точность в виртуальный пиксел, в соответствии с вектором движения, чтобы формировать предсказанное изображение 17, даже при выполнении высокого сжатия для введенного видеосигнала 1, включающего в себя множество высокочастотных компонентов, к примеру, тонкие края, устройство кодирования движущихся изображений может формировать предсказанное изображение 17, которое должен быть сформировано посредством использования предсказания с компенсацией движения, из опорного изображения, включающего в себя множество высокочастотных компонентов, тем самым позволяя эффективно кодировать со сжатием введенный видеосигнал.
[0179] Дополнительно, также устройство декодирования движущихся изображений в соответствии с вариантом 3 осуществления имеет такую структуру, что модуль 70 предсказания с компенсацией движения имеет модуль формирования интерполированных изображений для формирования опорного изображения, имеющего точность в виртуальный пиксел, в соответствии с процедурой, идентичной процедуре, выполняемой посредством устройства кодирования движущихся изображений, и переключается между использованием опорного изображения 76, сохраненного в запоминающем устройстве 75 кадров предсказания с компенсацией движения, или формированием и использованием опорного изображения, имеющего точность в виртуальный пиксел, в соответствии с вектором движения, мультиплексированным в поток 60 битов, чтобы формировать предсказанное изображение 72, устройство декодирования движущихся изображений может корректно декодировать поток битов, кодированный посредством устройства кодирования движущихся изображений в соответствии с вариантом 3 осуществления.
[0180] Модуль 43 формирования интерполированных изображений в соответствии с вышеуказанным вариантом 3 осуществления выполняет процесс на основе сверхразрешения на основе вышеуказанной технологии, раскрытой авторами W. T. Freeman и др. (2000 год), чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел. Тем не менее, процесс на основе сверхразрешения не ограничивается процессом на основе вышеуказанной технологии, и модуль формирования интерполированных изображений может иметь такую структуру, что он использует другую произвольную технологию на основе сверхразрешения, чтобы формировать опорное изображение 207, имеющее точность в виртуальный пиксел.
[0181] Дополнительно, в случае, если устройство кодирования движущихся изображений в соответствии с любым из вышеуказанных вариантов 1-3 осуществления состоит из компьютера, программа кодирования движущихся изображений, в которой описываются процессы, выполняемые посредством модуля 2 разделения на блоки, модуля 3 управления кодированием, модуля 6 переключения, модуля 8 внутреннего предсказания, модуля 9 предсказания с компенсацией движения, запоминающего устройства 14 кадров предсказания с компенсацией движения, модуля 19 преобразования/квантования, модуля 22 обратного квантования/обратного преобразования, модуля 23 кодирования переменной длины, модуля 27 контурного фильтра и запоминающего устройства 28 для внутреннего предсказания, может быть сохранена в запоминающем устройстве компьютера, и CPU компьютера может быть выполнен для исполнения программы кодирования движущихся изображений, сохраненной в запоминающем устройстве. Аналогично, в случае, если устройство декодирования движущихся изображений в соответствии с любым из вышеуказанных вариантов 1-3 осуществления состоит из компьютера, программа декодирования движущихся изображений, в которой описываются процессы, выполняемые посредством модуля 61 декодирования переменной длины, модуля 66 обратного квантования/обратного преобразования, модуля 68 переключения, модуля 69 внутреннего предсказания, модуля 70 предсказания с компенсацией движения, запоминающего устройства 75 кадров предсказания с компенсацией движения, запоминающего устройства 77 для внутреннего предсказания и модуля 78 контурного фильтра, может быть сохранена в запоминающем устройстве компьютера, и CPU компьютера может быть выполнен для исполнения программы декодирования движущихся изображений, сохраненной в запоминающем устройстве.
Промышленная применимость
[0182] Поскольку устройство кодирования движущихся изображений и устройство декодирования движущихся изображений в соответствии с настоящим изобретением могут адаптивно переключаться между размерами блоков преобразования, чтобы кодировать со сжатием введенное движущееся изображение для каждой области, которая служит в качестве единицы для предсказания с компенсацией движения в каждом макроблоке, устройство кодирования движущихся изображений и устройство декодирования движущихся изображений в соответствии с настоящим изобретением являются подходящими для использования в качестве устройства кодирования движущихся изображений, которое разделяет движущееся изображение на предварительно определенные области, чтобы кодировать движущееся изображение на основе области, и в качестве устройства декодирования движущихся изображений, которое декодирует кодированное движущееся изображение на основе предварительно определенной области.
Пояснение ссылочных обозначений
[0183]
1 – введенный видеосигнал,
2 – модуль разделения на блоки,
3 – модуль управления кодированием,
4 – размер макроблока,
5 – макро-/субблочное изображение,
6 – модуль переключения,
7 – режим кодирования,
7a – оптимальный режим кодирования,
8 – модуль внутреннего предсказания,
9 – модуль предсказания с компенсацией движения,
10 – параметр предсказания,
10a – оптимальный параметр предсказания,
11 – предсказанное изображение,
12 – модуль вычитания,
13 – сигнал разности предсказания,
13a – оптимальный сигнал разности предсказания,
14 – запоминающее устройство кадров предсказания с компенсацией движения,
15 – опорное изображение,
17 – предсказанное изображение,
18 – параметр предсказания,
18a – оптимальный параметр предсказания,
19 – модуль преобразования/квантования,
20 – параметр сжатия,
20a – оптимальный параметр сжатия,
21 – сжатые данные,
22 – модуль обратного квантования/обратного преобразования,
23 – модуль кодирования переменной длины,
24 – локальный декодированный сигнал разности предсказания,
25 – модуль суммирования,
26 – сигнал локального декодированного изображения,
27 – модуль контурного фильтра,
28 – запоминающее устройство для внутреннего предсказания,
29 – локальное декодированное изображение,
30 – поток битов,
40 – модуль разделения на области компенсации движения,
41 – изображение блоков областей компенсации движения,
42 – модуль обнаружения движения,
43 – модуль формирования интерполированных изображений,
44 – вектор движения,
45 – предсказанное изображение,
50 – модуль разделения по размерам блоков преобразования,
51 – объектный блок преобразования,
52 – модуль преобразования,
53 – коэффициенты преобразования,
54 – модуль квантования,
60 – поток битов,
61 – модуль декодирования переменной длины,
62 – оптимальный режим кодирования,
63 – оптимальный параметр предсказания,
64 – сжатые данные,
65 – оптимальный параметр сжатия,
66 – модуль обратного квантования/обратного преобразования,
67 – декодированное значение сигнала разности предсказания,
68 – модуль переключения,
69 – модуль внутреннего предсказания,
70 – модуль предсказания с компенсацией движения,
71 – предсказанное изображение,
72 – предсказанное изображение,
73 – модуль суммирования,
74 и 74a – декодированное изображение,
75 – запоминающее устройство кадров предсказания с компенсацией движения,
76 – опорное изображение,
77 – запоминающее устройство для внутреннего предсказания,
78 – модуль контурного фильтра,
79 – воспроизведенное изображение,
90 – модуль инициализации,
91 – флаг инициализации контекстной информации,
92 – модуль бинаризации,
93 – модуль формирования информации о частоте,
94 – информация о частоте,
95 – модуль обновления таблиц бинаризации,
96 – запоминающее устройство контекстной информации,
97 – запоминающее устройство таблиц вероятностей,
98 – запоминающее устройство таблиц изменения состояний,
99 – модуль формирования контекста,
100 – сигнал указания типа,
101 – информация периферийных блоков,
102 – контекстная идентификационная информация,
103 – двоичный сигнал,
104 – функциональный модуль обработки арифметического кодирования,
105 – запоминающее устройство таблиц бинаризации,
106 – контекстная информация,
107 – номер таблицы вероятностей,
108 – вероятность появления MPS,
109 – значение символа,
110 – номер таблицы вероятностей,
111 – кодированная битовая последовательность,
112 – идентификационная информация обновления таблицы бинаризации,
113 – флаг обновления таблицы бинаризации,
120 – модуль инициализации,
121 – информация инициализации контекста,
122 – модуль формирования контекста,
123 – сигнал указания типа,
124 – информация периферийных блоков,
126 – контекстная идентификационная информация,
127 – функциональный модуль обработки арифметического декодирования,
128 – запоминающее устройство контекстной информации,
129 – контекстная информация,
130 – номер таблицы вероятностей,
131 – запоминающее устройство таблиц вероятностей,
132 – вероятность появления MPS,
133 – кодированная битовая последовательность,
134 – значение символа,
135 – запоминающее устройство таблиц изменения состояний,
136 – номер таблицы вероятностей,
137 – двоичный сигнал,
138 – модуль обратной бинаризации,
139 – таблица бинаризации,
140 – декодированное значение,
141 – модуль обновления таблиц бинаризации,
142 – флаг обновления таблицы бинаризации,
143 – запоминающее устройство таблиц бинаризации,
144 – идентификационная информация обновления таблицы бинаризации,
200 – процессор уменьшения изображений,
201a и 201b – модуль извлечения высокочастотных признаков,
202 – модуль вычисления корреляции,
203 – модуль оценки высокочастотных компонентов,
204 – запоминающее устройство шаблонов высокочастотных компонентов,
205 – процессор увеличения изображений,
206 – модуль суммирования,
207 – опорное изображение, имеющее точность в виртуальный пиксел.

Claims (16)

1. Устройство декодирования движущихся изображений для декодирования движущегося изображения из потока битов, сформированного посредством разделения изображения на множество макроблоков и посредством кодирования со сжатием этого множества макроблоков, причем устройство декодирования движущихся изображений содержит:
модуль декодирования для декодирования информации о размере макроблока, указанной для последовательности, содержащей один или более кадров изображений, и для декодирования параметров предсказания, информации, указывающей размер блока преобразования, и сжатых данных, причем параметры предсказания включают в себя информацию о режиме внутреннего предсказания, вектор движения и индекс опорного изображения;
модуль внутреннего предсказания для формирования предсказанного изображения посредством использования упомянутой информации о режиме внутреннего предсказания, и сигнала декодированного изображения в кадре;
модуль предсказания с компенсацией движения для выполнения предсказания с компенсацией движения посредством использования упомянутого вектора движения и опорного изображения, указываемого посредством упомянутого индекса опорного изображения, чтобы формировать предсказанное изображение;
модуль преобразования для выполнения процесса обратного квантования и обратного преобразования для упомянутых сжатых данных, чтобы формировать декодированный сигнал разности предсказания; и
модуль суммирования для суммирования предсказанного изображения, выведенного либо из модуля внутреннего предсказания, либо из модуля предсказания с компенсацией движения, с декодированным сигналом разности предсказания, чтобы выводить сигнал декодированного изображения,
при этом размер блока преобразования выбирается из множества возможных вариантов, максимальный размер которых является размером упомянутого макроблока, и
при этом модуль преобразования определяет размер блока преобразования на основе декодированной информации, указывающей размер блока преобразования, и выполняет процесс обратного квантования и обратного преобразования для сжатых данных для каждого из блоков, имеющих упомянутый размер блока преобразования.
2. Устройство кодирования изображений, содержащее:
модуль разделения на блоки для разделения введенного изображения на макроблоки, чтобы выводить блочное изображение;
модуль внутреннего предсказания для выполнения внутреннего предсказания для упомянутого блочного изображения посредством использования сигнала изображения в кадре, чтобы формировать изображение внутреннего предсказания;
модуль предсказания с компенсацией движения для выполнения предсказания с компенсацией движения для упомянутого блочного изображения, чтобы формировать изображение предсказания с компенсацией движения;
модуль преобразования для выполнения процесса преобразования и квантования для сигнала разности предсказания, который формируется посредством вычитания упомянутого изображения внутреннего предсказания или упомянутого изображения предсказания с компенсацией движения из упомянутого блочного изображения, чтобы формировать сжатые данные;
модуль кодирования для кодирования упомянутых сжатых данных; и
модуль управления кодированием для выбора размера блока преобразования из множества возможных вариантов, максимальный размер которых является размером данного макроблока для последовательности, которая состоит из одного или более введенных изображений, при этом
упомянутый модуль преобразования выполняет процесс преобразования и квантования для каждого из блоков, имеющих упомянутый размер блока преобразования, чтобы формировать сжатые данные.
RU2015151397A 2010-04-09 2015-12-01 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений RU2627101C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010090534 2010-04-09
JP2010090534 2010-04-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2014116111/08A Division RU2573222C2 (ru) 2010-04-09 2011-03-31 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2017124991A Division RU2663374C1 (ru) 2010-04-09 2017-07-13 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений

Publications (2)

Publication Number Publication Date
RU2015151397A RU2015151397A (ru) 2017-06-06
RU2627101C2 true RU2627101C2 (ru) 2017-08-03

Family

ID=44762284

Family Applications (7)

Application Number Title Priority Date Filing Date
RU2014116111/08A RU2573222C2 (ru) 2010-04-09 2011-03-31 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2012147595/08A RU2523071C1 (ru) 2010-04-09 2011-03-31 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2015151397A RU2627101C2 (ru) 2010-04-09 2015-12-01 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2017124991A RU2663374C1 (ru) 2010-04-09 2017-07-13 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2018125649A RU2699049C1 (ru) 2010-04-09 2018-07-12 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2019126198A RU2716032C1 (ru) 2010-04-09 2019-08-20 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2020107720A RU2734871C1 (ru) 2010-04-09 2020-02-20 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений

Family Applications Before (2)

Application Number Title Priority Date Filing Date
RU2014116111/08A RU2573222C2 (ru) 2010-04-09 2011-03-31 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2012147595/08A RU2523071C1 (ru) 2010-04-09 2011-03-31 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений

Family Applications After (4)

Application Number Title Priority Date Filing Date
RU2017124991A RU2663374C1 (ru) 2010-04-09 2017-07-13 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2018125649A RU2699049C1 (ru) 2010-04-09 2018-07-12 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2019126198A RU2716032C1 (ru) 2010-04-09 2019-08-20 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
RU2020107720A RU2734871C1 (ru) 2010-04-09 2020-02-20 Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений

Country Status (15)

Country Link
US (6) US20130028326A1 (ru)
EP (2) EP3101897B1 (ru)
JP (8) JPWO2011125313A1 (ru)
KR (6) KR20150013776A (ru)
CN (4) CN107046644B (ru)
BR (1) BR112012025206B1 (ru)
CA (1) CA2795425C (ru)
ES (1) ES2899780T3 (ru)
HK (1) HK1257212A1 (ru)
MX (3) MX353107B (ru)
PL (1) PL3101897T3 (ru)
RU (7) RU2573222C2 (ru)
SG (3) SG10202001623RA (ru)
TW (4) TWI520617B (ru)
WO (1) WO2011125313A1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2771955C2 (ru) * 2017-08-11 2022-05-16 Хуавей Текнолоджиз Ко., Лтд. Устройство, оборудование, способ кодирования и декодирования видеоизображений
US11496732B2 (en) 2017-08-11 2022-11-08 Huawei Technologies Co., Ltd. Video image encoding and decoding method, apparatus, and device
US12047570B2 (en) 2019-03-03 2024-07-23 Huawei Technologies Co., Ltd. Encoder, a decoder, and corresponding methods for transform process in video coding

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101609490B1 (ko) * 2011-01-12 2016-04-05 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
JP2013012995A (ja) * 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
KR20180080365A (ko) * 2011-10-14 2018-07-11 어드밴스드 마이크로 디바이시즈, 인코포레이티드 영역-기반 이미지 압축
US8571092B2 (en) * 2011-10-14 2013-10-29 Texas Instruments Incorporated Interconnect coding method and apparatus
JP6034010B2 (ja) * 2011-10-24 2016-11-30 ソニー株式会社 符号化装置、符号化方法、およびプログラム
WO2013065402A1 (ja) * 2011-10-31 2013-05-10 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN103096053B (zh) * 2011-11-04 2015-10-07 华为技术有限公司 一种变换模式的编解码方法和装置
CN103108177B (zh) * 2011-11-09 2016-11-23 华为技术有限公司 图像编码方法及图像编码装置
RU2606399C9 (ru) * 2011-12-28 2017-07-12 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения
SG10201604926WA (en) * 2012-01-19 2016-08-30 Mitsubishi Electric Corp Image decoding device, image encoding device, image decoding method, and image encoding method
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
HUE041710T2 (hu) * 2012-04-15 2019-05-28 Samsung Electronics Co Ltd Paraméterfrissítési eljárás konverzió együttható szint entrópia dekódolására és konverzió együttható szint entrópia dekódolási berendezése, ami azt használja
CA2871668A1 (en) * 2012-04-24 2013-10-31 Lyrical Labs Video Compression Technology, LLC Macroblock partitioning and motion estimation using object analysis for video compression
KR101436369B1 (ko) * 2013-06-25 2014-09-11 중앙대학교 산학협력단 적응적 블록 분할을 이용한 다중 객체 검출 장치 및 방법
CN105379284B (zh) 2013-07-22 2020-02-21 瑞萨电子株式会社 动态图像编码装置及其动作方法
JP5719410B2 (ja) 2013-07-25 2015-05-20 日本電信電話株式会社 画像符号化方法、画像符号化装置及び画像符号化プログラム
EP2975847A4 (en) * 2013-09-09 2017-01-18 Nec Corporation Video-encoding device, video-encoding method, and program
US9534469B2 (en) 2013-09-27 2017-01-03 Baker Hughes Incorporated Stacked tray ball dropper for subterranean fracking operations
KR101785886B1 (ko) * 2014-02-03 2017-10-16 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 부호화 스트림 변환 장치, 화상 부호화 방법, 및 화상 복호 방법
KR102264840B1 (ko) * 2014-11-27 2021-06-15 삼성전자주식회사 비디오 프레임 인코딩 회로, 그것의 인코딩 방법 및 그것을 포함하는 비디오 데이터 송수신 장치
FR3029333A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US10123045B2 (en) * 2015-07-24 2018-11-06 Qualcomm Incorporated Modification to block size for transform mode in display stream compression
KR102525033B1 (ko) 2015-11-11 2023-04-24 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
US10142635B2 (en) * 2015-12-18 2018-11-27 Blackberry Limited Adaptive binarizer selection for image and video coding
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
KR102411911B1 (ko) * 2015-12-24 2022-06-22 삼성전자주식회사 프레임 레이트 변환 장치 및 그 프레임 레이트 변환 방법
US10560702B2 (en) 2016-01-22 2020-02-11 Intel Corporation Transform unit size determination for video coding
JP6408724B2 (ja) * 2016-01-25 2018-10-17 京セラ株式会社 通信方法及び無線端末
KR20180040319A (ko) * 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
US10721468B2 (en) * 2016-09-12 2020-07-21 Nec Corporation Intra-prediction mode determination method, intra-prediction mode determination device, and storage medium for storing intra-prediction mode determination program
EP3509304B1 (en) * 2016-09-30 2023-11-01 Huawei Technologies Co., Ltd. Method for image decoding and device for image coding and decoding for inter-frame prediction
CN109997359B (zh) * 2016-11-21 2023-05-09 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
US9959586B1 (en) * 2016-12-13 2018-05-01 GoAnimate, Inc. System, method, and computer program for encoding and decoding a unique signature in a video file as a set of watermarks
US20200177889A1 (en) * 2017-03-21 2020-06-04 Lg Electronics Inc. Transform method in image coding system and apparatus for same
EP3657793A4 (en) * 2017-12-06 2021-03-17 Fujitsu Limited MODE INFORMATION ENCODING AND ENCODING PROCESS, CORRESPONDING DEVICE AND ELECTRONIC APPARATUS
CN110035287B (zh) * 2018-01-12 2023-05-09 富士通株式会社 对统一转换单元模式进行分组标识的方法、装置和电子设备
US11238046B2 (en) * 2018-02-19 2022-02-01 Nippon Telegraph And Telephone Corporation Information management device, information management method, and information management program
KR102516233B1 (ko) 2018-04-02 2023-03-30 엘지전자 주식회사 움직임 벡터에 기반한 영상 코딩 방법 및 그 장치
US10986354B2 (en) * 2018-04-16 2021-04-20 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11170481B2 (en) * 2018-08-14 2021-11-09 Etron Technology, Inc. Digital filter for filtering signals
EP4325849A3 (en) 2018-11-22 2024-04-17 Beijing Bytedance Network Technology Co., Ltd. Coordination method for sub-block based inter prediction
US12047596B2 (en) 2019-01-31 2024-07-23 Hfi Innovation Inc. Method and apparatus of combined inter and intra prediction for video coding
US11425378B2 (en) 2019-01-31 2022-08-23 Hfi Innovation Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
WO2020156540A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
WO2020156538A1 (en) 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between mv precisions and mv difference coding
CN113424538A (zh) 2019-02-14 2021-09-21 北京字节跳动网络技术有限公司 解码器侧细化工具的选择性应用
WO2020177662A1 (en) 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Implementation aspects in intra block copy in video coding
US10939107B2 (en) 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
KR102688366B1 (ko) 2019-03-01 2024-07-24 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 방향 기반 예측
KR20210125506A (ko) 2019-03-04 2021-10-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리
WO2020182091A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Reshaping model in video processing
JP2022068378A (ja) * 2019-03-08 2022-05-10 ソニーグループ株式会社 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
EP3935854A4 (en) 2019-04-12 2022-06-01 Beijing Bytedance Network Technology Co., Ltd. CHROMINANCE CODING MODE DETERMINATION BASED ON MATRIX-BASED INTRA PREDICTION
WO2020211769A1 (en) 2019-04-15 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Clipping parameter derivation in adaptive loop filter
KR20210145749A (ko) 2019-04-16 2021-12-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 적응형 루프 필터링
CN113711604B (zh) 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 视频编解码中色度和亮度语法元素的信令
BR112021019675A2 (pt) 2019-04-23 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
CN117221558A (zh) 2019-05-08 2023-12-12 北京字节跳动网络技术有限公司 跨分量编解码的适用性条件
CN117412039A (zh) 2019-05-22 2024-01-16 北京字节跳动网络技术有限公司 使用上采样的基于矩阵的帧内预测
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
KR20220013938A (ko) 2019-05-31 2022-02-04 바이트댄스 아이엔씨 인트라 블록 복사 예측을 갖는 팔레트 모드
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
WO2020244610A1 (en) 2019-06-05 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Context determination for matrix-based intra prediction
KR20220024006A (ko) 2019-06-22 2022-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 잔차 스케일링을 위한 신택스 요소
EP3973705A4 (en) 2019-06-25 2022-09-28 Beijing Bytedance Network Technology Co., Ltd. MOTION VECTOR DIFFERENCE RESTRICTIONS
KR102684993B1 (ko) 2019-06-28 2024-07-16 바이트댄스 아이엔씨 화면 콘텐츠 코딩에서의 크로마 인트라 모드 도출
CN117294841A (zh) 2019-07-06 2023-12-26 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的虚拟预测缓冲
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
JP7359934B2 (ja) 2019-07-10 2023-10-11 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのサンプル識別
WO2021008513A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
CN114208196B (zh) 2019-08-10 2023-11-14 北京字节跳动网络技术有限公司 帧间编解码模式的位置限制
KR20220043109A (ko) 2019-08-13 2022-04-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측의 모션 정밀도
CN117714683A (zh) 2019-09-02 2024-03-15 北京字节跳动网络技术有限公司 基于色彩格式的视频区分割
EP4011080A4 (en) 2019-09-12 2023-04-12 ByteDance Inc. USING PALETTE PREDICTION IN VIDEO CODING
WO2021051047A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Chroma quantization parameter in video coding
CN117596389A (zh) 2019-09-28 2024-02-23 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
JP2021061501A (ja) * 2019-10-04 2021-04-15 シャープ株式会社 動画像変換装置及び方法
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
JP7395727B2 (ja) 2019-10-23 2023-12-11 北京字節跳動網絡技術有限公司 ビデオ・データを処理する方法、装置及び記憶方法
EP4042689A4 (en) 2019-10-28 2023-06-07 Beijing Bytedance Network Technology Co., Ltd. SIGNALING AND SYNTAX ANALYSIS BASED ON A COLOR COMPONENT
JP7508558B2 (ja) 2019-12-09 2024-07-01 バイトダンス インコーポレイテッド ビデオコーディングにおける量子化グループの使用
JP7393550B2 (ja) 2019-12-11 2023-12-06 北京字節跳動網絡技術有限公司 クロス成分適応ループフィルタリングのためのサンプルパディング
BR112022012807A2 (pt) 2019-12-27 2022-09-27 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho para processar dados de vídeo e meios não transitórios legíveis por computador
CN115176460A (zh) 2020-02-05 2022-10-11 抖音视界有限公司 局部双树的调色板模式
CN115211112A (zh) 2020-02-14 2022-10-18 抖音视界有限公司 视频编解码中的子比特流提取过程
KR20220155293A (ko) 2020-03-17 2022-11-22 바이트댄스 아이엔씨 비디오 코딩에서 픽처 출력 플래그 표시
WO2021185306A1 (en) 2020-03-18 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Intra block copy buffer and palette predictor update
KR20220156828A (ko) 2020-03-19 2022-11-28 바이트댄스 아이엔씨 레퍼런스 픽처 순서에 대한 제약들
MX2022011425A (es) 2020-03-20 2022-10-03 Bytedance Inc Relacion de orden entre subimagenes.
BR112022018960A2 (pt) 2020-03-21 2022-11-16 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
CN116325728A (zh) 2020-06-30 2023-06-23 抖音视界有限公司 自适应环路滤波的边界位置
CN111968151B (zh) * 2020-07-03 2022-04-05 北京博雅慧视智能技术研究院有限公司 一种运动估计精细搜索方法及装置
US12041386B2 (en) 2020-09-29 2024-07-16 Lemon Inc. Dependent random access point indication in video bitstreams
US11750778B2 (en) 2021-09-30 2023-09-05 Coretronic Corporation Method for adjusting pixel values of blending image and projection system thereof
CN118433388B (zh) * 2024-07-03 2024-10-22 深圳金三立视频科技股份有限公司 基于动态感知的视频动态编码压缩方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170793A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
RU2342804C2 (ru) * 2004-06-07 2008-12-27 Даеянг Фаундейшн Способ и устройство кодирования и декодирования без потерь
JP2009005413A (ja) * 2008-09-30 2009-01-08 Toshiba Corp 画像符号化装置
US20090028246A1 (en) * 2007-07-13 2009-01-29 Fujitsu Limited Moving-picture coding device and moving-picture coding method
US20090285302A1 (en) * 2004-05-13 2009-11-19 Ntt Docomo, Inc. Moving picture encoding apparatus and method, moving picture decoding apparatus and method

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
FR2756399B1 (fr) * 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede et dispositif de compression video pour images de synthese
US6600836B1 (en) 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression
DE10022331A1 (de) 2000-05-10 2001-11-15 Bosch Gmbh Robert Verfahren zur Transformationscodierung von Bewegtbildsequenzen
WO2003026350A2 (en) 2001-09-14 2003-03-27 The Regents Of The University Of Michigan Audio distributor
EP1445956A4 (en) * 2001-11-16 2009-09-02 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
JP2003189313A (ja) * 2001-12-20 2003-07-04 Matsushita Electric Ind Co Ltd 画面間予測符号化方法および画面間予測復号化方法
CN1225904C (zh) * 2002-04-12 2005-11-02 精工爱普生株式会社 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
JP2003318740A (ja) * 2002-04-23 2003-11-07 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US6975773B1 (en) * 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression
WO2004030369A1 (en) * 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding
JP3679083B2 (ja) 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
JP4238553B2 (ja) 2002-10-08 2009-03-18 日本電気株式会社 携帯電話装置および表示装置の画像表示方法
JP2004135252A (ja) * 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
JP4702059B2 (ja) * 2003-12-22 2011-06-15 日本電気株式会社 動画像を符号化する方法及び装置
US20050249278A1 (en) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co., Ltd. Moving image coding method, moving image decoding method, moving image coding device, moving image decoding device, moving image coding program and program product of the same
CN100401780C (zh) * 2004-05-07 2008-07-09 美国博通公司 在视频解码器中动态选择变换尺寸的方法和系统
US7894530B2 (en) * 2004-05-07 2011-02-22 Broadcom Corporation Method and system for dynamic selection of transform size in a video decoder based on signal content
CN100568974C (zh) 2004-09-08 2009-12-09 松下电器产业株式会社 动态图像编码方法及动态图像解码方法
CA2610276C (en) * 2005-07-22 2013-01-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
EP2720468B1 (en) * 2005-09-26 2017-03-29 Mitsubishi Electric Corporation Moving image decoding method
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
JP2008022383A (ja) * 2006-07-13 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置
CA2659351A1 (en) * 2006-07-28 2008-01-31 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding image
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
JP4635016B2 (ja) * 2007-02-16 2011-02-16 株式会社東芝 情報処理装置およびインター予測モード判定方法
JP2010135864A (ja) * 2007-03-29 2010-06-17 Toshiba Corp 画像符号化方法及び装置並びに画像復号化方法及び装置
JP4364919B2 (ja) * 2007-04-20 2009-11-18 三菱電機株式会社 動画像復号化装置
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP4325708B2 (ja) * 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
JP4922101B2 (ja) * 2007-08-21 2012-04-25 株式会社東芝 情報処理装置およびインター予測モード判定方法
JP2009055236A (ja) * 2007-08-24 2009-03-12 Canon Inc 映像符号化装置及び方法
US20090274213A1 (en) 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for computationally efficient intra prediction in a video coder
US8908763B2 (en) * 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
KR101549823B1 (ko) * 2008-09-02 2015-09-04 삼성전자주식회사 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치
JP5259828B2 (ja) * 2008-10-03 2013-08-07 クゥアルコム・インコーポレイテッド 4×4および8×8よりも大きい変換を使用するビデオ符号化
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US10455248B2 (en) * 2008-10-06 2019-10-22 Lg Electronics Inc. Method and an apparatus for processing a video signal
EP2394431A4 (en) * 2009-02-05 2013-11-06 Thomson Licensing METHOD AND DEVICES FOR ADAPTIVE MODE VIDEO CODING AND DECODING
CN102308518B (zh) 2009-02-09 2014-12-10 罗伯特·博世有限公司 使用计算机网络的方法
US20120040366A1 (en) 2009-02-10 2012-02-16 Tissue Genetics, Inc. Compositions, methods and uses for disease diagnosis
EA029351B1 (ru) * 2009-04-08 2018-03-30 Шарп Кабусики Кайся Устройство кодирования видеокадров и устройство декодирования видеокадров

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090285302A1 (en) * 2004-05-13 2009-11-19 Ntt Docomo, Inc. Moving picture encoding apparatus and method, moving picture decoding apparatus and method
RU2342804C2 (ru) * 2004-06-07 2008-12-27 Даеянг Фаундейшн Способ и устройство кодирования и декодирования без потерь
US20080170793A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
US20090028246A1 (en) * 2007-07-13 2009-01-29 Fujitsu Limited Moving-picture coding device and moving-picture coding method
JP2009005413A (ja) * 2008-09-30 2009-01-08 Toshiba Corp 画像符号化装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2771955C2 (ru) * 2017-08-11 2022-05-16 Хуавей Текнолоджиз Ко., Лтд. Устройство, оборудование, способ кодирования и декодирования видеоизображений
US11496732B2 (en) 2017-08-11 2022-11-08 Huawei Technologies Co., Ltd. Video image encoding and decoding method, apparatus, and device
RU2803063C2 (ru) * 2019-03-03 2023-09-06 Хуавей Текнолоджиз Ко., Лтд. Кодер, декодер и соответствующие способы, которые используются для процесса преобразования
US12047570B2 (en) 2019-03-03 2024-07-23 Huawei Technologies Co., Ltd. Encoder, a decoder, and corresponding methods for transform process in video coding
RU2821306C2 (ru) * 2019-10-04 2024-06-20 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ кодирования и декодирования, устройство и система связи

Also Published As

Publication number Publication date
JP2020017973A (ja) 2020-01-30
RU2015151397A (ru) 2017-06-06
CN107046644A (zh) 2017-08-15
MX353107B (es) 2017-12-19
KR20150013776A (ko) 2015-02-05
KR20170013397A (ko) 2017-02-06
US9973753B2 (en) 2018-05-15
CN106998473B (zh) 2020-03-24
JP7126308B2 (ja) 2022-08-26
JP2020017970A (ja) 2020-01-30
TW201613355A (en) 2016-04-01
SG10202001623RA (en) 2020-04-29
US10412385B2 (en) 2019-09-10
ES2899780T3 (es) 2022-03-14
KR20140049092A (ko) 2014-04-24
US10390011B2 (en) 2019-08-20
PL3101897T3 (pl) 2022-02-21
EP3101897A1 (en) 2016-12-07
CN106998473A (zh) 2017-08-01
KR20140010192A (ko) 2014-01-23
CN108462874B (zh) 2022-06-07
KR101500914B1 (ko) 2015-03-10
RU2014116111A (ru) 2015-10-27
CN102934438A (zh) 2013-02-13
US20170171543A1 (en) 2017-06-15
TW201143458A (en) 2011-12-01
US10469839B2 (en) 2019-11-05
US20180255297A1 (en) 2018-09-06
RU2663374C1 (ru) 2018-08-03
MX353109B (es) 2017-12-19
CN108462874A (zh) 2018-08-28
KR101540899B1 (ko) 2015-07-30
US20180278931A1 (en) 2018-09-27
RU2699049C1 (ru) 2019-09-03
JP2016129405A (ja) 2016-07-14
JP7126310B2 (ja) 2022-08-26
CN107046644B (zh) 2020-03-24
US20130028326A1 (en) 2013-01-31
SG184528A1 (en) 2012-11-29
CA2795425A1 (en) 2011-10-13
CA2795425C (en) 2018-01-09
EP2557792A1 (en) 2013-02-13
KR20140110074A (ko) 2014-09-16
KR101389163B1 (ko) 2014-04-28
US20190306496A1 (en) 2019-10-03
JP2018137773A (ja) 2018-08-30
JP2015029348A (ja) 2015-02-12
WO2011125313A1 (ja) 2011-10-13
EP2557792A4 (en) 2014-08-13
JPWO2011125313A1 (ja) 2013-07-08
TW202025764A (zh) 2020-07-01
RU2734871C1 (ru) 2020-10-23
SG10201502226SA (en) 2015-05-28
BR112012025206B1 (pt) 2022-04-12
JP7126309B2 (ja) 2022-08-26
US10554970B2 (en) 2020-02-04
RU2573222C2 (ru) 2016-01-20
TWI520617B (zh) 2016-02-01
US20180139442A9 (en) 2018-05-17
TWI688267B (zh) 2020-03-11
KR101817481B1 (ko) 2018-02-21
RU2523071C1 (ru) 2014-07-20
JP2020017971A (ja) 2020-01-30
JP7129958B2 (ja) 2022-09-02
JP2020017972A (ja) 2020-01-30
EP3101897B1 (en) 2021-10-20
TWI765223B (zh) 2022-05-21
MX2012011695A (es) 2012-11-16
RU2716032C1 (ru) 2020-03-05
KR20130028092A (ko) 2013-03-18
RU2012147595A (ru) 2014-06-10
US20190306497A1 (en) 2019-10-03
BR112012025206A2 (pt) 2017-06-27
JP6605063B2 (ja) 2019-11-13
TW201739254A (zh) 2017-11-01
HK1257212A1 (zh) 2019-10-18
TWI601415B (zh) 2017-10-01

Similar Documents

Publication Publication Date Title
RU2716032C1 (ru) Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
WO2011125314A1 (ja) 動画像符号化装置および動画像復号装置
JP2011223319A (ja) 動画像符号化装置および動画像復号装置

Legal Events

Date Code Title Description
QA4A Patent open for licensing

Effective date: 20190415

QZ42 Withdrawal of an open user permit licence
PC41 Official registration of the transfer of exclusive right

Effective date: 20220225