Область техники
Изобретение относится к способу кодирования и декодирования изображений, способу обработки изображений, способу записи и носителю записи и, в частности, к подобным способам и носителю записи для использования при записи данных движущихся изображений на носитель записи, такой как магнитооптический диск или магнитная лента, воспроизведении записанных данных с целью отображения в системе отображения или передаче данных движущихся изображений по каналу передачи от передатчика к приемнику и приеме и отображении передаваемых данных приемником или редактировании принимаемых данных для записи в системе для проведения телеконференций, видеотелефонной системе, трансляционном оборудовании или в мультимедийной системе поиска в базах данных.
Предшествующий уровень техники
В системе для передачи данных движущихся изображений в удаленный пункт, например в системе для телеконференций или видеотелефонной системе, видеоданные могут кодироваться (сжиматься) с использованием строчной корреляции и межкадровой корреляции. Группой экспертов по движущимся изображениям (MPEG) была предложена высокоэффективная система кодирования для движущихся изображений. Эта система, предложенная в качестве проекта стандарта после обсуждений в рамках ISO-1EC/JTC1/SC2/WG11, является гибридной системой, сочетающей кодирование с предсказанием с компенсацией движения и дискретное косинусное преобразование (ДКП).
В MPEG определены несколько профилей и уровней с учетом различных типов прикладных задач и функций. Главный базовый уровень - это главный уровень главного профиля (MOVING PICTURE (движущееся изображение) ML (главный уровень)) (Main Profile @ at main Level).
На фиг. 1 показан блок кодирования MP@ML в системе MPEG. В таком блоке кодирования видеоданные, подлежащие кодированию, подаются в кадровую память 31 для промежуточного хранения. Обнаружитель вектора движения 32 считывает видеоданные, хранящиеся в кадровой памяти 31, в виде макроблоков из 1616 пикселей, для обнаружения вектора движения. Обнаружитель вектора движения 32 обрабатывает видеоданные каждого кадра как I-изображение, Р-изображение или как В-изображение. Каждое из этих изображений, состоящих из последовательно вводимых кадров, обрабатывается как одно изображение предварительно установленного I-, Р- или В-типа в виде последовательности, например, I, В, Р, В, Р..., В, Р. То есть, обнаружитель вектора движения 32 обращается к предварительно установленному опорному кадру в последовательности изображений, хранящихся в кадровой памяти 31, и определяет вектор движения макроблока, то есть небольшого блока из 16 пикселей на 16 строк кадра, подлежащего кодированию, посредством сопоставления (поблочного сопоставления) макроблока с опорным кадром для обнаружения вектора движения макроблока.
В MPEG имеется четыре режима предсказания изображений, а именно внутреннее кодирование (внутрикадровое кодирование), прямое предиктивное кодирование, обратное предиктивное кодирование и двунаправленное предиктивное кодирование. I-изображение является изображением, получаемым путем внутреннего кодирования, Р-изображение - это изображение, получаемое путем внутреннего кодирования либо прямого предиктивного кодирования, либо обратного предиктивного кодирования, а В-изображение - это изображение, получаемое путем внутреннего кодирования, прямого предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно фиг. 1, обнаружитель вектора движения 32 выполняет прямое предсказание по Р-изображению для определения его вектора движения. Обнаружитель вектора движения 32 сравнивает ошибку предсказания, полученную путем выполнения прямого предсказания, например, с дисперсией кодируемого макроблока (макроблока Р-изображения). Если дисперсия макроблока меньше, чем ошибка предсказания, то в качестве режима предсказания устанавливается режим внутреннего кодирования, который выдается в блок кодирования переменной длины 36 и компенсатор движения 42. С другой стороны, если ошибка предсказания, формируемая в процессе прямого предиктивного кодирования, меньше, то обнаружитель вектора движения 32 в качестве режима предсказания устанавливает режим прямого предиктивного кодирования и выдает установленный режим в блок кодирования переменной длины (КПД) 36 и компенсатор движения 42 вместе с обнаруженным вектором движения. Кроме того, обнаружитель вектора движения выполняет прямое предсказание, обратное предсказание и двунаправленное предсказание для В-изображения, чтобы определить соответствующие векторы движения. Обнаружитель вектора движения 32 определяет наименьшую ошибку предсказания для прямого предсказания, обратного предсказания и двунаправленного предсказания (которая называется минимальной ошибкой предсказания) и сравнивает минимальную ошибку предсказания, например, с дисперсией кодируемого макроблока (макроблока В-изображения). Если в результате такого сравнения дисперсия макроблока оказывается меньше, чем минимальная ошибка предсказания, то детектор вектора движения 32 устанавливает в качестве режима предсказания режим внутреннего кодирования и выводит установленный режим в блок КПД 36 и компенсатор движения 42. С другой стороны, если минимальная ошибка предсказания меньше, то обнаружитель вектора движения 32 устанавливает режим предсказания, для которого была получена минимальная ошибка предсказания, и выдает установленный режим предсказания в блок КПД 36 и компенсатор движения 42 вместе с соответствующим вектором движения.
Получив режим предсказания и вектор движения от обнаружителя вектора движения 32, компенсатор движения 42 может считывать закодированные и уже частично декодированные видеоданные, хранящиеся в кадровой памяти 41, в соответствии с режимом предсказания и вектором движения и может подавать считываемые данные в виде предсказываемого изображения в арифметические блоки 33 и 40. Арифметический блок 33 получает, кроме того, тот же самый макроблок в виде видеоданных, считываемых обнаружителем вектора движения 32 из кадровой памяти 31, и вычисляет разность между макроблоком и предсказанным изображением от компенсатора движения 42. Значение этой разности подается в блок дискретного косинусного преобразования (ДКП) 34.
Если от обнаружителя вектора движения 32 принимается только режим предсказания, то есть, если режим предсказания является режимом внутреннего кодирования, то компенсатор движения 42 может не выводить предсказываемое изображение. В таком случае арифметический блок 33 не сможет выполнить вышеописанную обработку, но вместо этого может непосредственно выдавать макроблок, считываемый из кадровой памяти 31, в блок ДКП 34. В этом случае арифметический блок 40 может работать таким же образом.
Блок ДКП 34 выполняет ДКП-преобразование над выходным сигналом из арифметического блока 33 для получения коэффициентов ДКП, которые подаются в квантователь 35. Квантователь 35 устанавливает шаг квантования (масштаб квантования) в соответствии с величиной памяти данных в буфере 37 (объемом данных, хранящимся в буфере 37), получаемой в качестве буферной обратной связи, и квантует коэффициенты ДКП от блока ДКП 34, используя данный шаг квантования. Квантованные коэффициенты ДКП (которые иногда здесь называются коэффициентами квантования) подаются в блок КПД 36 вместе с установленным шагом квантования.
Блок КПД 36 преобразует коэффициенты квантования, подаваемые от квантователя 35, в код с переменной длиной слова, например код Хаффмена, в соответствии с шагом квантования, подаваемым от квантователя 35. Результирующие преобразованные коэффициенты квантования выводятся в буфер 37. Блок КПД 36 осуществляет также кодирование с переменной длиной слова шага квантования, поступающего от квантователя 35, режима предсказания, поступающего от обнаружителя вектора движения 32, и вектора движения, поступающего от обнаружителя вектора движения 32, и выводит закодированные данные в буфер 37. Следует отметить, что режим предсказания является режимом, определяющим, какой из видов кодирования - внутреннее кодирование, прямое предиктивное кодирование, обратное предиктивное кодирование или двунаправленное предиктивное кодирование - был установлен.
Буфер 37 осуществляет промежуточное запоминание данных, поступающих от блока КПД 36, и сглаживает объем данных, так чтобы иметь возможность вывода из него сглаженных данных и подачи их в канал передачи либо записи на некоторый носитель записи или т.п. Буфер 37 может также подавать этот объем запоминаемых данных в квантователь 35, который устанавливает соответствующий шаг квантования. В случае неминуемого переполнения буфера 37 квантователь 35 увеличивает размер шага квантования для уменьшения объема данных коэффициентов квантования. Наоборот, в случае неминуемой потери значимости буфера 37 квантователь 35 уменьшает размер шага квантования для увеличения объема данных коэффициентов квантования. Следует отметить, что данная процедура позволяет предотвратить переполнение и потерю значимости буфера 37.
Коэффициенты квантования и шаг квантования, выводимые из квантователя 35, подаются не только в блок КПД 36, но также и в деквантователь 38, который осуществляет деквантование коэффициентов квантования в соответствии с шагом квантования, с тем чтобы преобразовать их в коэффициенты ДКП. Эти коэффициенты ДКП подаются в блок обратного ДКП 39, который выполняет обратное ДКП с использованием коэффициентов ДКП. Полученные после обратного ДКП коэффициенты подаются в арифметический блок 40.
Арифметический блок 40 получает коэффициенты обратного ДКП из блока обратного ДКП (ОДКП) 39 и данные от компенсатора движения 42, которые являются теми же самыми данными, что и предсказываемое изображение, посылаемое в арифметический блок 33. Арифметический блок 40 суммирует сигнал (вычеты предсказания) от блока ОДКП 39 с предсказываемым изображением от компенсатора движения 42, чтобы локально декодировать исходное изображение. Однако, если режим предсказания указывает на внутреннее кодирование, выход блока ОДКП 39 может быть непосредственно подан в кадровую память 41. Получаемое арифметическим блоком 40 декодированное изображение (локально декодированное изображение) подается и запоминается в кадровой памяти 41 для дальнейшего использования в качестве опорного изображения для изображения, получаемого с помощью внутреннего кодирования; изображения, получаемого с помощью прямого предиктивного кодирования; изображения, получаемого с помощью обратного предиктивного кодирования, или изображения, получаемого с помощью двунаправленного предиктивного кодирования.
Получаемое из арифметического блока 40 декодированное изображение является таким же, как изображение, которое можно получить от приемника или блока декодирования (на фиг.1 не показаны).
На фиг.2 показан декодер MP@ML в системе MPEG для декодирования закодированных данных, например таких, которые выводятся кодером по фиг.1. В таком декодере закодированные данные, передаваемые по каналу передачи, могут приниматься приемником (не показан), либо закодированные данные, записанные на носитель записи, могут воспроизводиться устройством воспроизведения (не показано) и подаваться в буфер 101 для запоминания. Блок обратного КПД 102 считывает закодированные данные, хранящиеся в буфере 101, и осуществляет их декодирование с переменной длиной слова, с тем чтобы разделить декодированные данные на данные вектора движения, режима предсказания, шага квантования и коэффициентов квантования. Выделенные данные вектора движения и режима предсказания подаются в компенсатор движения 107, в то время как данные шага квантования и коэффициентов квантования подаются в деквантователь 103. Деквантователь 103 выполняет деквантование коэффициентов квантования в соответствии с шагом квантования для получения коэффициентов ДКП, которые подаются в блок ОДКП 104. Блок ОДКП 104 выполняет операцию обратного ДКП над полученными коэффициентами ДКП и подает результирующий сигнал в арифметический блок 105. Помимо выходного сигнала блока ОДКП 104 арифметический блок 105 получает также выходной сигнал от компенсатора движения 107. То есть, компенсатор движения 107 считывает предварительно декодированное изображение, хранящееся в кадровой памяти 106, в соответствии с режимом предсказания и вектором движения от блока ОКПД 102 таким же образом, что и компенсатор движения 42 по фиг.1, и подает считанное декодированное изображение в качестве предсказываемого изображения в арифметический блок 105. Арифметический блок 105 суммирует сигнал от блока ОДКП 104 (вычеты предсказания) с предсказываемым изображением от компенсатора движения 107 для декодирования исходного изображения. Если выход блока ОДКП 104 получен путем внутреннего кодирования, то такой выходной сигнал может быть непосредственно подан в кадровую память 106 для запоминания. Декодированное изображение, хранящееся в кадровой памяти 106, может быть использовано в качестве опорного изображения для последовательно декодируемых изображений, а также может быть считано и подано на дисплей (не показан) для отображения на нем. Однако, если декодированное изображение является В-изображением, то такое В-изображение не запоминается в кадровых памятях 41 (фиг.1) или 106 (фиг.2) в блоке кодирования или декодере, поскольку В-изображение не используется в качестве опорного изображения в MPEGL и MPEG2.
В MPEG вдобавок к вышеописанному MP@ML определяется множество различных профилей и уровней, также как и множество различных инструментальных средств. Примером инструментального средства MPEG является масштабируемость. В частности, MPEG предлагает систему масштабируемого кодирования, охватывающую различные размеры изображений или различные размеры кадров. При пространственной масштабируемости, если, например, декодируется только поток бит нижнего уровня, то получается только изображение с маленькими размерами, тогда как, если декодируются потоки как нижнего, так и верхнего уровней, то получается изображение с большими размерами.
На фиг. 3 показан блок кодирования для обеспечения пространственной масштабируемости. При пространственной масштабируемости нижний и верхний уровни ассоциируются соответственно с сигналами изображения малого размера и сигналами изображения большого размера. Блок кодирования верхнего уровня 201 может принять для кодирования изображение верхнего уровня, в то время как блок кодирования нижнего уровня 202 может принять изображение, являющееся результатом процедуры прореживания для уменьшения количества пикселей (то есть изображение с пониженной разрешающей способностью для уменьшения его размера). Блок кодирования нижнего уровня 202 осуществляет предиктивное кодирование изображения нижнего уровня подобно тому, как показано на фиг.1, для формирования и выдачи потока битов нижнего уровня. Блок кодирования нижнего уровня 202 генерирует также изображение, соответствующее локально декодированному изображению нижнего уровня, увеличенному до того же размера, что и изображение верхнего уровня (иногда называемое здесь увеличенным изображением). Это увеличенное изображение подается в блок кодирования верхнего уровня 201. Блок кодирования верхнего уровня 201 осуществляет предиктивное кодирование изображения верхнего уровня подобно тому, как показано на фиг. 1, для формирования и выдачи потока битов верхнего уровня. Блок кодирования верхнего уровня 201 использует также увеличенное изображение, поступающее от блока кодирования нижнего уровня 202, в качестве опорного изображения для выполнения предиктивного кодирования. Поток битов верхнего уровня и поток битов нижнего уровня мультиплексируются, образуя кодированные данные, которые выдаются на выход.
На фиг.4 показан пример реализации блока кодирования верхнего уровня 202 по фиг. 3. Такой блок кодирования верхнего уровня 202 имеет структуру, сходную с кодером по фиг.1, за исключением блока дискретизации с увеличением 211. На фиг. 4 части или элементы, соответствующие аналогичным частям и элементам на фиг.1, обозначены теми же самыми цифровыми ссылочными позициями. Блок дискретизации 211 дискретизирует с увеличением (интерполирует) локально декодированное изображение нижнего уровня, выдаваемое арифметическим блоком 40, с тем чтобы увеличить изображение до того же самого размера, что и у изображения верхнего уровня, и подает результирующее увеличенное изображение в блок кодирования верхнего уровня 201.
На фиг.5 показан пример реализации блока кодирования верхнего уровня 201 по фиг.3. Этот блок кодирования верхнего уровня 201 по своей структуре подобен кодеру по фиг.1, за исключением блоков суммирования с взвешиванием 221, 222 и арифметического блока 223. На фиг.5 части и элементы, соответствующие элементам по фиг.1, обозначены одними и теми же цифровыми ссылочными позициями. Блок суммирования с взвешиванием 221 умножает предсказываемое изображение, получаемое из компенсатора движения 42, на вес W и выдает результирующий сигнал в арифметический блок 223. Блок суммирования с взвешиванием 222 умножает увеличенное изображение, подаваемое от блока кодирования верхнего уровня 202, на вес (1-W) и выдает результирующее произведение в арифметический блок 223. Арифметический блок 223 суммирует получаемые выходные сигналы из схем суммирования со взвешиванием 221, 222 и выводит результирующую сумму в арифметические блоки 33, 40 в качестве предсказываемого изображения. Взвешивание с весом W, используемое в блоке суммирования со взвешиванием 221, устанавливается предварительно, как и взвешивание с весом (1-W), используемое в блоке суммирования со взвешиванием 222. Взвешивание с весом W подается в блок КПД 36 для кодирования с переменной длиной слова. Блок кодирования верхнего уровня 201 осуществляет обработку, подобную той, что происходит по фиг.1.
Таким образом, блок кодирования верхнего уровня 201 выполняет предиктивное кодирование с использованием не только изображения верхнего уровня, но также и увеличенного изображения от блока кодирования нижнего уровня 202, то есть изображения нижнего уровня в качестве опорного изображения.
На фиг.6 показан пример декодера для реализации пространственной масштабируемости. Кодированные выходные данные из кодера по фиг.3 разделяются на поток битов верхнего уровня и поток битов нижнего уровня, которые подаются соответственно в блок декодирования верхнего уровня 231 и в блок декодирования нижнего уровня 232. Блок декодирования нижнего уровня 232 декодирует поток битов нижнего уровня, как на фиг.2, и выводит результирующее декодированное изображение нижнего уровня. Кроме того, блок декодирования нижнего уровня 232 увеличивает декодированное изображение нижнего уровня до того же самого размера, что у изображения верхнего уровня, для формирования увеличенного изображения и подает его в блок декодирования верхнего уровня 231. Блок декодирования верхнего уровня 231 подобным же образом декодирует поток битов верхнего уровня, как на фиг.2. Однако блок декодирования верхнего уровня 231 декодирует поток битов с использованием в качестве эталонного изображения увеличенного изображения от блока декодирования нижнего уровня 232.
На фиг. 7 показан пример реализации блока декодирования нижнего уровня 232. Блок декодирования нижнего уровня 232 подобен по структуре декодеру на фиг. 2, за исключением блока дискретизации с увеличением 241. На фиг.7 части или элементы, соответствующие частям или элементам по фиг.2, обозначены теми же самыми цифровыми ссылками. Блок дискретизации с увеличением 241 дискретизирует с увеличением (интерполирует) декодированное изображение нижнего уровня, выдаваемое арифметическим блоком 105, с тем чтобы увеличить изображение нижнего уровня до того же самого размера, что и у изображения верхнего уровня, и выводит увеличенное изображение в декодер верхнего уровня 231.
На фиг. 8 показан пример реализации блока декодирования верхнего уровня 231 по фиг.6. Блок декодирования верхнего уровня 231 подобен по конструкции кодеру по фиг.2, за исключением блоков суммирования с взвешиванием 251, 252 и арифметического блока 253. На фиг.7 элементы, соответствующие элементам по фиг. 2, обозначены теми же самыми цифровыми ссылочными позициями. Вдобавок к выполнению обработки данных, раскрытой со ссылками на фиг.2, блок ОКПД 102 выделяет коэффициент взвешивания W из кодированных данных и выдает выделенный коэффициент взвешивания W в блоки суммирования с взвешиванием 251, 252. Блок суммирования с взвешиванием 251 умножает предсказываемое изображение, выдаваемое компенсатором движения 107, на коэффициент взвешивания W и выводит результирующее произведение в арифметический блок 253. Арифметический блок 253 получает также выходной сигнал из блока суммирования с взвешиванием 252. Такой выходной сигнал получается путем умножения увеличенного изображения, подаваемого от блока декодирования нижнего уровня 232, на коэффициент взвешивания (1-W). Арифметический блок 253 суммирует выходные сигналы блоков суммирования со взвешиванием 251, 252 и подает суммарный выходной сигнал в качестве предсказываемого изображения на арифметический блок 105. Следовательно, арифметический блок 253 использует изображение верхнего уровня и увеличенное изображение от блока кодирования нижнего уровня 232, то есть изображение нижнего уровня, в качестве опорных изображений для декодирования. Такая обработка данных выполняется как с сигналами яркости, так и сигналами цветности. Вектор движения для сигналов цветности может составлять половину от вектора движения для сигналов яркости.
Вдобавок к вышеописанной системе MPEG были стандартизированы ряд различных высокоэффективных систем кодирования для движущихся изображений. Например, в ITU-T такие системы, как Н.261 или Н.263, рекомендуются в основном системы кодирования для средств связи. Подобно системе MPEG системы Н.261 и Н.263 сочетают в себе предиктивное кодирование с компенсацией движения и ДКП кодирование. В частности, системы Н.261 и Н.263 по своей структуре в основном подобны кодеру или декодеру системы MPEG, хотя могут существовать и некоторые различия в их структуре или отдельных деталях.
В системе синтеза изображений для построения изображения посредством синтеза множества изображений может быть использован способ, основанный на применении так называемого "ключа цветности". Согласно этому способу объект фотографируется на фоне определенного однородного цвета, например синего, затем выделяется область, отличная от синего, и выделенная область синтезируется с другим изображением. Сигнал, определяющий выделенную область, называется сигналом ключа.
Фиг. 9 иллюстрирует способ синтеза изображения, где F1 - изображение фона, a F2 - изображение переднего плана. Изображение F2 получается путем фотографирования объекта, в данном случае человека, и выделения области, отличной от данного цвета. Сигнал цветности К1 определяет выделенную область. В системе синтеза изображений изображение фона F1 и изображение переднего плана F2 синтезируются в соответствии с сигналом ключа К1, с тем чтобы создать синтезированное изображение F3. Это синтезированное изображение кодируется, например, способом МРЕG и передается.
Если синтезированное изображение F3 кодируется и передается, как описано выше, то передаются только кодированные данные по синтезированному изображению F3, так что такая информация, как сигнал ключа К1, может быть потеряна. Из-за этого затрудняется выполнение на приемной стороне повторного редактирования или повторного синтеза для поддержания неискаженного переднего плана F2 и изменения только фона F1.
Рассмотрим способ, при котором изображения F1, F2 и сигналы ключа К1 кодируются по отдельности и соответствующие результирующие потоки бит мультиплексируются, как показано в качестве примера на фиг.10. В этом случае приемная сторона демультиплексирует мультиплексированные данные, чтобы декодировать соответствующие потоки бит и получить изображения F1, F2 или сигнал ключа К1. Декодированные результирующие изображения F1, F2 либо сигнал ключа К1 могут быть синтезированы, с тем чтобы создать синтезированное изображение F3. В таком случае приемная сторона может выполнять повторное редактирование или синтез, так что передний план F2 сохраняется неискаженным, а изменяется только фон F1.
Следовательно, синтезированное изображение F3 компонуется из изображений F1 и F2. Подобным же образом любое изображение может быть представлено как скомпонованное из множества изображений или объектов. Если элементы, из которых составляется изображение, рассматривать, согласно принятой терминологии, как видеообъекты (ВО), то процедура стандартизации системы кодирования на основе ВО соответствует принятой ISO-IEC/ JTC1/SC29/WG11 процедуре MPEG4. Однако в настоящее время способ эффективного кодирования ВО или кодирования сигналов ключей еще не утвержден и находится в стадии проработки. В любом случае, хотя MPEG4 предписывает использовать функцию масштабируемости, конкретный способ для реализации масштабируемости для ВО, в котором его положение и размер изменяются во времени, не предложен. Например, если ВО - это человек, приближающийся от удаленного места, то его положение и размер изменяются во времени. Следовательно, если в качестве опорного изображения при предиктивном кодировании изображения верхнего уровня используется изображение нижнего уровня, то может оказаться необходимым выяснить относительное положение между изображением верхнего уровня и изображением нижнего уровня, используемым в качестве опорного изображения. С другой стороны, при использовании масштабируемости на основе ВО условие для пропускаемого макроблока нижнего уровня не обязательно должно быть применимым для пропускаемого макроблока нижнего уровня.
Следовательно, задачей настоящего изобретения является создание способа, который позволит без труда осуществлять кодирование на основе ВО.
Сущность изобретения
Согласно одному аспекту настоящего изобретения предлагается устройство кодирования изображений, которое включает в себя средство увеличения/сжатия для увеличения или сжатия второго изображения на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 24, показанный на фиг.15), первое средство кодирования изображений для предиктивного кодирования первого изображения с использованием выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок кодирования верхнего уровня 23, показанный на фиг.15), второе средство кодирования изображений для кодирования второго изображения (такое как блок кодирования нижнего уровня 25), средство установки положения для установки положений первого изображения и второго изображения в предварительно установленной абсолютной системе координат и вывода первой или второй информации положения о положении первого или второго изображения соответственно (такое как блок расслоения изображений 21, показанный на фиг. 15) и средство мультиплексирования для мультиплексирования выходных сигналов первого средства кодирования изображений, второго средства кодирования изображений и средства установки положения (такое как мультиплексор 26, показанный на фиг. 15). Первое средство кодирования изображений определяет положение первого изображения на основе первой информации положения и преобразует вторую информацию положения в соответствии со степенью увеличения или степенью сжатия, используя которую указанное средство увеличения/сжатия увеличило или сжало второе изображение. Первое средство кодирования изображений также определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно другому аспекту настоящего изобретения предлагается устройство кодирования изображений для кодирования, которое включает в себя средство увеличения/сжатия для увеличения или сжатия второго изображения на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 24, показанный на фиг.15), первое средство кодирования изображений для предиктивного кодирования первого изображения с использованием выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок кодирования верхнего уровня 23, показанный на фиг.15), второе средство кодирования изображений для кодирования второго изображения (такое как блок кодирования нижнего уровня 25), средство установки положения для установки положений первого изображения и второго изображения в предварительно установленной абсолютной системе координат и вывода первой или второй информации положения о положении первого или второго изображения соответственно (такое как блок расслоения изображений 21, показанный на фиг.15) и средство мультиплексирования для мультиплексирования выходных сигналов первого средства кодирования изображений, второго средства кодирования изображений и средства установки положения (такое как мультиплексор 26, показанный на фиг.15). Первое средство кодирования изображений обеспечивает определение положения первого изображения на основе первой информации положения и преобразование второй информации положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой средство увеличения/сжатия увеличило или сжало второе изображение. Первое средство кодирования изображений определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно вышеописанному устройству кодирования изображений и способу кодирования изображений средство увеличения/сжатия увеличивает или сжимает второе изображение на основе различия в разрешающей способности первого и второго изображений, в то время как первое средство кодирования изображений предиктивно кодирует первое изображение, используя в качестве опорного изображения выходной сигнал средства увеличения/сжатия. Средство установки положения устанавливает положения первого изображения и второго изображения в предварительно установленной абсолютной системе координат и выводит первую информацию положения или вторую информацию положения о положении соответственно первого или второго изображения. Первое средство кодирования изображений определяет положение первого изображения на основе первой информации положения и преобразует вторую информацию положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой средство увеличения/ сжатия увеличило или сжало второе изображение. Первое средство кодирования изображений определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений, которое включает в себя второе средство декодирования изображений для декодирования второго изображения (такое как блок декодирования нижнего уровня 95), средство увеличения/сжатия для увеличения/сжатия второго изображения, декодируемого вторым средством декодирования изображений на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 94, показанный на фиг.29) и первое средство декодирования изображений для декодирования первого изображения путем использования выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг.29). Кодированные данные включают в себя первую или вторую информацию положения о положении соответственно первого или второго изображения в предварительно установленной абсолютной системе координат. Первое средство декодирования изображений определяет положение первого изображения на основе первой информации положения и преобразует вторую информацию положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой средство увеличения/сжатия увеличило или сжало второе изображение. Первое средство декодирования изображений также определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы декодировать первое изображение.
Вышеописанное устройство декодирования изображений может включать в себя дисплей для отображения результатов декодирования первого средства декодирования изображений (такой как монитор 74, показанный на фиг.27).
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений, которое включает в себя второе средство декодирования изображений для декодирования второго изображения (такое как блок декодирования нижнего уровня 95, показанный на фиг.29), средство увеличения/сжатия для увеличения/сжатия второго изображения, декодируемого вторым средством декодирования изображений на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 94, показанный на фиг.29) и первое средство декодирования изображений для декодирования первого изображения путем использования выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг.29). Кодированные данные включают в себя первую и вторую информацию положения о положении соответственно первого и второго изображения в предварительно установленной абсолютной системе координат. Первое средство декодирования изображений предназначено для определения положения первого изображения на основе первой информации положения и преобразования второй информации положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой средство увеличения/сжатия увеличило или сжало второе изображение. Первое средство кодирования изображений определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы декодировать первое изображение.
Согласно вышеописанному устройству декодирования изображений и способу декодирования изображений средство увеличения/сжатия увеличивает или сжимает второе изображение, декодируемое вторым средством декодирования изображений, на основе различия в разрешающей способности первого и второго изображений. Первое средство декодирования изображений декодирует первое изображение, используя выходной сигнал средства увеличения/сжатия в качестве опорного изображения. Если кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении соответственно первого изображения и о положении второго изображения в предварительно установленной абсолютной системе координат, первое средство декодирования изображений определяет положение первого изображения на основе первой информации положения и преобразует вторую информацию положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой средство увеличения/сжатия увеличило или сжало второе изображение. Первое средство декодирования изображений определяет положение, соответствующее результатам преобразования, в качестве положения опорного изображения, для того чтобы декодировать первое изображение.
Согласно другому аспекту настоящего изобретения предлагается носитель записи, на который, в качестве опорного изображения, записываются кодированные данные, включающие первые данные, полученные при использовании предиктивного кодирования первого изображения; увеличенные или сжатые результаты, полученные при увеличении или сжатии второго изображения на основе различия в разрешающей способности первого и второго изображений; вторые данные, получаемые при кодировании второго изображения; и первая информация положения или вторая информация положения, получаемая при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первые данные получаются на основании определения положения первого изображения на основе первой информации положения, преобразования второй информации положения в соответствии со степенью увеличения или степенью уменьшения, с использованием которой было увеличено или сжато второе изображение, и на основе определения положения, соответствующего результатам преобразования, в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно еще одному аспекту настоящего изобретения предлагается способ для записи кодированных данных, в котором кодированные данные включают в себя: в качестве опорного изображения - первые данные, полученные при использовании предиктивного кодирования первого изображения; увеличенные или сжатые результаты, полученные при увеличении или сжатии второго изображения на основе различия в разрешающей способности первого и второго изображений; вторые данные, получаемые при кодировании второго изображения; и первая информация положения или вторая информация положения, получаемая при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первые данные получаются на основании определения положения первого изображения на основе первой информации положения, преобразования второй информации положения в соответствии со степенью увеличения или степенью уменьшения, с использованием которой было увеличено или сжато второе изображение, и на основе определения положения, соответствующего результатам преобразования, в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно другим аспектам настоящего изобретения предлагается устройство кодирования изображений, которое включает в себя средство увеличения/сжатия для увеличения или сжатия второго изображения на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 24, показанный на фиг.15), первое средство кодирования изображений для предиктивного кодирования первого изображения с использованием выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок кодирования верхнего уровня 23, показанный на фиг.15), второе средство кодирования изображений для кодирования второго изображения (такое как блок кодирования нижнего уровня 25, показанный на фиг. 15), средство установки положения для установки положений первого изображения и второго изображения в предварительно установленной абсолютной системе координат и вывода первой информации положения или второй информации положения о положении первого или второго изображения соответственно (такое как блок расслоения изображений 21, показанный на фиг.15) и средство мультиплексирования для мультиплексирования выходных сигналов первого средства кодирования изображений, второго средства кодирования изображений и средства установки положения (такое как мультиплексор 26, показанный на фиг.15). Средство установки положения устанавливает положения первого и второго изображений, так что положение опорного изображения в предварительно установленной абсолютной системе координат будет совпадать с предварительно установленным положением. Первое средство кодирования изображений определяет положение первого изображения на основе первой информации положения и также определяет предварительно установленное положение в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно еще одному аспекту настоящего изобретения предлагается устройство кодирования изображений для выполнения кодирования изображений, которое включает в себя средство увеличения/сжатия для увеличения или сжатия второго изображения на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 24, показанный на фиг.15), первое средство кодирования изображений для предиктивного кодирования первого изображения с использованием выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок кодирования верхнего уровня 23, показанный на фиг.15), второе средство кодирования изображений для кодирования второго изображения (такое как блок кодирования нижнего уровня 25, показанный на фиг.15), средство установки положения для установки положений первого изображения и второго изображения в предварительно установленной абсолютной системе координат и вывода первой информации положения или второй информации положения о положении первого или второго изображения соответственно (такое как блок расслоения изображений 21, показанный на фиг.15) и средство мультиплексирования для мультиплексирования выходных сигналов первого средства кодирования изображений, второго средства кодирования изображений и средства установки положения (такое как мультиплексор 26, показанный на фиг.15). Средство установки положения задает положения первого и второго изображений, так что положение опорного изображения в предварительно установленной абсолютной системе координат будет совпадать с предварительно установленным положением. Первое средство кодирования изображений может определять положение первого изображения в качестве положения опорного изображения на основе первой информации положения и определять предварительно установленное положение в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно вышеописанному устройству кодирования изображений и способу кодирования изображений средство увеличения/сжатия увеличивает или сжимает второе изображение на основе различия в разрешающей способности первого и второго изображений, в то время как первое средство кодирования изображений предиктивно кодирует первое изображение, используя в качестве опорного изображения выходной сигнал средства увеличения/сжатия. Средство установки положения устанавливает положения первого изображения и второго изображения в предварительно установленной абсолютной системе координат и выводит первую информацию положения или вторую информацию положения о положении соответственно первого или второго изображения. Средство установки положения устанавливает положения первого и второго изображений, так что положение опорного изображения в предварительно установленной абсолютной системе координат будет совпадать с предварительно установленным положением. Первое средство кодирования изображений определяет положение первого изображения на основе первой информации положения и определяет предварительно установленное положение в качестве положения опорного изображения, для того чтобы выполнить предиктивное кодирование.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений для декодирования кодированных данных, которое включает в себя второе средство декодирования изображений для декодирования второго изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг.29), средство увеличения/сжатия для увеличения/сжатия второго изображения, декодируемого вторым средством декодирования изображений на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 94, показанный на фиг.29), и первое средство декодирования изображений для декодирования первого изображения путем использования выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок декодирования нижнего уровня 95, показанный на фиг.29). Кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении соответственно первого изображения или положения второго изображения в предварительно установленной абсолютной системе координат, где положение опорного изображения в предварительно установленной абсолютной системе координат было установлено так, чтобы оно совпадало с предварительно установленным положением. Первое средство декодирования изображений определяет положение первого изображения на основе первой информации положения и определяет предварительно установленное положение в качестве положения опорного изображения, для того чтобы декодировать первое изображение.
Вышеописанное устройство декодирования изображений может включать в себя дисплей для отображения результатов декодирования первого средства декодирования изображений (такой как монитор 74, показанный на фиг.27).
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений, которое включает в себя второе средство декодирования изображений для декодирования второго изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг.29), средство увеличения/сжатия для увеличения/сжатия второго изображения, декодируемого вторым средством декодирования изображений на основе различия в разрешающей способности первого и второго изображений (такое как преобразователь разрешающей способности 94, показанный на фиг.29), и первое средство декодирования изображений для декодирования первого изображения путем использования выходного сигнала средства увеличения/сжатия в качестве опорного изображения (такое как блок декодирования нижнего уровня 95, показанный на фиг.29). Кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении первого изображения или положении второго изображения в предварительно установленной абсолютной системе координат, где положение опорного изображения в предварительно установленной системе координат было установлено так, чтобы оно совпадало с предварительно установленным положением. Первое средство декодирования изображений предназначено для определения положения первого изображения на основе первой информации положения и определения предварительно установленного положения в качестве положения опорного изображения, для того чтобы декодировать первое изображение.
Согласно вышеописанному устройству декодирования изображений и способу декодирования изображений средство увеличения/сжатия увеличивает или сжимает второе изображение, декодируемое вторым средством декодирования изображений, на основе разности в разрешающей способности первого и второго изображений.
Если кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении соответственно первого изображения или о положении второго изображения в предварительно установленной абсолютной системе координат, где положение опорного изображения в предварительно установленной абсолютной системе координат было установлено так, чтобы оно совпадало с предварительно установленным положением, первое средство декодирования изображений определяет положение первого изображения на основе первой информации положения и определяет в качестве положения опорного изображения указанное предварительно установленное положение, для того чтобы декодировать первое изображение.
Согласно другому аспекту настоящего изобретения предлагается носитель записи, на который в качестве эталонного изображения записываются кодированные данные, включающие первые данные, полученные при использовании предиктивного кодирования первого изображения; увеличенные или сжатые результаты, полученные при увеличении или сжатии второго изображения на основе различия в разрешающей способности первого и второго изображений; вторые данные, получаемые при кодировании второго изображения; и первая информация положения или вторая информация положения, получаемая при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первая информация положения и вторая информация устанавливаются так, что положение опорного изображения в предварительно установленной системе координат будет совпадать с предварительно установленным положением.
Согласно еще одному аспекту настоящего изобретения предлагается способ записи для записи кодированных данных, в котором кодированные данные включают в себя первые данные, полученные при использовании предиктивного кодирования первого изображения, в качестве опорного изображения, увеличенные или сжатые результаты, полученные при увеличении или сжатии второго изображения на основе различия в разрешающей способности первого и второго изображений, вторые данные, получаемые при кодировании второго изображения, и первую информацию положения или вторую информацию положения, получаемую при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первая информация положения и вторая информация положения устанавливаются так, что положение опорного изображения в предварительно установленной абсолютной системе координат будет совпадать с предварительно установленным положением.
Согласно еще одному аспекту настоящего изобретения предлагается устройство кодирования изображений, которое включает в себя первое средство предиктивного кодирования для предиктивного кодирования изображения (такое как блок кодирования нижнего уровня 25, показанный на фиг.15), средство локального декодирования для локального декодирования результатов предиктивного кодирования посредством первого средства предиктивного кодирования (такого как блок кодирования нижнего уровня 25), второе средство предиктивного кодирования для предиктивного кодирования изображения с использованием локально декодированного изображения, выводимого средством локального декодирования, в качестве опорного изображения (такого как блок кодирования верхнего уровня 23, показанный на фиг.15) и средство
мультиплексирования для мультиплексирования результатов предиктивного кодирования с помощью первого и второго средств предиктивного кодирования только вместе с вектором движения, используемым первым средством предиктивного кодирования при выполнении предиктивного кодирования (такое как мультиплексор 26, показанный на фиг.15).
Согласно еще одному аспекту настоящего изобретения предлагается способ кодирования изображений, который включает в себя предиктивное кодирование изображения для вывода первых кодированных данных, локальное декодирование первых кодированных данных, предиктивное кодирование изображения с использованием локально декодированного изображения, получаемого в результате локального декодирования, для вывода вторых кодированных данных и мультиплексирование первых кодированных данных и вторых кодированных данных только вместе с вектором движения, используемым для получения первых кодированных данных.
Согласно вышеописанным устройству кодирования изображений и способу кодирования изображений изображение предиктивно кодируется для вывода первых кодированных данных, первые кодированные данные локально декодируются и изображение предиктивно кодируется с использованием в качестве опорного изображения локально декодированного изображения, получаемого при локальном декодировании, для вывода вторых кодированных данных. Первые и вторые кодированные данные мультиплексируются с использованием только вектора движения, используемого для получения первых кодированных данных.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений для декодирования кодированных данных, которое включает в себя средство выделения для разделения первых и вторых данных из кодированных данных (такое как демультиплексор 91, показанный на фиг.29), первое средство декодирования для декодирования первых данных (такое как блок декодирования нижнего уровня 95, показанный на фиг. 29) и второе средство декодирования для декодирования вторых данных с использованием выходного сигнала первого средства декодирования в качестве опорного изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг. 29). Кодированные данные включают в себя только вектор движения, используемый при предиктивном кодировании первых данных. Второе средство декодирования декодирует вторые данные в соответствии с вектором движения, используемым при предиктивном кодировании первых данных.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений для декодирования кодированных данных, которое включает в себя средство разделения для разделения первых и вторых данных из кодированных данных (такое как демультиплексор 91, показанный на фиг. 29), первое средство декодирования для декодирования первых данных (такое как блок декодирования нижнего уровня 95, показанный на фиг.29) и второе средство декодирования для декодирования вторых данных с использованием выходного сигнала первого средства декодирования в качестве опорного изображения (такое как блок декодирования верхнего уровня 93, показанный на фиг. 29). Если кодированные данные включают в себя только вектор движения, используемый при предиктивном кодировании первых данных, то второе средство декодирования должно декодировать вторые данные в соответствии с вектором движения, используемым при предиктивном кодировании первых данных.
Согласно вышеописанным устройству декодирования изображений и способу декодирования изображений первое средство декодирования декодирует первые данные, а второе средство декодирования декодирует вторые данные с использованием выходного сигнала первого средства декодирования в качестве опорного изображения. Если кодированные данные включают в себя только вектор движения, используемый при предиктивном кодировании первых данных, то второе средство декодирования декодирует вторые данные в соответствии с вектором движения, используемым при предиктивном кодировании первых данных.
Согласно еще одному аспекту настоящего изобретения предлагается носитель записи, на который записываются кодированные данные, получаемые на основе предиктивного кодирования изображения для вывода первых кодированных данных, локального декодирования первых кодированных данных, предиктивного кодирования изображения с использованием локально декодированного изображения, получаемого в результате локального декодирования, для вывода вторых кодированных данных и мультиплексирования первых кодированных данных и вторых кодированных данных только с вектором движения, используемым для получения первых кодированных данных.
Согласно еще одному аспекту настоящего изобретения предлагается способ для записи кодированных данных, в котором кодированные данные получаются на основе предиктивного кодирования изображения и вывода первых кодированных данных, локального декодирования первых кодированных данных, предиктивного кодирования изображения с использованием локально декодированного изображения, получаемого в результате локального декодирования, для вывода вторых кодированных данных и мультиплексирования первых кодированных данных и вторых кодированных данных только с вектором движения, используемым для получения первых кодированных данных.
Согласно другому аспекту настоящего изобретения предлагается устройство кодирования изображений, в котором определяется, является ли макроблок пропускаемым макроблоком или не является таковым, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно другому аспекту настоящего изобретения предлагается способ кодирования изображений, в котором определяется, является ли макроблок пропускаемым макроблоком или не является таковым, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений, в котором определяется, является ли макроблок пропускаемым макроблоком или не является таковым, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно еще одному аспекту настоящего изобретения предлагается способ декодирования изображений, в котором определяется, является ли макроблок пропускаемым макроблоком или не является таковым, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно еще одному аспекту настоящего изобретения предлагается носитель записи, на который записываются кодированные данные, в котором определяется, является ли макроблок пропускаемым макроблоком, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно еще одному аспекту настоящего изобретения предлагается способ записи для записи кодированных данных, в котором определяется, является ли макроблок пропускаемым макроблоком, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования.
Согласно еще одному аспекту настоящего изобретения предлагается устройство обработки изображений, в котором предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется в соответствии с изменениями в размерах изображения.
Согласно еще одному аспекту настоящего изобретения предлагается способ обработки изображений, в котором оценивается, изменился или нет размер изображения, и предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется в соответствии с изменениями в размерах изображения.
Согласно еще одному аспекту настоящего изобретения предлагается устройство обработки изображений, в котором предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется в соответствии с тем, использовалось либо нет, в качестве опорного изображения, изображение другого уровня, но с той же привязкой по времени, что и у кодируемого уровня изображения.
Согласно еще одному аспекту настоящего изобретения предлагается способ обработки изображений, в котором предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется в соответствии с тем, использовалось либо нет, в качестве опорного изображения, изображение другого уровня, но с той же привязкой по времени, что и у кодируемого уровня изображения.
Согласно еще одному аспекту настоящего изобретения предлагается устройство кодирования изображений, в котором предварительно установленный шаг квантования квантуется, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Вышеуказанное устройство кодирования изображений, по меньшей мере, для квантования изображения посредством предварительно установленного шага квантования включает в себя средство мультиплексирования для мультиплексирования результатов квантования изображения и предварительно установленного шага квантования (такое как блок КПД 11, показанный на фиг.22 и 23).
Согласно еще одному аспекту настоящего изобретения предлагается способ кодирования изображений, в котором предварительно установленный шаг квантования квантуется, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Согласно еще одному аспекту настоящего изобретения предлагается устройство декодирования изображений для декодирования кодированных данных, в котором кодированные данные содержат предварительно установленный шаг квантования, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Согласно еще одному аспекту настоящего изобретения предлагается способ декодирования изображений для декодирования кодированных данных, в котором кодированные данные содержат предварительно установленный шаг квантования, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Согласно еще одному аспекту настоящего изобретения предлагается носитель записи с записанными на нем кодированными данными, в котором кодированные данные содержат предварительно установленный шаг квантования, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Согласно еще одному аспекту настоящего изобретения предлагается способ записи для записи кодированных данных, в котором кодированные данные содержат предварительно установленный шаг квантования, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение.
Краткое описание чертежей
Фиг.1 - схема известного кодера,
Фиг.2 - схема известного декодера,
Фиг. 3 - схема примера кодера для выполнения известного масштабируемого кодирования,
Фиг.4 - схема, поясняющая структуру блока кодирования нижнего уровня 202 по фиг.3,
Фиг. 5 - схема, поясняющая структуру блока кодирования верхнего уровня 201 по фиг.3,
Фиг.6 - схема примера декодера для выполнения известного масштабируемого декодирования,
Фиг. 7 - схема, поясняющая структуру блока декодирования нижнего уровня 232 по фиг.6,
Фиг. 8 - схема, поясняющая структуру блока декодирования верхнего уровня 231 по фиг.6,
Фиг.9 - схема, поясняющая известный способ синтеза изображений,
Фиг. 10 - схема, поясняющая способ кодирования, обеспечивающий повторное редактирование и повторный синтез изображений,
Фиг. 11 - схема, поясняющая способ декодирования, обеспечивающий повторное редактирование и повторный синтез изображений,
Фиг. 12 - схема кодера согласно одному варианту осуществления настоящего изобретения,
Фиг.13 - схема, поясняющая изменение во времени положения и размера ВО,
Фиг. 14 - схема, поясняющая структуру блоков кодирования плоскости видеообъекта (ПВО) с 31 по 3N по фиг.12,
Фиг. 15 - схема, поясняющая другую структуру блоков кодирования ПВО с 31 по 3N по фиг.12,
Фиг.16А и 16В - диаграммы, поясняющие пространственную масштабируемость,
Фиг.17А и 17В - диаграммы, поясняющие пространственную масштабируемость,
Фиг.18А и 18В - диаграммы, поясняющие пространственную масштабируемость,
Фиг.19А и 19В - диаграммы, поясняющие пространственную масштабируемость,
Фиг. 20А и 20В - диаграммы, поясняющие способ определения данных размера ПВО и данных сдвига,
Фиг. 21А и 21В - диаграммы, поясняющие способ определения данных размера ПВО и данных сдвига,
Фиг.22 - схема блока кодирования нижнего уровня 25 по фиг.15,
Фиг.23 - схема блока кодирования нижнего уровня 23 по фиг.15,
Фиг.24А и 24В - диаграммы, поясняющие пространственную масштабируемость,
Фиг.25А и 25В - диаграммы, поясняющие пространственную масштабируемость,
Фиг.26А и 26В показывают код (ref_select_code),
Фиг.27 - схема декодера согласно одному варианту настоящего изобретения,
Фиг.28 - схема блоков декодирования ПВО с 721 по 72N,
Фиг. 29 - схема, поясняющая другую структуру блоков декодирования ПВО с 721 по 72N,
Фиг.30 - схема блока декодирования нижнего уровня 95 по фиг.29,
Фиг.31 - схема блока декодирования верхнего уровня 93 по фиг.29,
Фиг. 32 поясняет синтаксическую структуру потока бит, получаемого на основе масштабируемого кодирования,
Фиг.33 поясняет синтаксическую структуру видеосеанса (ВС),
Фиг.34 поясняет синтаксическую структуру ВО,
Фиг.35 поясняет синтаксическую структуру уровня видеообъекта (УВО),
Фиг.36 поясняет синтаксическую структуру ПВО,
Фиг.37 поясняет синтаксическую структуру ПВО,
Фиг. 38 показывает код с переменной длиной слова diff_size_horizontal и diff_size_vertical,
Фиг. 39 показывает код с переменной длиной слова diff_VOP_horizontal_ref и diff_VOP_vertical_ref,
Фиг.40А и 40В поясняет синтаксическую структуру макроблока,
Фиг.41А и 41В поясняет код с переменной длиной слова MODV,
Фиг.42 поясняет макроблок,
Фиг.43А и 43В показывают код с переменной длиной слова MBTYPE,
Фиг.44 поясняет предиктивное кодирование в прямом режиме,
Фиг.45 поясняет предиктивное кодирование B-PICTURE верхнего уровня,
Фиг.46А и 46В - диаграммы, поясняющие квазипрямой режим,
Фиг. 47 - блок-схема, поясняющая способ определения таблицы с переменной длиной слова, используемой для нижнего уровня,
Фиг. 48 - блок-схема, поясняющая способ определения таблицы с переменной длиной слова, используемой для верхнего уровня,
Фиг. 49 - блок-схема, поясняющая процедуру обработки для пропускаемого макроблока нижнего уровня,
Фиг. 50 - блок-схема, поясняющая процедуру обработки для пропускаемого макроблока верхнего уровня,
Фиг. с 51А по 51С поясняют процедуру обработки для пропускаемого макроблока и
Фиг.52 - блок-схема, поясняющая процедуру обработки для шага квантования DQUANT.
Наилучший вариант осуществления изобретения
На фиг.12 показан кодер согласно одному варианту настоящего изобретения. В таком кодере данные изображения для кодирования вводятся в блок формирования ВО (видеообъекта) 1, который выделяет объект из поступающего на него изображения для формирования ВО. Блок формирования ВО 1 может генерировать сигнал ключа для каждого ВО и выдавать сформированный сигнал ключа вместе с соответствующим сигналом ВО на блоки формирования ПВО (плоскости видеообъекта) с 21 по 2N. То есть, если в блоке формирования ВО 1 конструируется N видеообъектов (с ВО 1 по ВО #N), эти N видеообъектов выводятся в блоки формирования ПВО с 21 по 2N вместе с соответствующими сигналами ключей. В частности, данные изображения для кодирования могут включать фон F1, передний план F2 и сигнал ключа K1. Далее положим, что синтезируемое изображение может быть создано из них посредством использования ключа цветности. В этом случае блок формирования ВО 1 может выводить передний план F2 в виде ВО 1 и сигнал ключа K1 в качестве сигнала ключа для ВО 1 на блок формирования ПВО 21; кроме того, блок формирования ВО 1 может выводить фон F1 как ВO 2 на блок формирования ПВО 22. Что касается фона, то сигнал ключа может не потребоваться, и в таком случае он не генерируется и не выводится.
Если данные изображения для кодирования не содержат сигнал ключа, например если данные изображения для кодирования представляют собой ранее синтезированное изображение, то изображение разделяется в соответствии с предварительно установленным алгоритмом для выделения одной или более областей и генерирования сигнала ключа, соответствующего выделенной области. Блок формирования ВО 1 устанавливает последовательность выделяемых областей для ВО, причем эта последовательность выводится вместе со сформированным сигналом ключа в соответствующий блок формирования ПВО 2n, где n=1, 2,...,N.
Блок конструирования ПВО 2n формирует плоскость ВО (ПВО) из выходного сигнала блока формирования ВО 1, так что количество горизонтальных пикселей и вертикальных пикселей будет соответственно равно заданному целому числу, например 16. Если ПВО сформирована, то блок формирования ПВО 2n выдает в блок кодирования ПВО 3n (где n=1, 2, ..., n) ПВО вместе с сигналом ключа для выделения данных изображения части объекта, содержащейся в ПВО, таких как сигналы яркости или цветности. Этот сигнал ключа подается из блока формирования ВО 1 как описано выше. Блок формирования ПВО 2n определяет данные размера (размер ПВО), которые определяют размер (такой как продольный размер и поперечный размер) ПВО, данные сдвига (сдвиг ПВО), которые представляют положение ПВО в кадре (например, координаты относительно верхней левой точки кадра, принятой в качестве точки отсчета), а также подают эти данные в блок кодирования ПВО 3n.
Блок кодирования ПВО 3n кодирует выходной сигнал блока формирования ПВО 2n в соответствии с заданным стандартом, таким как стандарт MPEG или стандарт Н. 263, и выводит результирующий поток бит в блок мультиплексирования 4. Блок мультиплексирования 4 мультиплексирует потоки бит от блоков кодирования ПВО с 31 по 3n и передает результирующие мультиплексированные данные в виде земной радиоволны или через спутниковую сеть, сеть CATV (кабельное телевидение) или подобный указанным канал передачи 5 либо записывает мультиплексированные данные на носитель записи 6 (такой как магнитный диск, магнитооптический диск, оптический диск, магнитную ленту или т.п.)
Далее поясняются понятия ВО и ПВО.
ВО может представлять собой последовательность соответствующих объектов, образующих синтезируемое изображение, в случае когда имеется последовательность изображений для синтеза, в то время как ПВО представляет собой ВО в данный момент времени. То есть, если имеется синтезированное изображение F3, синтезированное из изображений F1 и F2, то каждое из хронологически выстроенных изображений F1 или F2 является ВО, в то время как каждое из изображений F1 или F2 в данный момент времени являются ПВО. Следовательно, ВО может представлять собой набор из ПВО одного и того же объекта в различные моменты времени.
Если изображение F1 является фоном, а изображение F2 является передним планом, то синтезируемое изображение F3 получается посредством синтеза изображений F1 и F2 с использованием сигнала ключа для выделения изображения F2. В этом случае ПВО изображения F2 включает в себя не только данные, образующие изображение F2, (сигналы яркости и цветности), но также и соответствующие сигналы ключей.
Хотя последовательность кадров изображения (экранный кадр) может не изменяться по размеру или положению, данный ВО может изменяться по размеру и/или положению. То есть, ПВО, составляющие один и тот же ВО, могут изменяться во времени и/или положению. Например, на фиг.13 показано синтезированное изображение, сформированное из изображения F1 в качестве фона и изображения F2 в качестве переднего плана. Изображение F1 является сфотографированным ландшафтом, в котором последовательность всего изображения в целом представляет ВО (обозначенный ВО 0), а изображение F2 представляет фотографию шагающего человека, где последовательность для прямоугольника, очерчивающего изображение человека, представляет ВО (обозначенный как ВО 1). В этом примере ВО 0 (являющийся ландшафтом) в принципе не изменяется по положению или размеру, как обычное изображение или экранный кадр. С другой стороны, ВО 1 (являющийся изображением человека) изменяется по размеру или положению, когда это изображение перемещается вперед или назад на рисунке. Следовательно, хотя на фиг.13 ВО 0 и ВО 1 показаны в один и тот же момент времени, их положение и размер не обязательно могут быть одними и теми же. В результате блок кодирования ПВО 3n (фиг.12) выдает в своем выходном потоке бит не только данные кодированной ПВО, но также и информацию, относящуюся к положению (координатам) и размеру ПВО в предварительно установленной абсолютной системе координат. На фиг.13 показан вектор OST0, который определяет положение ВО 0 (ПВО) в заданный момент времени, и вектор OST1, который определяет положение ВО 1 (ПВО) в тот же самый момент времени.
На фиг.14 показана базовая структура блока кодирования ПВО 3n по фиг.12. Как показано на фиг.14, сигнал изображения (данные изображения) от блока формирования ПВО 2N (сигналы яркости и сигналы цветности, образующие ПВО) подаются в блок кодирования сигнала изображения 11, который может быть сконструирован подобно вышеуказанному кодеру по фиг.1, где ПВО кодируется в соответствии с требованиями системы, подчиняющейся стандарту MPEG или Н.263. Информация о движении и структуре, получаемая при кодировании ПВО с помощью блока кодирования сигнала изображения 11, подается в мультиплексор 13. Как показано далее на фиг.14, сигнал ключа из блока формирования ПВО 2n подается в блок кодирования сигнала ключа 12, где он кодируется, например, посредством дифференциальной импульсно-кодовой модуляции (ДИКМ). Информация сигнала ключа, получаемая при кодировании с помощью блока кодирования сигнала ключа 12, подается также в мультиплексор 13. Помимо выходных данных блока кодирования сигнала изображения 11 и блока кодирования сигнала ключа 12 мультиплексору 13 необходимы также данные размера (размер ПВО) и данные сдвига (сдвиг ПВО) от блока формирования ПВО 2n. Мультиплексор 13 мультиплексирует получаемые данные и выводит мультиплексированные данные в буфер 14, который осуществляет транзитное запоминание этих выходных данных и сглаживает объем данных, с тем чтобы выдавать сглаженные данные.
Блок кодирования сигнала ключа 12 может выполнять не только ДИКМ, но также и компенсацию движения сигнала ключа в соответствии с вектором движения, определяемым, например, посредством предиктивного кодирования, которое выполняется блоком кодирования сигнала изображения 11, для того чтобы вычислить временную разницу сигналов ключа перед или после компенсации движения для кодирования сигнала ключа. Кроме того, в блок кодирования сигнала изображения 11 может быть подан объем данных, полученных в результате кодирования сигнала ключа в блоке кодирования сигнала ключа 12 (буферная обратная связь). Шаг квантования может быть определен в блоке кодирования сигнала изображения 11 исходя из полученного объема данных.
На фиг.15 показана структура блока кодирования ПВО 3n по фиг.12, который построен для реализации масштабируемости. Как показано на фиг.15, данные изображения ПВО из блока формирования ПВО 2N, их сигнал ключа, данные размера (размер ПВО) и данные сдвига (сдвиг ПВО) подаются все вместе в блок расслоения изображения 21, который генерирует данные изображения из множества уровней, то есть уровней ПВО. В частности, при кодировании пространственной масштабируемости блок расслоения изображения 21 может выводить непосредственно подаваемые на него данные изображения и сигнал ключа в виде данных изображения и сигналов ключа верхнего уровня (иерархия высокого порядка), прореживая пиксели, образующие данные изображения и сигналы ключа для снижения разрешающей способности, для того чтобы выводить результирующие данные изображения и сигналы ключа низкого уровня (низкий порядок иерархии). Вводимая ПВО может также представлять собой данные низкого уровня, хотя ее разрешающая способность может увеличиться (количество пикселей может возрасти) в виде данных верхнего уровня.
Ниже следует описание вышеупомянутой операции масштабируемости. В этом описании используются и описываются только два уровня, хотя количество уровней может быть равно трем или более.
В случае кодирования временной масштабируемости блок расслоения изображения 21 может выводить сигналы изображения и сигналы ключа попеременно в виде данных верхнего уровня или данных нижнего уровня в зависимости от момента времени. Если ПВО, образующие ВО, вводятся в блок расслоения изображения 21 в виде последовательности ПВО 0, ПВО 1, ПВО 2, ПВО 3,..., то он выводит ПВО 0 в виде ПВО 2, ПВО 4, ПВО 6,... как данные низкого уровня, в то время как ПВО 1, ПВО 3, ПВО 5, ПВО 7,... выводятся как данные высокого уровня. При временной масштабируемости прореженные ПВО просто могут быть данными низкого уровня и высокого уровня, причем данные изображения не увеличиваются и не сжимаются, то есть не выполняется преобразование разрешающей способности, хотя такое преобразование разрешающей способности может быть выполнено.
В случае использования масштабируемости (отношения сигнал/шум при кодировании) вводимые сигналы изображения и сигналы ключа выводятся непосредственно в виде данных верхнего уровня или данных нижнего уровня. То есть, в этом случае вводимые сигналы изображения и сигналы ключа верхнего и нижнего уровней могут представлять собой одни и те же данные.
В случае кодирования на основе ПВО могут иметь место следующие три типа пространственной масштабируемости.
Если синтезируемое изображение, составляемое из изображений F1 и F2, показанных на фиг.13, подается в виде ПВО, то первая пространственная масштабируемость переводит введенную ПВО в целом в верхний уровень (уровень увеличения), как показано на фиг.16А, переводя сжатую в целом ПВО в нижний уровень (базовый уровень), как показано на фиг.16В.
Вторая пространственная масштабируемость необходима для выделения объекта, составляющего часть введенной ПВО, соответствующей изображению F2, и направления ее на верхний уровень, как показано на фиг.17А, при направлении ПВО в целом на нижний уровень (базовый уровень), как показано на фиг.17В. Такое выделение может быть выполнено в блоке формирования ПВО 2n так, что объект, выделенный таким образом, может рассматриваться как ПВО.
Третья пространственная масштабируемость выделяет объекты (ПВО), образующие вводимую ПВО, с тем чтобы генерировать верхний уровень и нижний уровень на базе ПВО, как показано на фиг.18А, 18В, 19А и 19В. На фиг.18А и 18В верхний и нижний уровни генерируются из фона (изображение F1), образующего ПВО по фиг. 13, в то время как на фиг.19А и 19В верхний и нижний уровни генерируются из переднего плана (изображение F2), образующего ПВО по фиг.13.
Желаемый тип пространственной масштабируемости может быть выбран или предварительно определен из вышеописанных типов, так что блок расслоения изображения (средство установки положения) 21 расслаивает ПВО, обеспечивая кодирование с использованием предварительно установленной масштабируемости.
Исходя из данных размера и данных сдвига ПВО, подаваемых в блок расслоения изображения 21 (иногда их здесь называют соответственно данными начального размера и данными начального сдвига), блок расслоения изображения 21 вычисляет (устанавливает) данные сдвига и данные размера, определяющие положение и размер в предварительно установленной абсолютной системе координат созданных ПВО соответственно нижнего уровня и верхнего уровня.
Способ установки данных сдвига (информация о положении) и данных размера верхнего и нижнего уровней поясняется со ссылками на вышеупомянутый второй тип масштабируемости (фигуры 17А и 17В). В этом случае данные сдвига FPOS_B нижнего уровня устанавливаются таким образом, что если данные изображения нижнего уровня на основе разрешающей способности и различия в разрешающей способности относительно верхнего уровня увеличиваются (интерполируются), то есть, если изображение нижнего уровня увеличивается со степенью увеличения (коэффициентом умножения FR), то данные сдвига в абсолютной системе координат увеличенного изображения будут совпадать с данными начального сдвига. Степень увеличения является обратной величиной степени сжатия, посредством которой изображение верхнего уровня сжимается, образуя изображение нижнего уровня. Подобным же образом данные размера FSZ_B нижнего уровня устанавливаются таким образом, что данные размера увеличенного изображения, получаемые при увеличении изображения нижнего уровня с помощью коэффициента умножения FR, будут совпадать с данными начального размера. С другой стороны, данные сдвига FPOS_E верхнего уровня устанавливаются на такое значение координаты, как, например, верхняя левая вершина 16-кратного минимального прямоугольника (ПВО), окружающего объект, выделенный из введенной ПВО, что находится на основе данных начального сдвига, как показано на фиг.20В. Вдобавок данные размера FSZ_E верхнего уровня могут быть установлены в виде поперечной длины или продольной длины 16-кратного минимального прямоугольника (ПВО), окружающего объект, выделенный из введенной ПВО.
Следовательно, если данные сдвига FPOS_B и данные размера FSZ_B нижнего уровня преобразуются в соответствии с коэффициентом умножения FR, то кадр изображения с размером, соответствующим преобразованным данным размера FSZ_ B, может рассматриваться как находящийся в положении, соответствующем преобразованным данным сдвига FPOS_B в абсолютной системе координат, увеличенное изображение, получаемое при умножении данных изображения нижнего уровня на FR, может быть расположено, как показано на фиг.20А, а изображение верхнего уровня может быть подобным же образом расположено в соответствии с данными сдвига FPOS_ E и данными размера FSZ_E верхнего уровня в абсолютной системе координат (фиг.20В), где соответствующие пиксели увеличенного изображения и изображения верхнего уровня находятся во взаимно однозначном соответствии. То есть, в этом случае человек в изображении верхнего уровня находится в том же самом положении, что и человек в увеличенном изображении, как показано на фиг.20А и 20В.
При использовании масштабируемости первого и третьего типов данные сдвига FPOS_ B или FPOS_E и данные размера FSZ_B и FSZ_E определяются так, что соответствующие пиксели увеличенного изображения нижнего уровня и увеличенного изображения верхнего уровня будут располагаться в одних и тех же положениях в абсолютной системе координат.
Данные сдвига FPOS_ B, FPOS_E и данные размера FSZ_B, FSZ_E могут быть определены следующим образом. А именно, данные сдвига FPOS_B нижнего уровня могут быть определены так, что данные сдвига увеличенного изображения нижнего уровня будут совпадать с предварительно установленным положением в абсолютной системе координат, таким как начало координат, как показано на фиг. 21А. С другой стороны, данные сдвига FPOS_E верхнего уровня устанавливаются со значением координаты, соответствующим верхней левой вершине 16-кратного минимального прямоугольника (ПВО), окружающего объект, выделенный из введенной ПВО, что определяется на основе данных начального сдвига (с меньшими значениями данных начального сдвига), как показано, например, на фиг.21В. На фиг. 21А и 21В данные размера FSZ_B нижнего уровня и данные размера FSZ_E верхнего уровня могут быть установлены таким же образом, как это было объяснено со ссылками на фиг.20А и 20В.
Если данные сдвига FPOS_B и FPOS_E устанавливаются как описано выше, то соответствующие пиксели, образующие увеличенное изображение нижнего уровня и изображение верхнего уровня, выстраиваются в соответствующих положениях в абсолютной системе координат.
Как показано на фиг.15, данные изображения, сигналы ключа, данные сдвига FPOS_ E и данные размера FSZ_E верхнего уровня, генерируемые в блоке расслоения изображения 21, подаются в схему задержки 22 с целью их задержки на величину, соответствующую времени обработки в блоке кодирования нижнего уровня 25, как объясняется далее. Выходные сигналы из схемы задержки 22 подаются в блок кодирования верхнего уровня 23. Данные изображения, сигналы ключа, данные сдвига FPOS_B и данные размера FSZ_B нижнего уровня подаются в блок кодирования нижнего уровня 25. Коэффициент умножения FR подается через схему задержки 22 в блок кодирования верхнего уровня 23 и преобразователь разрешающей способности 24.
Блок кодирования нижнего уровня 25 кодирует данные изображения (второе изображение) и сигналы ключа нижнего уровня. Данные сдвига FPOS_B и данные размера FSZ_B содержатся в результирующих кодированных данных (потоке бит), которые подаются в мультиплексор 26. Блок кодирования нижнего уровня 25 локально декодирует кодированные данные и выводит результирующие локально декодированные данные изображения нижнего уровня в преобразователь разрешающей способности 24 (средство увеличения/сжатия). Преобразователь разрешающей способности 24 увеличивает или сжимает данные изображения нижнего уровня, получаемые из блока кодирования нижнего уровня 25, в соответствии с коэффициентом умножения FR, с тем чтобы вернуться к исходному размеру. Результирующее изображение, которое может быть увеличенным изображением, выдается в блок кодирования верхнего уровня 23 (первое средство кодирования изображений)
Блок кодирования верхнего уровня 23 кодирует данные изображения (первое изображение) и сигналы ключа верхнего уровня. Данные сдвига FPOS_E и данные размера FSZ_E содержатся в результирующих кодированных данных (потоке бит), которые подаются в мультиплексор 26. Блок кодирования верхнего уровня 23 кодирует данные изображения, используя увеличенное изображение, которое подается из преобразователя разрешающей способности 24.
Блок кодирования нижнего уровня 25 и блок кодирования верхнего уровня 23 обеспечиваются данными размера FSZ_B, данными сдвига FPOS_B, вектором движения MV и флагом COD. Блок кодирования верхнего уровня 23 ссылается на эти данные или использует эти данные или информацию, которая подходит или необходима в процессе обработки, как это более подробно описывается ниже.
Мультиплексор 26 мультиплексирует выходные сигналы от блока кодирования верхнего уровня 23 и блока кодирования нижнего уровня 25 и выдает результирующий мультиплексированный сигнал.
На фиг.22 показан пример блока кодирования нижнего уровня 25. На фиг.22 части или компоненты, соответствующие частям или компонентам по фиг.1, обозначены теми же самыми цифровыми ссылками. То есть, блок кодирования нижнего уровня 25 сходен по конструкции с кодером по фиг.1, за исключением дополнительно введенных блока кодирования сигнала ключа 43 и блока декодирования сигнала ключа 44.
В блоке кодирования нижнего уровня 25 по фиг.22 данные изображения от блока расслоения 21 (фиг.15), то есть ПВО нижнего уровня, подаются и запоминаются в кадровой памяти 31. Затем в обнаружителе вектора движения 32 на основе макроблока может быть обнаружен вектор движения. Этот обнаружитель вектора движения 32 получает данные сдвига FPOS_B и данные размера FSZ_B VOP нижнего уровня и определяет вектор движения макроблока на основе указанных данных. Поскольку размер и положение ПВО изменяются во времени (от кадра к кадру) при определении вектора движения, координатная система должна быть установлена в качестве базиса отсчета для обнаружения движения, определяемого в системе координат. С этой целью в качестве базисной системы координат для обнаружителя вектора движения 32 может быть использована вышеупомянутая абсолютная система координат, а ПВО для кодирования и ПВО в качестве опорного изображения могут размещаться в этой абсолютной системе координат для обнаружения вектора движения.
Обнаружитель вектора движения 32 принимает от блока декодирования сигнала ключа 44 декодированный сигнал ключа, который получается посредством кодирования сигнала ключа нижнего уровня и декодирования результата кодирования. Обнаружитель вектора движения 32 посредством использования декодированного сигнала ключа выделяет из ПВО объект для определения вектора движения. Декодированный сигнал ключа используется вместо исходного сигнала ключа (сигнала ключа перед кодированием) для выделения объекта, поскольку на приемной стороне используется декодированный сигнал ключа.
В то же время обнаруженный вектор движения (MV) подается вместе с режимом предсказания не только в блок КПД 36 и компенсатор движения 42, но также и в блок кодирования верхнего уровня 23 (фиг.15).
Для компенсации движения движение должно быть определено в эталонной системе координат способом, подобным описанному выше. Таким образом, данные размера FSZ_B и данные сдвига FPOS_B подаются в компенсатор движения 42, который получает также декодированный сигнал ключа от блока декодирования сигнала ключа 44 по той же причине, как это описано в связи с детектором вектора движения 32.
ПВО, вектор движения которой был определен, квантуется, как на фиг.1, и результирующие квантованные данные подаются в блок КПД 36. Этот блок КПД получает не только квантованные данные, шаг квантования, вектор движения и режим предсказания, но также и данные сдвига FPOS_B и данные размера FSZ_B от блока расслоения изображения 21 (фиг.15), с тем чтобы эти данные можно было также квантовать. Блок КПД 36 получает также кодированные сигналы ключей от блока кодирования сигнала ключа 43 (поток бит сигнала ключа), так что кодированные сигналы ключей также кодируются с помощью кодирования с переменной длиной слова. То есть, блок кодирования ключа 43 кодирует сигналы ключей от блока расслоения изображения 21, который раскрывается со ссылками на фиг.14. Кодированные сигналы ключей подаются в блок КПД 36 и блок декодирования сигнала ключа 44. Блок декодирования сигнала ключа 44 декодирует кодированные сигналы ключей и выводит декодированный сигнал ключа в обнаружитель вектоpa движения 32, компенсатор движения 42 и преобразователь разрешающей способности 24 (фиг.15).
Блок кодирования сигнала ключа 43 обеспечивается не только сигналами ключей нижнего уровня, но также данными размера FSZ_B и данными сдвига FPOS_ B, так что, подобно обнаружителю вектора движения 32, блок кодирования сигнала ключа 43 на основе этих данных выявляет положение и диапазон сигналов ключей в абсолютной системе координат.
ПВО, вектор движения которой был определен, кодируется, как было описано выше, и локально декодируется, как на фиг.1, для последующего запоминания в кадровой памяти 41. Декодированное изображение может быть использовано в качестве опорного изображения способом, описанным выше, и подано в преобразователь разрешающей способности 24.
В отличие от MPEG1 и 2 MPEG4 разрешает также в качестве опорного изображения использовать В-изображение, так что В-изображение также локально декодируется и запоминается в кадровой памяти 41. Однако в настоящее время В-изображение может быть использовано в качестве опорного только для верхнего уровня.
Блок КПД 36 проверяет макроблоки I-, Р- и В-изображений на предмет того, следует или нет эти макроблоки преобразовать в пропускаемые макроблоки, и в соответствии с результатами этой проверки устанавливает флаги COD и MODB. Флаги COD и MODB кодируются подобным же образом с использованием кода с переменной длиной слова для передачи. Флаг COD также подается в блок кодирования верхнего уровня 23.
На фиг. 23 показана структура блока кодирования верхнего уровня 23 по фиг. 15. На фиг.23 части либо компоненты, соответствующие частям либо компонентам, показанным на фиг.1 и 22, обозначены одними и теми же цифровыми ссылками. То есть, блок кодирования верхнего уровня 23 подобен по конструкции блоку кодирования нижнего уровня 25 по фиг.22 или кодеру по фиг.1, за исключением того, что здесь в качестве новых блоков имеются блок кодирования сигнала ключа 51, кадровая память 52 и блок декодирования сигнала ключа 53.
В блоке кодирования верхнего уровня 23 по фиг.15 данные изображения от блока расслоения изображения 21 (фиг.15), то есть ПВО верхнего уровня, подаются в кадровую память 31, как на фиг.1, для определения в обнаружителе вектора движения 32 вектора движения на основе макроблока. Обнаружитель вектора движения 32 получает ПВО верхнего уровня, данные размера FSZ_E и данные сдвига FPOS_ E, вдобавок к ПВО верхнего уровня, способом, подобным способу на фиг.22, и получает декодированный ключ от декодера сигнала ключа 53. Обнаружитель вектора движения 32 определяет расположение ПВО верхнего уровня в абсолютной координатной системе на основе данных размера FSZ_E и данных сдвига FPOS_E, как в вышеуказанном случае, и выделяет объект, содержащийся в ПВО, на основе декодированных сигналов ключей, с тем чтобы определить вектор движения на основе макроблоков.
Обнаружитель вектора движения 32 в блоке кодирования верхнего уровня 23 и блоке кодирования нижнего уровня 25 обрабатывает ПВО в предварительно установленной последовательности, как это объяснялось со ссылками на фиг.1. Эта последовательность может быть установлена следующим образом.
В случае пространственной масштабируемости ПВО верхнего или нижнего уровня может обрабатываться в последовательности Р, В, В, В,... или I, Р, Р, Р, ..., как показано на фиг.24А или 24В соответственно. В верхнем уровне Р-изображение, как первая ПВО верхнего уровня, кодируется в этом случае с использованием ПВО нижнего уровня для того же самого момента времени, с I-изображением в качестве опорного изображения. В-изображения, которые являются вторыми вслед за ПВО верхнего уровня, кодируются с использованием в качестве опорных изображений непосредственно предшествующей ПВО верхнего уровня и ПВО нижнего уровня для того же самого момента времени. Подобно Р-изображениям нижнего уровня В-изображения верхнего уровня используются в качестве опорных изображений при кодировании других ПВО. Нижний уровень кодируется согласно либо MPEG1 или 2, либо как в Н.263.
Масштабируемость отношения с/ш можно считать эквивалентной пространственной масштабируемости, при которой коэффициент умножения FR равен единице, вследствие чего обработка может быть осуществлена способом, подобным описанному выше для пространственной масштабируемости.
В случае использования временной масштабируемости, то есть если ВО составлено из ПВО 0, ПВО 1, ПВО 2, ПВО 3,..., причем ПВО 1, ПВО 3, ПВО 5, ПВО 7,... являются верхними уровнями (фиг.25А), а ПВО 0, ПВО 2, ПВО 4, ПВО 6,... являются нижними уровнями (фиг.25В), то ПВО верхнего и нижнего уровней могут обрабатываться в последовательности В, В, В,... или I, Р, Р, как показано на фиг. 25А и 25В. В этом случае первая ПВО 1 (В-изображение) верхнего уровня может кодироваться с использованием в качестве опорных изображений ПВО 0 (I-изображение) и ПВО 2 (Р-изображение) нижнего уровня. Вторая ПВО 3 (В-изображение) верхнего уровня может кодироваться с использованием в качестве опорных изображений ПВО 1 верхнего уровня, закодированной как В-изображение, и ПВО 4 (Р-изображение) нижнего уровня, которое является изображением для следующего момента времени (кадра) по отношению к ПВО 3. Подобно ПВО 3 третья ПВО 5 верхнего уровня (В-изображение) может кодироваться с использованием ПВО 3 верхнего уровня, закодированной как В-изображение, а также ПВО 6 (Р-изображение) нижнего уровня, которое является изображением (кадром), следующим по времени по отношению к ПВО 5.
Как описывалось выше, в качестве опорного изображения для кодирования может быть использована ПВО другого уровня, здесь нижнего уровня (масштабируемого уровня). То есть, если в качестве опорного изображения для предиктивного кодирования верхнего уровня ПВО используется ПВО другого уровня (то есть в качестве опорного изображения для предиктивного кодирования ПВО верхнего уровня используется ПВО нижнего уровня), то обнаружитель вектора движения 32 блока кодирования верхнего уровня 23 (фиг.23) устанавливает и выводит флаг, определяющий такое использование. Например, флаг (ref_layer_id) может определять уровень, которому принадлежит ПВО, используемая в качестве опорного изображения, если имеется три или более уровней. Кроме того, обнаружитель вектора движения 32 блока кодирования верхнего уровня 23 способен устанавливать и выводить флаг ref_select_code (информация опорного изображения) в соответствии с флагом ref_layer_id для ПВО. Флаг ref_ select_code определяет, ПВО какого уровня может быть использована в качестве опорного изображения при выполнении прямого предиктивного кодирования или обратного предиктивного кодирования.
На фиг.26А и 26В определены значения для флага ref_select_code для Р- и В-изображений.
Как показано на фиг. 26А, если, например, кодируется Р-изображение верхнего уровня (уровня увеличения) с использованием в качестве опорного изображения ПВО, декодированной (локально декодированной) непосредственно перед этим и которая принадлежит тому же уровню, что и Р-изображение верхнего уровня, то флаг ref_select_code устанавливается в '00'. Также, если Р-изображение кодируется с использованием в качестве опорного изображения ПВО, отображаемой непосредственно перед этим и которая принадлежит уровню, отличному от уровня Р-изображения, то флаг ref_select_code устанавливается в '01'. Если Р-изображение кодируется с использованием в качестве опорного изображения ПВО, отображаемой непосредственно вслед и которая принадлежит другому уровню, то флаг ref_select_code устанавливается в '10'. Если Р-изображение кодируется с использованием в качестве опорного изображения одновременной или совпадающей ПВО, принадлежащей другому уровню, то флаг ref_select_code устанавливается в '11'.
С другой стороны, как показано на фиг.26В, если В-изображение верхнего уровня кодируется, например, с использованием, в качестве опорного изображения для прямого предсказания, совпадающей ПВО другого уровня или кодируется с использованием, в качестве опорного изображения для обратного предсказания, ПВО, декодируемой непосредственно перед этим и которая принадлежит тому же самому уровню, то флаг ref_select_code устанавливается
в '00'. Также, если В-изображение верхнего уровня кодируется с использованием, в качестве опорного изображения для прямого предсказания, ПВО, принадлежащей тому же самому уровню, или кодируется с использованием, в качестве опорного изображения для обратного кодирования, ПВО, отображаемую непосредственно перед этим и которая принадлежит другому уровню, то флаг ref_ select_ code устанавливается в '01'. Вдобавок, если В-изображение верхнего уровня кодируется с использованием, в качестве опорного изображения, ПВО, декодируемой непосредственно перед этим и которая принадлежит тому же самому уровню, или кодируется с использованием, в качестве опорного изображения, ПВО, отображаемой непосредственно вслед и которая принадлежит другому уровню, то флаг ref_select_code устанавливается в '10', И наконец, если В-изображение верхнего уровня кодируется с использованием, в качестве опорного изображения для прямого предсказания, ПВО, отображаемой непосредственно вслед и которая принадлежит другому уровню, или кодируется с использованием, в качестве опорного изображения для обратного предсказания, ПВО, отображаемой непосредственно вслед и которая принадлежит другому уровню, то флаг ref_select_code устанавливается в '11'.
Способы предиктивного кодирования, раскрываемые со ссылками на фигуры 24А, 24В, 25А и 25В, являются лишь иллюстрацией, и, как должно быть ясно, можно достаточно свободно задавать в рамках условий, раскрываемых со ссылками на фигуры 26А и 26В, где указано, какая ПВО какого уровня должна быть использована в качестве опорного изображения для прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного копирования.
В вышеприведенном описании термины пространственной масштабируемости, временной масштабируемости и масштабируемости с/ш были использованы для удобства. Однако, как было объяснено со ссылками на фиг.26А и 26В, если установлено опорное изображение, используемое для предиктивного кодирования, то есть, если используется синтаксическая структура, показанная на фиг.26А и 26В, то может оказаться трудным однозначно различить пространственную масштабируемость, временную масштабируемость и масштабируемость с/ш с помощью флага ref_select_code. С другой стороны, в вышеупомянутом различении масштабируемости путем использования флага ref_ select_code нет необходимости. Однако связь между масштабируемостью и флагом ref_select_code может быть установлена, например, так, как описано ниже.
В случае Р-изображения флаг ref_select_code, равный '11', связывается с использованием, в качестве опорного изображения (изображения для прямого предсказания), совпадающей ПВО уровня, определяемого флагом ref_select_code, где масштабируемость является пространственной масштабируемостью или масштабируемостью с/ш. Если флаг ref_select_code отличается от '11', то масштабируемость является временной масштабируемостью.
В случае В-изображения флаг ref_select_code, равный '00', связывается с использованием, в качестве опорного изображения для прямого предсказания, совпадающей ПВО уровня, определяемого флагом ref_select_id, где масштабируемость является пространственной масштабируемостью или масштабируемостью с/ш. Если флаг ref_select_code отличается от '00', то масштабируемость является временной масштабируемостью.
Если в качестве опорного изображения для предиктивного кодирования ПВО верхнего уровня используется совпадающая ПВО другого уровня, здесь нижнего уровня, то между двумя ПВО нет движения, так что вектор движения равен 0 (0,0) для всех моментов времени.
Согласно фиг.23, вышеупомянутые флаги ref_layer_id и ref_select_code могут быть установлены в обнаружителе движения 32 блока кодирования верхнего уровня 23 и подаваться в компенсатор движения 42 и блок КПД 36. Обнаружитель вектора движения 32 определяет вектор движения посредством использования не только кадровой памяти 31, но также, если это необходимо, кадровой памяти 52 в соответствии с флагами ref_layer_id и ref_select_code. В кадровую память 52 из преобразователя разрешающей способности 24 (фиг.15) может подаваться локально декодированное увеличенное изображение нижнего уровня. То есть, преобразователь разрешающей способности 24 может увеличить локально декодированную ПВО нижнего уровня с помощью, например, интерполяционного фильтра, с тем чтобы генерировать увеличенное изображение, соответствующее ПВО, которая увеличивается посредством коэффициента FR, то есть увеличенное изображение, имеющее тот же самый размер, что и ПВО верхнего уровня, связанной с ПВО нижнего уровня. Кадровая память 52 запоминает увеличенное изображение, подаваемое от преобразователя разрешающей способности 24. Однако, если коэффициент умножения равен 1, то преобразователь разрешающей способности 24 непосредственно подает локально декодированную ПВО из блока кодирования нижнего уровня 25 в блок кодирования верхнего уровня 23 без выполнения какой-либо специальной обработки.
Обнаружитель вектора движения 32 получает данные размеров FSZ_B и данные сдвига FPOS_B от блока кодирования нижнего уровня 25 и получает коэффициент умножения FR из схемы задержки 22 (фиг.15). Таким образом, если в качестве опорного изображения используется увеличенное изображение, хранящееся в кадровой памяти 52, то есть, если в качестве опорного изображения для предиктивного кодирования ПВО верхнего уровня используется ПВО нижнего уровня, совпадающая с ПВО верхнего уровня, то обнаружитель вектора движения 32 умножает данные размера FSZ_ B и данные сдвига FPOS_B, соответствующие увеличенному изображению, на коэффициент умножения FR. В этом случае флаг ref_ select_ code устанавливается в '11', как объяснялось со ссылками на фиг.26А, и на '00' для Р-изображения и для В-изображения, как объяснялось со ссылками на фиг. 26В. Обнаружитель вектора движения 32 определяет положение увеличенного изображения в абсолютной системе координат на основе результатов умножения для определения вектора движения.
Обнаружитель вектора движения 32 может также получать данные режима предсказания и вектора движения нижнего уровня. Они могут быть использованы следующим образом. Если флаг ref_select_code для В-изображения верхнего уровня установлен на '00', а коэффициент умножения FR равен 1, то есть, если масштабируемость является масштабируемостью с/ш, когда ПВО верхнего уровня используется для предиктивного кодирования верхнего уровня, так что масштабируемость с/ш отличается здесь от той, что предписывается в MPEG2, то верхний уровень и нижний уровень представляют собой одно и то же изображение, так что вектор движения и режим предсказания изображения совпадающего нижнего уровня могут быть использованы непосредственно для предиктивного кодирования В-изображения верхнего уровня. В этом случае из обнаружителя вектора движения 32 в блок КПД 36 не выводится ни вектор движения, ни режим предсказания, поскольку приемная сторона может определить режим предсказания и вектор движения верхнего уровня из результатов декодирования нижнего уровня.
Как было описано выше, обнаружитель вектора движения 32 может использовать в качестве опорных изображений для определения вектора движения не только ПВО верхнего уровня, но также и увеличенное изображение. Кроме того, обнаружитель вектора движения 32 может установить режим предсказания, который минимизирует ошибку предсказания или дисперсию, как объяснялось со ссылками на фиг.1. Кроме того, обнаружитель вектора движения 32 может также устанавливать и выводить другую информацию, такую как флаг ref_select_code и/или ref_layer_id.
Как показано на фиг.15 и 23, флаг COD, определяющий, является или нет макроблок, образующий I- или Р-изображение в нижнем уровне, пропускаемым макроблоком, подается из блока кодирования нижнего уровня 25 в обнаружитель вектора движения 32, блок КПД 36 и компенсатор движения 42, как объясняется ниже.
Макроблок, вектор движения которого определяется, может кодироваться, как описано выше, после чего блок КПД 36 выводит код с переменной длиной слова как результат кодирования. Как и в блоке кодирования нижнего уровня 25, блок КПД 36 блока кодирования верхнего уровня 23 может установить и выдать флаг COD, определяющий, является или нет макроблок I- или Р-изображения пропускаемым макроблоком, как описано выше, и флаг MODB, определяющий, является ли макроблок В-изображения пропускаемым макроблоком. Блок КПД 36 может также получать коэффициент умножения FR, флаги ref_select_code и ref_layer_ id, данные размера FSZ_E, данные сдвига FPOS_E и выходной сигнал блока кодирования сигнала ключа 51 вдобавок к коэффициентам квантования, шагу квантования, вектору движения и режиму предсказания. Блок КПД 36 осуществляет кодирование с переменной длиной слова и выводит все указанные данные.
Кроме того, макроблок, вектор движения которого был определен, кодируется и локально декодируется, как описано выше, и запоминается в кадровой памяти 41. В компенсаторе движения 42 компенсация движения выполняется с тем, чтобы создать предсказываемое изображение с использованием не только локально декодированной ПВО верхнего уровня, хранящейся в кадровой памяти 41, но также и локально декодированной и увеличенной ПВО нижнего уровня, хранящейся в кадровой памяти 52. То есть, компенсатор движения 42 получает не только вектор движения и режим предсказания, но также и флаги ref_select_code и ref_ layer_id, декодированный сигнал ключа, коэффициент умножения FR, данные размера FSZ_B и FSZ_E и данные сдвига FPOS_B и FPOS_E. Компенсатор движения 42 распознает опорное изображение для компенсации движения на основе флагов ref_ select_code и ref_layer_id. Если в качестве опорного изображения используется локально декодированная ПВО верхнего уровня или увеличенное изображение, то компенсатор движения 42 определяет также положение и размер изображения в абсолютной системе координат на основе данных размера FSZ_E и данных сдвига FPOS_ E или на основе данных размера FSZ_B и данных сдвига FPOS_B для генерации предсказываемого изображения и может использовать коэффициент умножения FR и декодированный сигнал ключа.
Сигнал ключа ПВО верхнего уровня подается в блок кодирования сигнала ключа 51, который кодирует сигнал ключа (способом, подобным используемому в блоке кодирования сигнала ключа 43 по фиг.22) и подает кодированный сигнал ключа в блок КПД 36 и блок декодирования сигнала ключа 53. Блок декодирования сигнала ключа 53 декодирует принятый кодированный сигнал ключа и выдает декодированный сигнал ключа в обнаружитель вектора движения 32 и компенсатор движения 42, как было описано выше, для использования при выделении ПВО верхнего уровня.
На фиг.27 показан вариант осуществления декодера для декодирования потока бит, выдаваемого кодером по фиг.12.
Поток бит, выводимый кодером по фиг.12, может быть передан по каналу передачи 5, после чего он принимается приемным устройством (не показано), либо этот выходной поток бит может быть записан на носитель записи 6, после чего он воспроизводится устройством воспроизведения (не показано). В любом случае принятый поток бит подается в демультиплексор 71, где он разделяется на потоки бит на базе ВО: ВО 1, ВО 2,... и затем подается в соответствующий декодер ПВО 72N. Декодер ПВО 72N декодирует ПВО (данные изображения), образующие ВО, сигнал ключа, данные размера (размер ПВО) и данные сдвига (сдвиг ПВО) и подает декодированные данные или сигнал в блок восстановления изображения 73. На основе выходных сигналов декодеров ПВО с 721 по 72N блок восстановления изображения 73 восстанавливает исходное изображение, которое может быть подано на монитор 74 для отображения.
На фиг. 28 показана базовая структура декодера ПВО 72N по фиг.27. Как показано на фиг. 25, поток бит от демультиплексора 71 (фиг.27) подается в демультиплексор 81, где выделяется информация сигнала ключа и информация о движении и структуре. Информация сигнала ключа посылается в блок декодирования сигнала ключа 82, а информация о движении и структуре подается в блок декодирования сигнала изображения 83. Блок декодирования сигнала ключа 82 и блок декодирования сигнала изображения 83 декодируют соответственно информацию сигнала ключа и информацию о движении и структуре и подают результирующий сигнал ключа и данные изображения ПВО (сигналы яркости и цветности) в блок восстановления изображения 73. Кроме того, из входного потока бит также выделяются данные размера (размер ПВО) и данные сдвига (сдвиг ПВО) и подаются в блок восстановления изображения 73 (фиг.27).
Если блок кодирования сигнала ключа 12 (фиг.14) осуществляет компенсацию движения сигнала ключа в соответствии с вектором движения, определенном в блоке кодирования сигнала изображения 11 (фиг.14) для кодирования сигнала ключа, то вектор движения, используемый для декодирования изображения в блоке декодирования сигнала изображения 83, посылается в блок декодирования сигнала ключа 82, с тем чтобы декодировать сигнал ключа с использованием вектора движения.
На фиг. 29 показана структура блока декодирования ПВО 72N по фиг.27 для реализации масштабируемости. Как показано на фиг.29, поток бит, подаваемый от демультиплексора 71 (фиг.27), подается в демультиплексор 91, где он разделяется на поток бит ПВО верхнего уровня и поток бит ПВО нижнего уровня. Поток бит ПВО нижнего уровня подается в блок декодирования нижнего уровня 95, который декодирует поток бит нижнего уровня и подает результирующие декодированные данные изображения нижнего уровня и сигнал ключа в преобразователь разрешающей способности 94. Кроме того, блок декодирования нижнего уровня 95 поставляет информацию для кодирования ПВО верхнего уровня, такую как данные размера FSZ_B, данные сдвига FPOS_B, вектор движения MV, режим предсказания и/или флаг COD, получаемую при декодировании потока бит нижнего уровня, в блок декодирования верхнего уровня 93. Поток бит ПВО верхнего уровня от демультиплексора 91 задерживается в схеме задержки 92 на время задержки, соответствующее времени обработки в блоке декодирования нижнего уровня 95, и затем подается в блок декодирования верхнего уровня 93. Блок декодирования верхнего уровня 93 декодирует поток бит верхнего уровня, поступающий через схему задержки 92, посредством использования выходных сигналов блока декодирования нижнего уровня 95 и преобразователя разрешающей способности 94, если это необходимо, и выводит результирующее декодированное изображение верхнего уровня, сигнал ключа, данные размера FSZ_E и данные сдвига FPOS_E. Блок декодирования верхнего уровня 93 может также выводить коэффициент умножения FR (получаемый при декодировании потока бит верхнего уровня) в преобразователь разрешающей способности (средство увеличения/сжатия по п.3 формулы) 94. Используя полученный коэффициент умножения FR, преобразователь разрешающей способности 94 может преобразовать декодированное изображение нижнего уровня в увеличенное изображение, как в преобразователе разрешающей способности 24 (фиг. 15). Увеличенное изображение от этого преобразования посылается в блок декодирования верхнего уровня, с тем чтобы использовать его для декодирования потока бит верхнего уровня.
На фиг.30 показана структура блока декодирования нижнего уровня 95, показанного на фиг.29. Блок декодирования нижнего уровня 95 по своей конструкции подобен декодеру по фиг. 2, за исключением того, что здесь в качестве нового устройства имеется блок декодирования сигнала ключа 108. На фиг.30 части или компоненты, соответствующие частям или компонентам декодера по фиг.2, обозначены теми же самыми цифровыми ссылками.
Как показано на фиг.30, поток бит нижнего уровня от демультиплексора 91 (фиг.29) подается в буфер 101 для запоминания. Блок ОКПД 102 считывает поток бит из буфера 101 и осуществляет кодирование с переменной длиной слова считываемого потока бит для выделения коэффициентов квантования, вектора движения, режима предсказания, шага квантования, кодированных сигналов ключей, данных размера FSZ_B, данных сдвига FPOS_B и флагов COD. Коэффициенты квантования и шаг квантования посылаются в деквантователь 103; вектор движения и режим предсказания посылаются в компенсатор движения 107 и блок декодирования верхнего уровня 93 (фиг.29); данные размера FSZ_B и данные сдвига FPOS_ B посылаются в компенсатор движения 107, блок декодирования сигнала ключа 108, блок восстановления изображения 73 (фиг.27) и блок декодирования верхнего уровня 93; флаг COD посылается в блок декодирования верхнего уровня 93 и кодированные данные сигнала ключа посылаются в блок декодирования сигнала ключа 108.
Деквантователь 103, блок ОДКП 104, арифметический блок 105, кадровая память 106 и компенсатор движения 107 могут выполнять обработку, подобную той, которая выполняется деквантователем 38, блоком ОДКП 37, арифметическим блоком 40, кадровой памятью 41 и компенсатором движения 42 по фиг.22, для декодирования ПВО нижнего уровня. Декодированная ПВО нижнего уровня посылается в блок восстановления изображения 73 (фиг.27), блок декодирования верхнего уровня 93 (фиг.29) и преобразователь разрешающей способности 94 (фиг. 29).
Блок декодирования сигнала ключа 108 может выполнять обработку, подобную той, которая выполняется блоком декодирования сигнала ключа 44 блока кодирования нижнего уровня 25 по фиг.22, с тем чтобы декодировать кодированные данные сигнала ключа. Результирующие декодированные сигналы ключей посылаются в блок восстановления изображения 73, блок декодирования верхнего уровня 93 и преобразователь разрешающей способности 94.
На фиг. 31 показана структура блока декодирования верхнего уровня 93 по фиг.29. Указанный блок декодирования верхнего уровня 93 по своей конструкции сходен с кодером по фиг.2. Соответственно части или компоненты, соответствующие частям или компонентам, показанным на фиг.2, обозначены теми же самыми цифровыми ссылками.
Как показано на фиг.31, поток бит верхнего уровня от демультиплексора 91 и схемы задержки 92 (фиг.29) посылается через буфер 101 в блок ОКПД 102. Блок ОКПД 102 декодирует с переменной длиной слова полученный поток бит, с тем чтобы выделить коэффициенты квантования, вектор движения, режим предсказания, шаг квантования, кодированные данные сигнала ключа, данные размера FSZ_ E, данные сдвига FPOS_E, коэффициент умножения FR и флаги ref_layer_id, ref_ select_ code, COD и MODB. Коэффициенты квантования и шаг квантования посылаются в деквантователь 103, как на фиг.30; вектор движения и режим предсказания посылаются в компенсатор движения 107; данные размера FSZ_E и данные сдвига FPOS_E посылаются в компенсатор движения 107, блок декодирования сигнала ключа 111 и блок восстановления изображения 73 (фиг.27); флаги COD, MODВ, ref_layer_id и ref_select_code посылаются в компенсатор движения 107; кодированные данные сигнала ключа посылаются в блок декодирования сигнала ключа 111 и коэффициент умножения FR посылается в компенсатор движения 107 и преобразователь разрешающей способности 94 (фиг.29).
Компенсатор движения 107 получает не только вышеуказанные данные, но также и вектор движения, флаг COD, данные размера FSZ_B и данные сдвига FPOS_B нижнего уровня от блока декодирования нижнего уровня 95 (фиг.29). Кадровая память 112 получает увеличенное изображение от преобразователя разрешающей способности 94. Деквантователь 103, блок ОДКП 104, арифметический блок 105, кадровая память 106, компенсатор движения 107 и кадровая память 112 могут выполнять обработку, подобную той, которая выполняется деквантователем 38, блоком ОДКП 39, арифметическим блоком 40, кадровой памятью 41, компенсатором движения 42 и кадровой памятью 52 блока кодирования верхнего уровня 23 (фиг.23), с тем чтобы декодировать ПВО верхнего уровня. Декодированная ПВО нижнего уровня посылается в блок восстановления изображения 73. Блок декодирования сигнала ключа 111 выполняет обработку, подобную той, которая выполняется блоком декодирования сигнала ключа 53 блока кодирования верхнего уровня 23 (фиг.23), с тем чтобы декодировать кодированные данные сигнала ключа. Результирующие сигналы ключей посылаются в блок восстановления изображения 73.
В вышеописанных блоке декодирования верхнего уровня 93 и блоке декодирования нижнего уровня 95 блока декодирования ПВО 72N создаются декодированное изображение, сигнал ключа, данные размера FSZ_E и данные сдвига FPOS_ B, относящиеся к данным верхнего уровня, и декодированное изображение, сигнал ключа, данные размера FSZ_B и данные сдвига FPOS_B, относящиеся к данным нижнего уровня. Блок восстановления изображения 73 может восстанавливать изображение из данных верхнего уровня и/или данных нижнего уровня, как описывается ниже.
В случае использования первой пространственной масштабируемости, показанной на фиг.16А и 16В, то есть, если введенная ПВО в целом представляет собой верхний уровень, а вся ПВО, сжатая или уменьшенная в размерах, представляет собой нижний уровень, то есть, если декодируются как данные нижнего уровня, так и данные верхнего уровня, то блок восстановления изображения 73 выделяет декодированное изображение верхнего уровня (ПВО) с размером, соответствующим данным размера FSZ_ E, на основе только лишь данных верхнего уровня с помощью сигналов ключей, если это необходимо, и располагает выделенное изображение в положении, определяемом данными сдвига FPOS_E. Если появляется ошибка в потоке бит нижнего уровня или декодируются только данные нижнего уровня, поскольку монитор 74 может работать только с изображением с низкой разрешающей способностью, то блок восстановления изображения 73 выделяет декодированное изображение верхнего уровня (ПВО) с размером, соответствующим данным размера FSZ_B, только на основе данных нижнего уровня с помощью сигнала ключа, если это необходимо, и располагает выделенное изображение в положении, определяемом данными сдвига.
В случае использования второй пространственной масштабируемости, показанной на фигурах 17А и 17В, то есть, если верхним уровнем является часть от всей введенной ПВО, а нижним уровнем является вся ПВО, сжатая или уменьшенная в размере, то есть, если декодируются как данные нижнего уровня, так и данные верхнего уровня, то блок восстановления 73 увеличивает декодированное изображение нижнего уровня с размером, соответствующим данным размера FSZ_B, с использованием коэффициента умножения FR, с тем чтобы генерировать соответствующее увеличенное изображение. Блок восстановления изображения 73 умножает данные сдвига FPOS_B на FR и располагает увеличенное изображение в положении, соответствующем результирующему значению. Вдобавок, блок восстановления изображения 73 располагает декодированное изображение верхнего уровня, имеющее размер, соответствующий данным размера FSZ_E, в положении, определяемом данными сдвига FROS_E. В этом случае часть верхнего уровня декодированного изображения отображается с более высоким разрешением, чем другие части.
При размещении декодированного изображения верхнего уровня декодированное изображение синтезируется вместе с увеличенным изображением. Этот синтез может выполняться с использованием сигналов ключей верхнего уровня.
Вышеупомянутые данные и коэффициент умножения FR могут подаваться в блок восстановления изображения 73 из блока декодирования верхнего уровня 93 (блок декодирования ПВО 72N). Используя эти данные, блок восстановления изображения 73 генерирует увеличенное изображение.
Если в случае применения второй пространственной масштабируемости декодируются только данные нижнего уровня, то восстановление изображения может выполняться так же, как и в случае использования вышеописанной пространственной масштабируемости.
Если, в случае применения третьей пространственной масштабируемости (фигуры 18А, 18В, 19А, 19В), то есть, если каждый объект, образующий вводимую ПВО в целом, представляет собой верхний уровень, а весь объект, будучи прореженным, представляет собой нижний уровень, то изображение может быть восстановлено так же, как в случае использования вышеупомянутой второй пространственной масштабируемости.
При использовании данных сдвига FPOS_B и FPOS_E, как описано выше, соответствующие пиксели увеличенного изображения нижнего уровня и изображения верхнего уровня могут быть размещены в абсолютной системе координат в тех же самых положениях. Вдобавок, вышеописанное восстановление изображения приводит к правильному изображению (то есть изображение по существу не имеет отклонения в положении).
Теперь вместе с методом верификации MPEG4VM будет пояснена синтаксическая структура при масштабируемости.
На фиг.32 показана структура потока бит, получаемая при кодировании масштабируемости. В частности, поток бит конструируется посредством категории видеосеанса (ВС) в виде блока, а каждый ВО составляется из одной или более категорий уровня видеообъекта (УВО). Если изображение не расслоено, то УВО может быть единственным, в то время как, если изображение расслоено, то оно составляется из нескольких УВО, количество которых равно количеству уровней.
На фигурах 33 и 34 показана синтаксическая структура соответственно для ВС и ВО. ВО - это поток бит, соответствующий последовательности всего изображения или его части (объект), так что ВС формируется с помощью набора таких последовательностей. Например, ВС может соответствовать программе трансляции.
На фиг.35 показана синтаксическая структура УВО. УВО - это категория для масштабируемости и она может быть идентифицирована некоторым числом, определяемым video_object_layer_id (часть, показанная как A1 на фиг.35). То есть, video_ object_ id для УВО нижнего уровня может быть равна 0, в то время как video_object_layer_id для УВО верхнего уровня может быть равен 1. Количество масштабируемых уровней не ограничивается двумя, а может быть любым произвольным числом, равным или большим 3. Является ли каждый УВО целым изображением или его частью, он может быть выделен или определен с помощью video_object_ layer_ shape, который определяет форму УВО. Этот video_object_layer_shape может быть установлен следующим образом. Если форма УВО прямоугольная, то video_ object_layer_shape может быть равен '00'. Если УВО имеет форму области, выделенной аппаратным ключом (двоичный сигнал со значениями 0 или 1), то video_ object_layer_shape может быть равен '01'. Если УВО имеет форму области, выделенной аппаратным ключом (сигнал, имеющий непрерывное значение от 0 до 1 (серая шкала)), то есть, если УВО может быть синтезирован с использованием программного ключа, то video_ object_layer_shape может быть равен '10'.
Рассмотрим случай, когда video_object_layer_shape равен '00', если УВО имеет форму прямоугольника и положение и размеры УВО в абсолютной системе координат постоянны или не изменяются во времени. В этом случае размеры (поперечная длина и продольная длина) могут быть определены посредством video_object_layer_width и video_object_layer_height (часть, показанная как А7 на фиг. 35). Как video_object_layer_width, так и video_object_layer_height могут представлять собой каждый 10-битовый флаг фиксированной длины, и, если, например, video_object_layer_shape равен '00', то 10-битовые флаги могут передаваться в начале только один раз, поскольку УВО имеет фиксированный размер в абсолютной системе координат (то есть video_object_layer_shape равен '00').
Кроме того, масштабируемость однобитового флага (часть, показанная как A3 на фиг. 35) определяет, какой уровень - нижний или верхний представляет собой УВО. Например, если УВО - это нижний уровень, то масштабируемость флага может быть установлена в 0; в то время как, если УВО - верхний уровень, то масштабируемость флага может быть установлена в 1.
Если УВО использует изображение в другом УВО как эталонное изображение, то УВО, которому принадлежит эталонное изображение, представляется посредством ref_ layer_ id (часть, показанная как А4 на фиг.35), который может быть передан только для верхнего уровня.
На фиг.35 hor_sampling_factor_n и hor_sampling_factor_m, показанные в А5 на фиг. 35, определяют значение, соответствующее горизонтальной длине ПВО в нижнем уровне, и значение, соответствующее горизонтальной длине ПВО в верхнем уровне соответственно. Следовательно, отношение длины горизонтального направления верхнего уровня к длине нижнего уровня (коэффициент умножения разрешающей способности в вертикальном направлении) задается отношением hor_ sampling_factor_n/hor_sampling_factor_m. Вдобавок ver_sampling_factor_n и ver_sampling_factor_m, показанные в А6 на фиг.35, определяют значение, соответствующее вертикальной длине ПВО в нижнем уровне, и значение, соответствующее вертикальной длине ПВО в верхнем уровне, соответственно. Следовательно, отношение длины в вертикальном направлении верхнего уровня к этой длине нижнего уровня (коэффициент умножения разрешающей способности в вертикальном направлении) задается отношением ver_sampling_factor_n/ver_sampling_factor_m.
На фиг. 36 показан пример синтаксической структуры категории плоскости видеообъекта (ПВО). Размер ПВО (поперечная и продольная длина) могут быть представлены VOP_width (ширина ПВО) и VOP_height (высота ПВО), причем каждая имеет фиксированную длину 10 бит, как показано в В1 на фиг.36. Положение в абсолютной системе координат ПВО может быть представлено VOP_horisontal_spatial_mc_ref с фиксированной длиной 10 бит (часть В2, показанная на фиг.36) и VOP_vertical_mc_ref (часть В3, показанная на фиг.36). Вышеуказанные VOP_width и VOP_height представляют соответственно длину в горизонтальном направлении и длину в вертикальном направлении, соответствующие вышеупомянутым данным размера FSZ_B и FSZ_E. C другой стороны, вышеуказанные VOP_horizontal_ spatial_ mc_ref и VOP_vertical_mc_ref соответственно представляют координаты в горизонтальном направлении и вертикальном направлении (координаты х и у), которые соответствуют FPOS_B и FPOS_E.
VOP_ width, VOP_height, VOP_horizontal_spatial_mc_ref и VOP_vertical_mc_ ref могут передаваться только тогда, когда video_object_layer_shape отличается от '00'. Если video_object_layer_shape равен '00', то как размер, так и положение ПВО являются константами, так что нет необходимости передавать VOP_ width, VOP_ height, VOP_horizontal_spatial_mс_ref или VOP_vertical_mc_ ref. На приемной стороне ПВО имеет верхнюю левую вершину, совпадающую с началом координат абсолютной системы координат, в то время как ее размер может быть определен из video_ object_ layer_width и video_object_layer_height, описанными со ссылками на фиг.35.
ref_ select_code, показанный как В4 на фиг.36, представляет изображение, используемое в качестве эталонного изображения, как объяснялось со ссылками на фиг. 26А и 26В. Такой ref_select_code может быть задан в синтаксической структуре ПВО, показанной на фиг.36.
На фиг. 37 показан еще один пример синтаксической структуры категории плоскости видеообъекта (ПВО). В настоящем варианте, подобном варианту по фиг. 36, информация о размере и положении ПВО передается в том случае, если video_ object_ layer_ shape отличен от '00'. Однако, если в данном варианте video_ object_ layer_ shape отличен от '00', то может передаваться 1-битный флаг load_VOP_size (часть, показанная как С1 на фиг.37), который указывает, равен или нет размер передаваемой в настоящее время ПВО размеру ранее передаваемой ПВО. Значение load_VOP_size может быть установлено в 0 или 1, если размер текущей ПВО соответственно равен или не равен размеру предыдущей декодированной ПВО. Если load_VOP_size установлен в 0, то VOP_width или VOP_ height (показанные как С2 на фиг.37) не передаются, в то время как, если load_ VOP_size установлен в 1, то VOP_width или VOP_height передаются. Указанные VOP_ width или VOP_height подобны аналогичным флагам, которые были описаны со ссылками на фиг.36.
На фиг. 36 и 37 разница между поперечной длиной или продольной длиной текущей ПВО и поперечной длиной или продольной длиной непосредственно предшествующей декодированной ПВО (иногда называемая здесь как разница размера) может быть использована соответственно в качестве VOP_width или VOP_ height. В реальных изображениях размер ПВО не может часто изменяться, так что избыточные биты могут быть уменьшены посредством передачи VOP_width и VOP_ height только тогда, когда load_VOP_size равен 1. Если используется разница размера, то объем информации может быть в дальнейшем уменьшен.
Указанная разница размера может быть вычислена и подвергнута кодированию с переменной длиной слова посредством блока КПД 36 на фиг.22 и 23 и затем выведена из него. В данном случае блок ОКПД 102 прибавляет разницу размера к размеру непосредственно предшествующей декодированной ПВО для нахождения или определения размера декодируемой в данный момент ПВО.
Что касается информации о положении ПВО, то разность между значением координат в абсолютной системе координат и значением координат непосредственной предшествующей декодированной ПВО (предыдущей ПВО) (иногда называемой разностью положения) в месте значения координат в абсолютной системе координат передается посредством diff_VOP_horizontal_ref и diff_VOP_vertical_ref (часть, показанная как С3 на фиг.37).
Если координата х или у в абсолютной координатной системе, непосредственно предшествующей декодированной ПВО, представляется
VOP_horizontal_mc_spatial_ref_prev или
VOP_vertical_mc_spatial_ref_prev,
то diff_ VOP-horizontal или diff_ VOP_ vertical_ref может вычисляться блоком КПД 36 (фиг.22 и 23) согласно следующим уравнениям:
diff_VOP_horizontal_ref=VOP_horizontal_mc_spatial_ref-
VOP_horizontal_mc_spatial_ref_prev,
diff_VOP_vertical_ref=VOP_vertical_mc_spatial_ref-
VOP_vertical_mc_spatial_ref_prev
с использованием VOP_ horizontal_ mc_ spatial_ref или VOP_vertical_mc_ spatial_ ref на фиг.36. Кроме того, блок КПД 36 в то же время осуществляет кодирование с переменной длиной слова вычисленных diff_VOP_horizontal_ref и diff_ VOP_ vertical_ ref и их вывод. В частности, блок КПД 36 находит diff_ size_ horizontal или diff_ size_ vertical no C4 на фиг.37 в соответствии с таблицей, показанной на фиг.38 и с учетом связи с diff_VOP_horizontal_ref и diff_ VOP_vertical_ref, и осуществляет кодирование с переменной длиной слова найденных таким образом diff_size_horizontal или diff_size_vertical. Также блок КПД 36 преобразует diff_VOP_horizontal_ref и diff_VOP_vertical_ref в коды с переменной длиной слова с учетом связи с diff_size_horizontal или diff_ size_vertical и в соответствии с таблицей, показанной на фиг.39. diff_ VOP_ horizontal_ ref, diff_VOP_vertical_ref, diff_size_horizontal или diff_ size_ vertical, преобразованные в коды с переменной длиной слова, могут быть мультиплексированы с другими данными для передачи. В этом случае блок ОКПД 102 на фиг. 30 и 31 определяет длину кодов с переменной длиной слова diff_ VOP_ horizontal_ ref или diff_VOP_vertical_ref из diff_size_horizontal или diff_ size_ vertical и выполняет декодирование с переменной длиной слова на основе результатов указанного определения.
Если передается разность положения, то объем информации по сравнению со случаем на фиг.36 может быть уменьшен.
ref_ select_code, показанный на фиг.37 как С5, по существу подобен коду, объясненному со ссылками на фиг.36.
На фиг.40А и 40В показана синтаксическая структура макроблока.
На фиг. 40А показана синтаксическая структура макроблока I- или Р-изображения (VOP). Флаг COD, который располагается вслед за ведущим first_MMR_ code, определяет, есть или нет какие-либо данные вслед за COD. Если коэффициенты ДКП, полученные из макроблока I-изображения или Р-изображения (результат квантования коэффициентов ДКП) все равны нулю и вектор движения равен нулю, то блок КПД 36 блока кодирования нижнего уровня 25 (фиг.22) и блока кодирования верхнего уровня 23 (фиг.23) устанавливает, что макроблок I-изображения или Р-изображения будет пропускаемым макроблоком и устанавливает COD в 1. Следовательно, если COD равно 1, то нет данных, подлежащих передаче, для макроблока, так что данные, следующие за I-флагом, не передаются. С другой стороны, если среди коэффициентов ДКП I- или Р-изображения имеются элементы, отличные от 0, то тогда блок КПД 36 устанавливает флаг COD в 0 и может передавать последующие данные. Кроме того, МСВРС, расположенный вслед за флагом COD, определяет тип макроблока, и последующие данные могут передаваться в соответствии с МСВРС. Кроме того, поскольку I-изображение по существу не становится пропускаемым макроблоком, COD для I-изображения не передается либо обозначается как не подлежащее передаче.
"COD" могут присутствовать только в тех ПВО, для которых VOP_prediction_ type указывает, что это Р-ПВО и соответствующий макроблок не прозрачен. Структура уровней макроблока показана на фиг.40А. "COD" может быть однобитным флагом на уровне макроблока, который, при установке в "0", сигнализирует о том, что макроблок закодирован. При установке в "1" дальнейшая информация для этого макроблока передаваться не может, в этом случае, для Р-ПВО, декодер может обрабатывать макроблок как 'Р (между-)' макроблок с вектором движения для всего макроблока, равным нулю и без данных о коэффициентах. Структура уровней макроблока В-ПВО (VOP_prediction_type='10') показана на фиг.40В. Если COD указывает пропускание (COD= =-'1') для MB в ближайшей ранее декодированной I- или Р-ПВО, то тогда соответствующий последний MB в В-ПВО также пропускается. (Информация в поток бит не включается). В противном случае уровень макроблока будет таким, как показано на фиг.40В. Однако в случае уровня увеличения пространственной масштабируемости (ref_select_ code= = '00'@@ масштабируемость= ='1') независимо от COD для MB в ближайшей последней декодируемой I- или Р-ПВО, уровень макроблока будет таким, как показано на фиг.40В.
На фиг. 40В показана синтаксическая структура макроблока В-изображения (ПВО). Флаг MODB, расположенный вслед за ведущим first_MMR_code, связан с флагом COD на фиг.40А и определяет, располагаются или нет какие-либо данные вслед за MODB (то есть определяет тип макроблока В-изображения).
Флаг "MODB" может присутствовать для каждого кодируемого (непропускаемого) макроблока в В-ПВО. Он может представлять собой кодовое слово переменной длины независимо от того, присутствует ли информация MBTYPE и/или СВРВ. В случае, когда MBTYPE не существует, то в "direct (H.263B)" может быть установлено значение по умолчанию. В случае уровня увеличения пространственной масштабируемости (ref_select_code= ='00'@@ масштабируемость= = '1') значение по умолчанию MBTYPE может быть установлено в "Forward MC" (предсказание исходя из последней декодированной VOP в том же самом эталонном уровне). Кодовые слова для MODB определяются на фиг.41А и 41В.
Блок КПД 36 (фигуры 22 и 23) может кодировать MODB для передачи посредством кодирования с переменной длиной слова, как показано, например, на фиг. 41А и 41В. То есть, в настоящем варианте обеспечиваются два вида кодирования MODB с переменной длиной слова, как показано на фигурах 41А и 41В. (Термин "таблица с переменной длиной слова" используется здесь для обозначения как таблицы для кодирования с переменной длиной слова, так и таблицы для декодирования с переменной длиной слова). Таблица с переменной длиной слова по фиг. 41А (которая иногда называется здесь таблицей MODB A) распределяет три кода с переменной длиной слова для MODB, а таблица с переменной длиной слова по фиг. 41В (которая иногда называется здесь таблицей MODB В) распределяет два кода с переменной длиной слова для MODB. Если при использовании таблицы MODB А макроблок В-изображения может быть декодирован с использованием только данных (таких как коэффициенты квантования или вектор движения) макроблока другого кадра, декодируемого перед декодированием макроблока В-изображения, или макроблок в соответствующем положении непосредственно предшествующего декодируемого I- или Р-изображения (то есть макроблок I- или Р-изображения в том же положении, что и обрабатываемый макроблок) является пропускаемым макроблоком с COD, равным нулю, то блок КПД 36 (фиг.22 и 23) устанавливает макроблок В-изображения в качестве пропускаемого макроблока с VODB, равным нулю. В этом случае данные, следующие за MODB, такие как MBTYPE и СВРВ, могут не передаваться.
Однако, если коэффициенты ДКП (квантованные коэффициенты ДКП) для макроблока имеют все одно и то же значение (такое, как 0), но существует вектор движения для этого блока, то есть вектор движения должен быть передан, то MODB устанавливается в '10' и передается непосредственно следующий MBTYPE. С другой стороны, если по меньшей мере один из коэффициентов ДКП макроблока не равен нулю (то есть, если существует коэффициент ДКП) и существует вектор движения для макроблока, то MODB устанавливается в '11' и передаются непосредственно следующие MBTYPE и СВРВ.
MBTYPE определяет режим предсказания макроблока и данные (флаг), содержащиеся в макроблоке, а СВРВ представляет собой 6-битовый флаг, который определяет блок в макроблоке, где существуют коэффициенты ДКП. В частности, каждый макроблок может включать четыре блока из 88 пикселей для сигналов яркости, блок из 88 пикселей для сигналов цветности Сb и блок из 88 пикселей для сигналов цветности Сr, итого шесть блоков, как показано на фиг.42. Блок ДКП 34 (фигуры 22 и 23) может выполнять ДКП-обработку для каждого блока, а блок КПД 36 (фигуры 22 и 23) может устанавливать 6 бит СВРВ в 0 или 1 в зависимости от того, есть или нет коэффициент ДКП в каждом из шести блоков. То есть, полагаем, что для шести блоков, составляющих макроблок, установлены номера блоков от 1 до 6, как показано на фиг.42. Блок КПД 36 может установить N-й бит СВРВ в 1 или О, если коэффициент ДКП соответственно имеется или нет в блоке под номером N. Здесь предполагается, что LSB (младший значащий бит) и MSB (старший значащий бит) являются соответственно первым и шестым битом. Следовательно, если СВРВ равен 0 ('000000'), это значит, что в макроблоке нет коэффициентов DCT.
С другой стороны, флаг MODB может быть установлен в '0' или '1', если в блоке КПД 36 (фиг.22 и 23) используется соответственно таблица MODB В (фиг. 41В) или таблица MODB А. Следовательно, если используется таблица MODB В, то пропускаемый макроблок может не создаваться.
Затем с помощью блока КПД 36 (фиг.22 и 23) кодируется и передается MBTYPE посредством кодирования с переменной длиной слова. То есть, в данном варианте обеспечиваются два вида кодирования с переменной длиной слова для MBTYPE, как показано на фиг.43А и 43В. Таблица с переменной длиной слова на фиг. 43А (которую иногда здесь называют таблицей MBTYPE А) распределяет четыре кода с переменной длиной слова для MBTYPE, а таблица с переменной длиной слова на фиг.43В (которую здесь иногда называют таблицей MBTYPE В) распределяет три кода с переменной длиной слова для MBTYPE.
Если используется таблица MBTYPE А и если режимом предсказания является режим двунаправленного предиктивного кодирования (интерполяция MC+Q), то блок КПД 36 кодирует с переменной длиной слова MBTYPE в '01'. В таком случае передаются DQUANT, WVDf и MVDb, где DQUANT обозначает шаг квантования, a MVDf и MVDb обозначают соответственно вектор движения, используемый для прямого предсказания, и вектор движения, используемый для обратного предсказания. Как вариант, вместо использования шага квантования самого по себе, в качестве DQUANT может быть использована разность между текущим шагом квантования и предыдущим шагом квантования. Если режимом предсказания является режим обратного предиктивного кодирования (обратный MC+q), то MBTYPE кодируется с переменной длиной слова в '001', и передаются DQUANT и MVDb. Если режимом предсказания является режим прямого предиктивного кодирования (прямой MC+q), то MBTYPE кодируется с переменной длиной слова в '0001', и передаются DQUANT и MVDb. Если режимом предсказания является "непосредственный" режим, предписанный в Н.263 (режим программирования в абсолютных адресах), то MBTYPE устанавливается в '1', и передается MVDb.
В предыдущем случае были раскрыты только три типа режимов взаимосвязанного кодирования (то есть режим прямого предиктивного кодирования, режим обратного предиктивного кодирования и режим двунаправленного предиктивного кодирования). Однако MPEG4 обеспечивает четыре типа, а именно, три вышеуказанных типа и непосредственный режим. Следовательно, обнаружитель вектора движения 32 по фиг.22 и 23 устанавливает один из режимов внутреннего кодирования (то есть режим прямого предиктивного кодирования, режим обратного предиктивного кодирования и режим двунаправленного предиктивного кодирования и непосредственный режим) в качестве режима предсказания, который будет минимизировать ошибку предсказания. Непосредственный режим поясняется ниже.
В блоке КПД 36 (фиг.22 и 23) MBTYPE может иметь значение '1', '01' или '001', если используется таблица MBTYPE В (фиг.43В), и может иметь значение '1', '01', '001' или '0001', если используется таблица MBTYPE А. Следовательно, если используется таблица MBTYPE В, то в качестве режима предсказания не может быть установлен непосредственный режим.
Теперь со ссылками на фиг.44 объясняется непосредственный режим.
Положим, что существуют четыре ПВО (а именно, ПВО 0, ПВО 1, ПВО 2 и ПВО 3), отображаемые в указанном порядке, причем ПВО 0 и ПВО 3 являются Р-изображением (Р-ПВО), а ПВО 1 и ПВО 2 являются В-изображением (В-ПВО). Вдобавок положим, что ПВО 0, ПВО 1, ПВО 2 и ПВО 3 кодируются/декодируются в порядке: ПВО 0, ПВО 3, ПВО 1 и ПВО 2.
При вышеуказанных условиях предиктивное кодирование ПВО 1 в непосредственном режиме происходит следующим образом. Если в Р-изображении, кодируемом (декодируемом) непосредственно перед ПВО 1 (то есть ПВО 3 в варианте по фиг.44), вектором движения макроблока в том же самом положении, что и кодируемый макроблок ПВО 1 (кодируемый макроблок), является MV, то вектор движения MVF для прямого предиктивного кодирования кодируемого макроблока и вектор движения MVB для обратного предиктивного кодирования кодируемого макроблока могут быть вычислены исходя из вектора движения MV и предварительно установленного вектора MVDB в соответствии со следующими уравнениями:
MVF=(TRB•MV)/TRD+MVDB,
MVB=(TRB-TRD)•MV/TRD.
Однако вектор движения MVB может быть вычислен с помощью вышеуказанного уравнения, если вектор MVDB равен 0. Если вектор MVDB не равен 0, то вектор движения MVB вычисляется в соответствии со следующим уравнением:
MVB=MVF-MV.
TRB обозначает расстояние до непосредственно предыдущего отображаемого I- или Р-изображения (ПВО 0 в варианте на фиг.44), а TRD обозначает интервал между I- или Р-изображениями, расположенными непосредственно перед и непосредственно после ПВО 1 в отображаемой последовательности (между ПВО 1 и ПВО 3 в варианте на фиг.44).
Обнаружитель вектора движения 32 на фиг.22 и 23 может в качестве режима предсказания устанавливать непосредственный режим, если при изменении значения вектора MVDB ПВО В-изображения ошибка предсказания, возникающая при предиктивном кодировании, использующем векторы движения MVF и MVB, которые получают в соответствии с вышеуказанными уравнениями, меньше, чем ошибка, получаемая для режима внутреннего кодирования (режима прямого предиктивного кодирования, режима обратного предиктивного кодирования или режима двунаправленного предиктивного кодирования). В вышеуказанном случае вектор MVDB может иметь то же самое направление, что и вектор движения MV.
В варианте по фиг.44 TRB=1 и TRD=3, так что вектор движения MVF представляет собой MV/3+MVDB. С другой стороны, вектор движения MVB представляет собой 2MV/3 и -2MV/3+MVDB, если MVDB соответственно равно 0 и не равно 0.
Если режимом предсказания является непосредственный режим, то вектор движения MV соответствующего микроблока в ближайшем Р-изображении, кодируемом/декодируемом в будущем (ПВО 3 в варианте по фиг.44), может быть использован для кодирования/декодирования макроблока, подлежащего кодированию.
Как было описано ранее, ПВО может изменяться в размере или по положению (если video_ object_ layer_shape равен '10' или '01'). В таком случае соответствующий макроблок может не быть в наличии. Следовательно, если при кодировании/декодировании ПВО, изменяемой в размере или по положению, используется непосредственный режим, то обработка может оказаться невозможной. Таким образом, в настоящем варианте непосредственный режим годится только тогда, когда ПВО, имеющая макроблок, подлежащий кодированию (ПВО В-изображения), имеет тот же размер, что и ПВО ближайшего Р-изображения, декодируемого в будущем. В частности, использование непосредственного режима допускается только тогда, когда размер ПВО, представляемый описанными выше VOP_width и VOP_height, не изменяется.
Следовательно, таблица MBTYPE А (фиг.43А), которая включает в себя код с переменной длиной слова для MBTYPE непосредственного режима, используется, если ПВО В-изображения, имеющего кодируемый макроблок, имеет тот же самый размер, что и ПВО ближайшего Р-изображения, декодируемого в будущем.
Вдобавок в MPEG4 предлагается таблица MODB А (фиг.41А) и предписывается, что если эта таблица MODB А используется, то режим предсказания является непосредственным режимом, если MODB равен '0', a ref_select_code по фиг.26А и 26В не равны '00'. Таким образом, таблица MODB А может быть использована,
если ПВО В-изображения, имеющего кодируемый макроблок, имеет тот же размер, что и ПВО ближайшего Р-изображения, декодируемого в будущем.
Таким образом, если используются таблица MODB А и таблица MBTYPE А и если MODB равно '0' или MBTYPE равен '1', то режимом предсказания является непосредственный режим.
Если video_object_layer_shape равен '00', то ПВО в размере не изменяется, так что в этом случае используются таблица MODB А и таблица MBTYPE А. С другой стороны, если ПВО В-изображения, имеющего кодируемый макроблок, отличается по размеру от ПВО ближайшего Р-изображения, декодируемого в будущем, то непосредственный режим не может быть использован. В этом случае MBTYPE кодируется/декодируется с переменной длиной слова с использованием таблицы MBTYPE В.
Если ПВО В-изображения, имеющего кодируемый макроблок, отличается по размеру от ПВО ближайшего Р-изображения, декодируемого в будущем, то должен быть передан по меньшей мере MPTYPE. Другими словами, в этой ситуации может отсутствовать необходимость передавать и MBTYPE, и СВРВ. Таким образом, MODB может кодироваться/декодироваться с переменной длиной слова с использованием таблицы MODB В (фиг.41В), которая не обеспечивает случай отсутствия передачи и MBTYPE, и СВРВ без использования таблицы MODB А (фиг.41А), которая обеспечивает случай, когда не передается ни MBTYPE, ни СВРВ.
Объем данных, получаемых в результате кодирования, может быть уменьшен путем выбора или изменения таблицы с переменной длиной слова, используемой в соответствии с изменениями в размере ПВО. То есть, если используется только таблица MODB A (фиг.41А), то MODB может кодироваться в 1-битовый код с переменной длиной слова или в два 2-битовых кода с переменной длиной слова. С другой стороны, если используется таблица MODB В (фиг.41В), то MODB кодируется в 1-битовый код с переменной длиной слова или в 2-битовой код с переменной длиной слова. Следовательно, если используются обе таблицы MODB А и В, то частота, с которой MODB кодируется в двух двухбитовых кодах с переменной длиной слова, уменьшается, в результате чего может быть уменьшен объем данных.
Подобным же образом MBTYPE может кодироваться в 4-битовых кодах с переменной длиной слова (или меньше), как показано в таблице MBTYPE А (фиг.43А). Однако, как показано в таблице MBTYPE В (фиг.43В), MBTYPE может кодироваться в 3-битовых кодах с переменной длиной слова (или меньше), так что объем данных может быть уменьшен.
Как описывалось выше, для нижнего уровня или верхнего уровня с ref_select_code, отличным от '00', может быть использовано множество таблиц MODB и таблиц MBTYPE. Однако может возникнуть проблема, связанная с верхним уровнем, имеющим ref_select_code, равный '00'. В частности, если флаг ref_select_ code для макроблока В-изображения, подлежащего обработке, равен '00', то в качестве эталонного изображения, как показано на фигурах 26А и 26В, может быть использовано I- или Р-изображение того же уровня (здесь верхнего уровня) и изображение в другом уровне (здесь нижнем уровне) в тот же момент времени (увеличенное изображение), как показано на фиг.45. С другой стороны, непосредственный режим может предиктивно кодировать В-изображение между двумя I- или Р-изображениями с различными моментами времени, используя вектор движения декодируемого непосредственно перед этим Р-изображения. Таким образом, если ref_select_code равен '00', то непосредственный режим не может быть применен. Если тем не менее используется таблица MBTYPE А, то в качестве режима предсказания может быть установлен непосредственный режим.
В настоящем изобретении, если флаг ref_select_code для макроблока В-изображения, подлежащего обработке в верхнем уровне, равен '00', МBТYРЕ может кодироваться/декодироваться с переменной длиной слова с помощью одного из следующих двух способов.
При первом способе, если флаг ref_select_code для макроблока В-изображения, подлежащего обработке в верхнем уровне, равен '00', то вместо таблицы MBTYPE А используется таблица MBTYPE В. Поскольку в таблице MBTYPE В непосредственный режим не определен, то в случае, показанном на фиг.45, непосредственный режим не может быть установлен в качестве режима предсказания.
При втором способе в качестве режима предсказания может быть использован квазинепосредственный режим. В этом случае, если флаг ref_select_code для макроблока В-изображения, подлежащего обработке в верхнем уровне, равен '00' и используется таблица MBTYPE А, то квазинепосредственный режим (вместо непосредственного режима) имеет код с переменной длиной слова '1' для MBTYPE. В квазинепосредственном режиме в случае по фиг.45 выполняется прямое предсказание с использованием, в качестве опорного изображения (опорного изображения для предсказания), изображения нижнего уровня (другого уровня), увеличенного посредством коэффициента умножения FR, и выполняется обратное предсказание с использованием, в качестве опорного изображения, декодированного изображения, закодированного непосредственно ранее в верхний уровень (тот же уровень).
Если вектором движения для соответствующего макроблока в увеличенном изображении, используемом в качестве опорного изображения для прямого предсказания (макроблока в том же положении, что и кодируемый макроблок), является MV, то для обратного предсказания может быть использован вектор движения MVB, где MVB определяется следующим уравнением:
MVB=MV•FR+MVDB.
То есть, в качестве вектора движения MVB для обратного предсказания может быть использован вектор, получаемый путем умножения вектора движения MV соответствующего макроблока нижнего уровня на FR и суммирования результирующего произведения с вектором MVDB. В этом случае вектор MVDB передаваться не может, поскольку вектор движения MVB может быть получен из вектора движения MV, коэффициента умножения FR и MVDB. Таким образом, если на приемной стороне (декодирующей стороне) флаг ref_select_code для макроблока В-изображения, подлежащего обработке в верхнем уровне, равен '00' и для декодирования с переменной длиной слова используется таблица MBTYPE А, то вектор движения MVB макроблока с MBTYPE, равным '1', находится из вектора движения MV соответствующего макроблока нижнего уровня, коэффициента умножения FR и вектора MVDB.
Следовательно, вектор MVDB, который может рассматриваться как избыточные данные, не передается, что повышает эффективность кодирования.
Теперь со ссылками на блок-схемы на фиг.47 и 48 будет объяснен способ для определения таблицы с переменной длиной слова, используемой в блоке КПД 36 по фиг.22 и 23 и в блоке ОКПД 102 по фиг.30 и 31 (способ для определения того, какая из таблиц MODB А или В и какой MBTYPE А или В используется).
На фиг. 47 показан способ для определения таблицы с переменной длиной слова, используемой для нижнего уровня. На шаге S31 оценивается (путем обращения к video_object_layer_shape, VOP_width или VOP_height, объясненным со ссылками на фиг. 36, или к load_VOP_size, объясненному со ссылками на фиг. 31), изменялся или нет размер ПВО. Если размер ПВО не изменялся, то процесс обработки продолжается на шаге S32, где используются таблица MODB А и таблица MBTYPE А. Затем процесс может быть закончен. В противном случае, если шаг S31 показывает, что размер ПВО изменялся, то процесс продолжается на шаге S33, на котором используются таблицы MODB В и MBTYPE В. Затем процесс может быть прекращен.
На фиг. 48 показан способ для определения таблицы с переменной длиной слова, используемой для верхнего уровня. На шаге S41 определяется, равен или нет ref_select_code '00'. Если ref_select_code равен '00' (то есть, если ПВО в нижнем уровне в тот же момент времени используется в качестве опорного изображения для ПВО верхнего уровня, подлежащего обработке), то процесс переходит к шагу S42, на котором используются MODB А и MBTYPE В. Если используется квазинепосредственный режим, то вместо таблицы MBTYPE В может быть использована таблица MBTYPE А. То есть, на шаге S42 выбирается таблица MBTYPE В или таблица MBTYPE А в зависимости от того, какой из способов применяется: первый или второй соответственно. Затем процесс может быть прекращен. С другой стороны, если на шаге S41 ref_select_code не равен '00', то процесс продолжается на шаге S43. Затем на шагах с S43 по S45 может выполняться обработка, подобная той, которая выполняется на шагах с S31 по S33 на фиг.47, для того чтобы решить, какая из таблиц MODB или MBTYPE должна быть использована.
Теперь со ссылками на фиг. с 49 по 51А, 51В и 51С будет объяснен процесс обработки пропускаемого макроблока в блоке кодирования нижнего уровня 25 по фиг. 22, блоке кодирования верхнего уровня 23 по фиг.23, блоке декодирования нижнего уровня 95 по фиг.30 и блоке декодирования верхнего уровня 93 по фиг. 31.
Полагаем, что макроблок I-изображения по существу не будет пропускаемым макроблоком. На основе такого допущения для Р- и В-изображений применимо следующее описание. Кроме того, если используется таблица MODB В, то, как было описано выше, пропускаемый макроблок не может быть создан. Следовательно, пропускаемый макроблок может быть обработан, только если используется таблица MODB А.
На фиг. 49 показана блок-схема, поясняющая обработку пропускаемого макроблока в блоке кодирования нижнего уровня 25 по фиг.22 и в блоке декодирования нижнего уровня 95 по фиг.30.
На шаге S1 оценивается, является ли макроблок, подлежащий обработке, Р-изображением или В-изображением. Если такой макроблок является Р-изображением, то обработка продолжается на шаге S2, чтобы определить, равен 1 или нет COD для данного макроблока. Если указанный COD равен 1, то обработка продолжается на шаге S3, где определяется, что макроблок является пропускаемым макроблоком, после чего этот макроблок обрабатывается как таковой. То есть, в данном случае полагается, что все коэффициенты квантования (коэффициенты DCT) обрабатываемого макроблока равны нулю, и также полагается, что равен нулю его вектор движения.
С другой стороны, если на шаге S2 обнаруживается, что COD для обрабатываемого макроблока не равен 1, то обработка продолжается на шаге S4, где макроблок обрабатывается обычным образом. То есть, в этом случае макроблок Р-изображения обрабатывается как имеющий коэффициенты ДКП, отличные от 0, или имеющий вектор движения, отличный от 0.
Вернемся к шагу S1: если на нем определяется, что обрабатываемый макроблок является В-изображением, то процесс продолжается на шаге S5, чтобы определить, равен или нет 1 COD макроблока в том же положении (соответствующего макроблока) в I- или Р-изображении, декодируемом непосредственно перед декодированием макроблока В-изображения. (Заметим, что макроблок в том же положении называется соответствующим макроблоком). Если на шаге S5 обнаруживается, что COD соответствующего макроблока для обрабатываемого макроблока равен 1, то процесс продолжается на шаге S6, где решается, что обрабатываемый блок является пропускаемым макроблоком, и вслед за тем этот макроблок обрабатывается как таковой.
То есть, теперь предполагается, что изображения для обработки (ПВО) определяются последовательностью I/P, В, I/P (где I/P обозначает I- или Р-изображение), как показано, например, на фиг.51А, и что эти изображения кодируются/декодируются в последовательности - самое левое I/P, самое правое I/P и второе В с левого конца на фиг.51А. Также полагается, что обрабатывается макроблок второго В-изображения слева. В таком случае самое правое I/P кодируется/декодируется с использованием в качестве опорного изображения самого левого I/Р изображения. Если COD соответствующего макроблока самого правого I/P изображения для обрабатываемого макроблока В-изображения равен 1 (то есть, если соответствующий макроблок является пропускаемым макроблоком), значит нет изменения изображения между самым левым I/P изображением и самым правым I/P изображением. Таким образом, если обрабатываемый макроблок является В-изображением и если COD соответствующего макроблока равен 1, то обрабатываемый макроблок является пропускаемым макроблоком. В этом случае обработка обрабатываемого макроблока В-изображения (предиктивное кодирование/декодирование) выполняется подобно обработке соответствующего макроблока с самого правого I/P изображения, так что его вектор движения и коэффициенты ДКП обрабатываются так, как будто они все равны нулю. Кодирующая сторона передает только MODB, как описано выше, и последующий СВРВ или MBTYPE не передается.
Согласно фиг. 49, если на шаге S5 обнаруживается, что COD соответствующего макроблока не равен 1, то обработка продолжается на шаге S7 для оценки того, равен или нет MODB макроблока обрабатываемого В-изображения 0. Если обнаруживается, что этот MODB равен 0, обработка продолжается на шаге S8, где решается, что обрабатываемый макроблок является пропускаемым макроблоком, и вслед за этим этот макроблок обрабатывается как таковой.
В частности, полагаем, что, как показано на фиг.51В, обрабатываемое изображение (ПВО) отображается и кодируется/декодируется в той же последовательности, что на фиг.51А, и что обрабатывается макроблок второго изображения с левого конца. В этом случае, поскольку COD соответствующего макроблока самого правого I/P изображения для обрабатываемого макроблока В-изображения не равен 1 (то есть соответствующий макроблок не является пропускаемым макроблоком), значит есть изменение изображения, получившееся между самым левым I/P изображением и самым правым I/Р изображением. С другой стороны, поскольку флаг MODB обрабатываемого макроблока В-изображения равен 0, этот макроблок может декодироваться с использованием только данных макроблока других кадров, декодируемых перед декодированием данного макроблока В-изображения, или соответствующий макроблок в декодируемом непосредственно перед этим I- или Р-изображении является пропускаемым макроблоком (то есть COD равно 1). Однако, поскольку COD не равно 1, как описано выше, обрабатываемый макроблок В-изображения может декодироваться с использованием данных макроблока других кадров, декодируемого перед декодированием данного макроблока. Данные макроблока других кадров, декодируемые перед декодированием данного макроблока, называются здесь предварительно декодированными данными.
Теперь рассмотрим ситуацию, при которой изменение изображения было произведено между крайне левым I/P изображением и крайне правым I/P изображением и при которой обрабатываемый макроблок В-изображения может декодироваться с использованием только предварительно декодированных данных. Это соответствует ситуации, при которой, если, как показано на фиг.51В, самое левое I/Р изображение или самое правое I/P изображение подвергаются компенсации движения с использованием вектора движения MV2 или МV3, чтобы получить предсказываемое изображение (фиг.51В), то его часть, показанная на фиг. 51В пунктирной линией, имеет среднее значение, совпадающее с обрабатываемым макроблоком, и ошибка предсказания не возникает. Векторы движения MV2 и МV3 получаются путем умножения вектора движения MV1, например, на 1/2 или 1-1/2. Такой вектор движения MV1 используется при обработке соответствующего макроблока в самом правом I/P изображении (показанном на фиг.51В сплошной линией) с использованием в качестве опорного изображения самого левого I/P изображения. С этой точки зрения обработка обрабатываемого макроблока В-изображения (предиктивное кодирование/декодирование) на шаге S8 по фиг.49 выполняется с использованием векторов движения MV2 (MVF) и МV3 (MVB), которые определяются из вектора движения MV1 соответствующего макроблока в самом правом I/P изображении в качестве векторов движения, и использованием вышеупомянутого среднего значения предсказываемого изображения в качестве значений пикселей (данных пикселей).
В таком случае режимом предсказания для обрабатываемого макроблока может быть вышеупомянутый непосредственный режим. В Н.263 непосредственный режим может быть применен только к Р-, В-изображениям. Таким образом, в настоящем варианте В-изображение может покрывать или включать в себя В-изображение в MPEG1 и MPEG2 и РВ-изображение в Н.263.
С другой стороны, если на шаге S7 обнаруживается, что MODB для обрабатываемого макроблока В-изображения не равен 0, то обработка продолжается на шаге S9, где она происходит обычным образом, как на шаге S4.
На фиг. 50 показана блок-схема, поясняющая процесс обработки пропускаемого макроблока блоком кодирования верхнего уровня 23 по фиг.23 и блоком декодирования верхнего уровня 93 по фиг.31.
На шагах с S11 по S14 обработка подобна обработке на шагах с S1 no S4 на фиг.49. Другими словами, и на верхнем и на нижнем уровнях Р-изображения выполняется одна и та же обработка.
Если на шаге S11 обнаруживается, что обрабатываемый макроблок является В-изображением, то обработка продолжается на шаге S15 для оценки того, равен или нет '00' флаг ref_select_code обрабатываемого макроблока. Если обнаруживается, что этот флаг ref_select_code макроблока не равен '00' (то есть, если макроблок В-изображения не обрабатывается с использованием, в качестве эталонного изображения, изображения в тот же самый момент времени для нижнего уровня), процесс продолжается на шагах с S16 по S20, где может выполняться обработка, подобная той, которая выполняется на шагах с S5 по S9 на фиг. 49.
Если обнаруживается, что на шаге S15 флаг ref_select_code обрабатываемого макроблока В-изображения равен '00' (то есть, если макроблок В-изображения обрабатывается с использованием, в качестве эталонного изображения, изображения нижнего уровня в тот же момент времени), обработка продолжается на шаге S21, чтобы решить, равен или нет 0 MODB для обрабатываемого макроблока В-изображения. Если обнаруживается, что указанный MODB равен 0, то обработка продолжается на шаге S22, где решается, что обрабатываемый макроблок является пропускаемым макроблоком, и он обрабатывается как таковой. В противном случае, если на шаге S21 обнаруживается, что MODB не равен 0, то обработка продолжается на шаге S23, где она происходит обычным образом, как на шаге S3 по фиг.49.
Теперь положим, что изображение (VOP) верхнего уровня, подлежащее обработке, является изображением, представляемым последовательностью I/P, В, В, . .., как показано на фиг.51С, и что изображение нижнего уровня представляется подобной последовательностью. Также положим, что изображения нижнего уровня и верхнего уровня кодируются/декодируются попеременно. Если ref_select_ code В-изображения верхнего уровня равен '00', то вышеуказанная последовательность будет такая же, как последовательность кодирования/декодирования изображений.
В такой ситуации положим, что на шаге S15 значение ref_select_code не оценивается (то есть, что выполняется обработка, подобная той, что раскрыта со ссылками на фиг.49). То есть, несмотря на тот факт, что обрабатываемый макроблок В-изображения верхнего уровня кодируется/декодируется с использованием, в качестве эталонного изображения, изображения нижнего уровня в тот же самый момент времени (увеличенное изображение) или непосредственно предшествующее декодированное изображение верхнего уровня (самое левое I/P изображение) без обращения к кадрам, следующим за В-изображением, значение COD или MODB соответствующего макроблока в таких последующих кадрах указывает, должен или нет обрабатываемый макроблок стать пропускаемым макроблоком. Однако может оказаться нежелательным определять, должен ли стать обрабатываемый макроблок пропускаемым макроблоком на основе кадра, к которому не обращаются при кодировании/декодировании указанного макроблока.
Следовательно, в варианте на фиг.50, если ref_select_code для В-изображения верхнего уровня равен '00' (то есть, если макроблок В-изображения обрабатывается с использованием, в качестве опорного изображения, изображения в тот же самый момент времени для нижнего уровня (увеличенного изображения) или непосредственно предшествующего декодированного изображения в верхнем уровне (самого левого I/P изображения), как показано на фиг.51С), обрабатываемый макроблок может быть определен как пропускаемый макроблок в зависимости от MODB, относящегося к обрабатываемому макроблоку В-изображения, и независимо от COD или MODB для соответствующего макроблока в последующих кадрах.
Если ref_ select_ code равен '00', то обрабатываемый MODB В-изображения обычно равен 0, когда используемое опорное изображение является непосредственно предшествующим декодированным изображением в верхнем уровне (самое левое I/P изображение) и не является изображением нижнего уровня для того же самого момента времени. Следовательно, в этой ситуации обработка такого макроблока (предиктивное кодирование/декодирование) выполняется с использованием в качестве опорного изображения непосредственно предшествующего декодированного изображения с вектором движения, установленным в ноль.
Пропускаемый макроблок может обрабатываться как было описано выше. При такой обработке решение о том, принадлежит ли обрабатываемый макроблок верхнему либо нижнему уровню, может приниматься на основе флага масштабируемости, объясненного со ссылками на фиг.35.
Теперь будут описаны основания, по которым COD нижнего уровня подается в обнаружитель вектора движения 32, блок КПД 36 и компенсатор движения 42 по фиг. 23. То есть, в случае временной масштабируемости, показанной на фиг.25А и 25В, изображение нижнего уровня используется в качестве опорного изображения для предсказания верхнего уровня, как объяснялось ранее. Поскольку ПВО 0 нижнего уровня, ПВО 1 верхнего уровня и ПВО 2 нижнего уровня являются последовательными во времени изображениями, макроблок ПВО 1 верхнего уровня становится пропускаемым макроблоком, если указанные три ПВО (ПВО 1, ПВО 2 и ПВО 3) удовлетворяют условиям, раскрытым со ссылками на фиг.51А. Если макроблок является пропускаемым макроблоком, то этот макроблок нет необходимости специально обрабатывать. С другой стороны, COD ПВО 2 нижнего уровня используется для получения информации для принятия решения о том, удовлетворяются или нет условия, раскрытые со ссылками на фиг.51А. Таким образом, COD нижнего уровня подается в обнаружитель вектора движения 32, блок КПД 36 и компенсатор движения 42, показанные на фиг.23.
MPEG4 обеспечивает (кроме случая, когда режимом предсказания является непосредственный режим), что DQUANT шага квантования будет передаваться даже в случаях, когда в результате квантования все коэффициенты ДКП макроблока имеют предварительно установленное значение, такое как 0 (то есть, если коэффициенты ДКП не существуют). Однако передача DQUANT при отсутствии коэффициентов ДКП макроблока является избыточной. Таким образом, в блоке КПД 36 по фиг.22 и 23 и в блоке ОКПД 102 по фиг.30 и 31, шаг квантования DQUANT может обрабатываться как было описано ниже со ссылками на фиг.52.
На шаге S51 определяется, равен или нет 0 СВРВ. Если обнаруживается, что СВРВ равен 0, то коэффициенты ДКП макроблока не существуют. В этом случае обработка продолжается на шаге S56, где шаг квантования игнорируется и обработка завершается. То есть, кодирующая сторона не передает шаг квантования DQUANT, в то время как декодирующая сторона не выделяет (не может выделить) шаг квантования DQUANT из принимаемого потока бит. Таким образом, обработка завершается.
Имеются случаи, когда не передается СВРВ, как объяснено со ссылками на фиг. 41А и 41В. В таком случае(ях) в процессе обработки может быть пропущен шаг S51 и обработка возобновляется на шаге S52.
Если на шаге S51 обнаруживается, что СВРВ не равен нулю, обработка продолжается на шаге S52, чтобы определить, равен либо нет нулю MODB. Если устанавливается, что указанный MODB равен 0, то СВРВ не передается (как объяснялось со ссылками на фигуры 41А и 41В), так что коэффициенты ДКП макроблока не существуют. В результате обработка продолжается на шаге S56, где шаг квантования игнорируется, и обработка прекращается.
Если на шаге S52 устанавливается, что MODB не равен '00', обработка продолжается на шаге S53 для определения того, какая из таблиц MODB А или В используется для кодирования/декодирования MODB с переменной длиной слова. Если на шаге S53 определяется, что должна использоваться таблица MODB В, то шаг S54 пропускается и обработка продолжается на шаге S55. Если на шаге S53 определяется, что должна использоваться таблица MODB А, то обработка продолжается на шаге S54, где решается, равен или нет MODB значению '10'.
Если на шаге S54 устанавливается, что MODB равен '10' (то есть, если используется таблица MODB А, и MODB равен '10'), то СВРВ не передается, как объяснялось со ссылками на фигуры 41А и 41В. Следовательно, коэффициенты ДКП макроблока не существуют, так что обработка продолжается на шаге S56, где игнорируется шаг квантования, и обработка завершается.
С другой стороны, если на шаге S54 устанавливается, что MODB не равен '10', то обработка продолжается на шаге S55, где кодирующей стороной передается шаг квантования DQUANT, и этот шаг квантования DQUANT выделяется из принимаемого потока бит на декодирующей стороне. После этого обработка завершается.
Как описано выше, если нет коэффициентов DCT макроблока (то есть, если MODB равен '0' или если используется таблица MODB А и MODB равен '0' или '10' и если MODB равно '0' в случае использования MODB В, и если СВРВ равен '000000'), то шаг квантования игнорируется, что уменьшает избыточность данных.
Кроме того, в ситуации, когда передается СВРВ, даже если его значение равно '0', MODB может быть установлен в '11' или в '10' с использованием таблиц MODB А или В. Такая ситуация может не возникнуть, поскольку '10' или '0' могут быть использованы для MODB. Следовательно, хотя в варианте по фиг. 52 значение СВРВ оценивается на начальном шаге S51, с точки зрения эффективности обработки операцию по принятию этого решения предпочтительно выполнять непосредственно перед шагом S55.
Процесс обработки по фиг.52 может быть использован независимо от того, какой из двух вышеупомянутых способов - первый или второй используется.
Поскольку ВО с измененным положением или размером размещается для обработки в абсолютной системе координат, то становится возможным предиктивное кодирование/декодирование на основе ВО, пока существует возможность масштабируемости, задаваемой для ВО.
Кроме того, поскольку обработка пропускаемого макроблока определяется при рассмотрении флага ref_select_code, который определяет опорное изображение, используемое для пропускаемого макроблока, то становится возможной обработка с высокой эффективностью.
Если изображение верхнего уровня таково же, как изображение нижнего уровня, и в качестве опорного изображения для предиктивного кодирования верхнего уровня используется декодируемое изображение нижнего уровня в тот же самый момент времени, то передается только вектор движения для нижнего уровня, а вектор движения верхнего уровня не передается, что уменьшает объем данных.
Хотя в вышеприведенном описании был описан процесс обработки, выполняемый на базе макроблоков, подобный процесс обработки может выполняться также на основе других блоков, отличных от макроблока.
Хотя в вышеприведенном описании были предложены два типа таблиц MODB и на выбор использовалась одна из них, можно использовать три или более таблиц MODB. Подобным же образом, в дополнение к здесь описанным, может быть использовано другое количество таблиц MBTYPE.
Промышленная применимость
Согласно настоящему устройству (или способу) кодирования изображений второе изображение может быть увеличено или сжато на основе различия в разрешающей способности первого и второго изображений и первое изображение подвергается предиктивному кодированию с использованием в качестве опорного изображения увеличенного или сжатого изображения. С другой стороны, устанавливаются положения первого изображения и второго изображения в предварительно установленной абсолютной системе координат, с тем чтобы вывести первую информацию положения или вторую информацию положения о положении соответственно первого или второго изображения. В этом случае положение первого изображения определяется на основе первой информации положения, в то время как вторая информация положения преобразуется в соответствии со степенью увеличения или степенью сжатия, с использованием которой было увеличено или сжато второе изображение, а положение, соответствующее результатам преобразования, определяется как положение опорного изображения для выполнения предиктивного кодирования. Раз так, то может быть достигнута масштабируемость для изображения, положение которого изменяется во времени.
В настоящем устройстве (или способе) декодирования изображений декодируемое второе изображение увеличивается или сжимается на основе различия в разрешающей способности первого и второго изображений, а первое изображение декодируется с использованием, в качестве опорного изображения, увеличенного или сжатого второго изображения. Если кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении соответственно первого изображения и о положении второго изображения в предварительно установленной абсолютной системе координат, положение первого изображения может быть установлено на основе первой информации положения, в то время как вторая информация положения преобразуется в соответствии со степенью увеличения или степенью сжатия, с использованием которой было увеличено или сжато второе изображение. Положение, соответствующее результатам преобразования, определяется как положение опорного изображения для декодирования первого изображения. В результате может быть достигнута масштабируемость для изображения, положение которого изменяется во времени.
В настоящем носителе записи и способе записи кодированные данные, по меньшей мере, включают в себя первые данные, получаемые при предиктивном кодировании первого изображения, использующем в качестве опорного изображения увеличенные или сжатые результирующие данные, полученные при увеличении или сжатии второго изображения на основе различия разрешающей способности первого и второго изображений, и вторые данные, получаемые при кодировании второго изображения, и первую информацию положения или вторую информацию положения, получаемые при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первые данные определяют положение первого изображения на основе первой информации положения и преобразуют вторую информацию положения в соответствии со степенью увеличения или степенью сжатия, с использованием которой было увеличено или сжато второе изображение, определяя положение, соответствующее результатам преобразования, как положение опорного изображения для выполнения предиктивного кодирования.
В настоящем устройстве кодирования изображений и способе кодирования изображений второе изображение увеличивается или сжимается на основе различия в разрешающей способности первого и второго изображений, и первое изображение декодируется с использованием в качестве опорного изображения увеличенного или сжатого второго изображения. С другой стороны, устанавливаются положения первого изображения и второго изображения в предварительно установленной абсолютной системе координат и выводится соответственно первая информация положения или вторая информация положения о положении соответственно первого или второго изображения. В этом случае положения первого и второго изображений устанавливаются так, что положение опорного изображения в предварительно установленной абсолютной системе координат будет совпадать с предварительно установленным положением. Положение первого изображения устанавливается на основе первой информации положения, а предварительно установленное положение определяется как положение опорного изображения для выполнения предиктивного кодирования. В результате может быть достигнута масштабируемость для изображения, положение которого изменяется во времени.
В настоящем устройстве декодирования изображений и способе декодирования изображений декодируемое второе изображение увеличивается или сжимается на основе разности в разрешающей способности первого и второго изображений, и первое изображение декодируется с использованием, в качестве опорного, изображения увеличенного или сжатого второго изображения. Если кодированные данные включают в себя первую информацию положения или вторую информацию положения о положении соответственно первого изображения или о положении второго изображения в предварительно установленной абсолютной системе координат, в которой положение опорного изображения в предварительно установленной абсолютной системе координат было установлено так, чтобы оно совпадало с предварительно установленным положением, то положение первого изображения определяется на основе первой информации положения, а предварительное положение определяется как положение опорного изображения для декодирования первого изображения. В результате может быть получена масштабируемость для изображения, положение которого изменяется во времени.
В настоящем носителе записи и способе записи кодируемые данные включают в себя, по меньшей мере, первые данные, получаемые при предиктивном кодировании первого изображения с использованием в качестве опорного изображения увеличенных или сжатых результатов, получаемых при увеличении или сжатии второго изображения на основе разности в разрешающей способности первого и второго изображений, вторые данные, получаемые при кодировании второго изображения, и первую информацию положения или вторую информацию положения, получаемую при установке положений первого и второго изображений в предварительно установленной абсолютной системе координат. Первая информация положения и вторая информация установлены так, что положение опорного изображения в предварительно установленной системе координат будет совпадать с предварительно установленным положением.
В результате может быть получена масштабируемость для изображения, положение которого изменяется во времени.
В настоящем устройстве кодирования изображений и способе кодирования изображений изображение подвергается предиктивному кодированию, и первые кодированные данные выводятся для локального декодирования. Изображение подвергается предиктивному кодированию с использованием, в качестве опорного изображения, локально декодированного изображения для вывода вторых кодированных данных, которые мультиплексируются только с вектором движения, используемым для создания первых кодированных данных. В результате эффективность декодирования может быть повышена или, другими словами, может быть уменьшен объем данных.
В устройстве декодирования изображений и способе декодирования изображений декодируются первые данные, а вторые данные декодируются с использованием, в качестве опорного изображения, декодированных первых данных. Если кодированные данные включают в себя только вектор движения, используемый при предиктивном кодировании первых данных, вторые данные декодируются в соответствии с вектором движения, используемом при предиктивном кодировании первых данных. Это позволяет декодировать изображение из данных с небольшим объемом.
В настоящем носителе записи и способе записи кодированные данные получаются при предиктивном кодировании изображения для вывода первых кодированных данных, локальном декодировании первых кодированных данных, предиктивном кодировании изображения с использованием локально декодированного изображения, получаемого как результат локального декодирования, для вывода вторых кодированных данных и мультиплексирования первых кодированных данных и вторых кодированных данных только с вектором движения, используемым для получения первых кодированных данных. Это облегчает запись многочисленных элементов данных.
В настоящем устройстве кодирования изображений, способе кодирования изображений, устройстве декодирования изображений и способе декодирования изображений определяется, является или нет макроблок пропускаемым макроблоком, на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования. Это предотвращает выполнение обработки пропускаемого макроблока на основе изображения, не используемого в качестве опорного изображения.
В настоящем носителе записи и способе записи макроблок устанавливается как пропускаемый макроблок на основе информации опорного изображения, определяющей опорное изображение, используемое при кодировании макроблока В-изображения посредством одного из видов кодирования: прямого предиктивного кодирования, обратного предиктивного кодирования или двунаправленного предиктивного кодирования. Это предотвращает выполнение обработки пропускаемого макроблока на основе изображения, не используемого в качестве опорного изображения.
В настоящем устройстве обработки изображений и способе обработки изображений предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется, поддерживая изменения в размере изображения. Это уменьшает объем данных, получаемых при кодировании с переменной длиной слова, при разрешении декодирования с переменной длиной слова таких данных.
В настоящем устройстве обработки изображений и способе обработки изображений предварительно установленная таблица, используемая для кодирования с переменной длиной слова или декодирования с переменной длиной слова, модифицируется в соответствии с тем, использовалось или нет, в качестве опорного изображения, изображение другого уровня, но с той же привязкой по времени, что и у кодируемого уровня изображения. Это уменьшает объем данных, получаемый посредством кодирования с переменной длиной слова, при разрешении декодирования с переменной длиной слова таких данных.
В настоящем устройстве кодирования изображений и способе кодирования изображений предварительно установленный шаг квантования квантуется, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одинаковое значение. Это уменьшает объем данных.
В настоящем устройстве декодирования изображений, способе декодирования изображений, носителе записи изображений и способе записи изображений кодируемые данные содержат предварительно установленный шаг квантования, только если не все результаты квантования значений пикселей в предварительно установленном блоке изображения имеют одно и то же значение. Это уменьшает объем данных.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ | 2013 |
|
RU2653315C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ | 2013 |
|
RU2720605C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2658793C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2581014C1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2706237C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2011 |
|
RU2616155C1 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2014 |
|
RU2665885C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2012 |
|
RU2620719C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2011 |
|
RU2619720C1 |
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2621621C2 |
Изобретение относится к средствам кодирования и декодирования изображений. Техническим результатом является сокращение объема данных при передаче изображений по каналам связи. Способ и устройство получения масштабируемости видеообъекта, чье положение и/или размер изменяются во времени, преобразуются путем их соответствующего кодирования. Положение изображения верхнего уровня и положение изображения нижнего уровня в абсолютной системе координат определяются таким образом, чтобы соответствующие пиксели в увеличенном изображении и в изображении верхнего уровня могли быть размещены в те же самые положения в абсолютной системе координат. 4 с.п.ф-лы, 52 ил.
Универсальный шарнир | 1976 |
|
SU588411A2 |
RU 94034781 А1, 20.07.1996 | |||
Устройство опрокидывания чаши шлаковоза | 1977 |
|
SU643535A1 |
ЕР 0650298 А, 26.04.1995 | |||
ЕР 0719049 А, 26.06.1996 | |||
Способ получения сажи | 1976 |
|
SU711078A1 |
DE 4138517 А, 27.05.1993 | |||
US 5384849 А, 24.06.1995 | |||
US 5392036 А, 21.02.1995. |
Авторы
Даты
2002-09-10—Публикация
1997-09-09—Подача