Способ управления кодированием видео, устройство кодирования видео и программа кодирования видео
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в пресечении опустошения гипотетического буфера. Способ управления кодированием видео, в котором генерируемой битовой скоростью управляют так, что гипотетический буфер в декодере не испытывает падение и входной видеосигнал кодируется, а также последовательно кодируют каждое изображение в группе изображений, следующих в порядке кодирования, в соответствии с предварительно определенным параметром кодирования; проверяют, произошло ли опустошение в гипотетическом буфере, основываясь на информации о битовой скорости, генерируемой при кодировании каждого изображения; и когда опустошение в гипотетическом буфере произошло, изменяют параметр кодирования таким образом, что битовая скорость, генерируемая в результате кодирования, уменьшается, и повторно кодируют группу изображений, следующих в порядке кодирования, которая является кодируемой, начиная с ее первого изображения, используя измененный параметр кодирования, причем при повторном кодировании приращают количества повторений, когда в гипотетическом буфере произошло опустошение, и изменяют параметр кодирования на параметр кодирования, при котором битовая скорость, генерируемая в результате кодирования, уменьшается по мере увеличения значения количества повторений. 7 н. и 12 з.п. ф-лы, 24 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологии кодирования видео для кодирования видеосигнала, так чтобы гипотетический буфер, такой как буфер кодированного изображения (CPB) в гипотетическом декодере, не испытывал падение и ухудшение качества изображения не увеличивалось.
Приоритет испрашивается по японским патентным заявкам № 2010-106851, 2010-106852, 2010-106853, 2010-106854 и 2010-106855, поданным 7 мая 2010 г., все содержание которых включено в настоящий документ посредством ссылок.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
При кодировании видеосигнала необходимо выполнять кодирование таким образом, чтобы декодер не испытывал падение. В схеме кодирования H.264 задается гипотетический декодер HRD (гипотетический эталонный декодер), полученный моделированием декодера. Кодер H.264 должен выполнять кодирование таким образом, чтобы гипотетический декодер не испытывал падение. Настоящее изобретение является технологией пресечения падения CPB гипотетического декодера, в частности, из-за опустошения CPB.
На фиг. 1 представлена концептуальная схема опустошения CPB. В случае постоянной битовой скорости кодированный поток вводится в CPB на битовой скорости, как указано стрелкой A1. Объем данных кодированного потока при каждом вводе в CPB упоминается как "остаточная битовая скорость". Гипотетический декодер извлекает из CPB кодированный поток, соответствующий каждому изображению. В этом случае остаточная битовая скорость CPB мгновенно снижается на битовую скорость, соответствующую изображению. Проиллюстрирован иллюстративный пример постоянной битовой скорости, но то же самое относится к случаю переменной битовой скорости.
Опустошение CPB относится к ситуации, в которой кодированные потоки изображений недостаточны в CPB, когда гипотетический декодер пытается извлечь кодированные потоки изображений в каждый момент времени, указанный стрелкой A2, как показано на фиг. 1. При кодировании на основе H.264 состояние CPB должно проверяться в то время, когда выполняется кодирование, чтобы создать поток, не вызывающий опустошения CPB. Как описано выше, CPB гипотетического декодера стандартизируется в H.264, и дополнительные подробности описываются, например, в указанном далее непатентном документе 1.
Дополнительно, та же самая концепция, что и CPB, задается также в других стандартах кодирования. Например, в MPEG 2 существует VBV (буферный видеоконтрольник), и буферная модель такого декодера в настоящем документе упоминается как "гипотетический буфер." В последующем описании "CPB" может заменяться термином "гипотетический буфер" для интерпретации в более широком смысле.
Способы кодирования видеосигнала включают в себя технологию однопроходного кодирования и технологию многопроходного кодирования. При однопроходном кодировании обычно кодируются изображения входного видео. С другой стороны, при многопроходном кодировании входное видео кодируется многократно. При двухпроходном кодировании второе кодирование выполняется, используя результат первого кодирования. Далее в настоящем документе уровень техники с однопроходным кодированием упоминается как "предшествующий уровень техники (а)", а предшествующий уровень техники с двухпроходным кодированием упоминается как "предшествующий уровень техники (b)".
Предшествующий уровень техники (a)
При однопроходном кодировании, поскольку входные изображения кодируются последовательно, характер будущего изображения после кодирования целевого изображения неизвестен. Соответственно, несмотря на то, что существует попытка пресечь опустошение CPB, используя однопроходное кодирование, генерированная битовая скорость подавляется больше, чем необходимо, и качество видео ухудшается значительно больше, чем можно было бы. Например, в технологии, соответствующей патентному документу 1, степень сложности видео, полученного из результата кодирования в прошлом, используется в качестве оценки степени сложности других видео GOP перед кодированием каждого изображения. В качестве предпосылки оценки степени сложности параметр квантования, вызывающий максимальную битовую скорость, которая может использоваться для кодирования других видео GOP, оценивается и используется в качестве нижнего предельного значения параметра квантования во время кодирования целевого изображения кодирования. Существующая проблема состоит в том, что битовая скорость подавляется больше, чем необходимо, вызывая ухудшение качества видео, когда другие видео из GOP не являются сложными по сравнению с оцененной степенью сложности.
Предшествующий уровень техники (b)
При двухпроходном кодировании кодируются все изображения входного видео, и битовая скорость каждого изображения, генерируемая в это время, используется для второго кодирования. При этом способе степень сложности каждого участка видео может распознаваться во время второго кодирования, в отличие от случая однопроходного кодирования. Соответственно, опустошение CPB, как можно ожидать, должно пресекаться с ухудшением качества подавляемого видео. Например, в технологии, соответствующей патентному документу 2, при первом кодировании получают степень сложности каждого кадра и получают назначенную битовую скорость каждого кадра. Кроме того, производится проверка, происходит ли опустошение CPB при назначенной битовой скорости. Когда опустошение CPB происходит, назначенная битовая скорость изменяется. Другими словами, так как степень сложности каждого кадра распознается, назначенная битовая скорость может изменяться, только когда происходит опустошение CPB. В результате опустошение CPB может быть пресечено при сохранении меньшего ухудшения качества видео по сравнению с предшествующим уровнем техники (a). Однако при этом способе существует проблема, состоящая в увеличении объема вычислений, так как все кадры входного видео должны кодироваться дважды.
Документы предшествующего уровня техники
Патентные документы
Патентный документ 1: японская нерассмотренная патентная заявка, первая заявка № 2006-295535.
Патентный документ 2: японская нерассмотренная патентная заявка, первая заявка № 2003-018603
Непатентный документ
Непатентный документ 1: Kadono, Kikuchi и Suzuki, "H.264/AVC Textbook, Third revised Version", опубликовано Impress R & D, 2009, стр. 189-191.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задача, решаемая изобретением
В предшествующем уровне техники, описанном выше, поскольку управление кодированием выполняется только с использованием ранее кодированной информации, происходит большое ухудшение качества видео за счет чрезмерного подавления генерированной битовой скорости. С другой стороны, в соответствии с предшествующим уровнем техники (b) опустошение CPB может быть пресечено с пресечением ухудшения качества подавляемого видео. Однако при этом способе существует проблема, состоящая в том, что объем вычислений является большим, поскольку все кадры входного видео входа должны кодироваться дважды.
Задача настоящего изобретения состоит в том, чтобы реализовать стабильное качество видео, в то же время пресекая опустошение CPB при меньшем объеме вычислений, чем при традиционном двухпроходном кодировании (предшествующий уровень техники (b)), чтобы решить описанную выше задачу.
Средство решения проблемы
В описании настоящего изобретения задается термин "группа изображений, следующих в порядке кодирования". Группа изображений, следующих в порядке кодирования, включает в себя предварительно определенное количество изображений, причем первое изображение является изображением, кодированным с внутренним предсказанием (изображение I), и является собранием изображений, следующих в порядке кодирования. Типичным примером группы изображений, следующих в порядке кодирования, является GOP (группа изображений).
Концептуальные схемы группы изображений, следующих в порядке кодирования, показаны на фиг. 2A-2D. На фиг. 2A-2D I указывает изображение, которое является целью кодирования при внутреннем предсказании (изображение I), P указывает изображение, являющееся целью кодирования с прямым предсказанием (изображение P), и B указывает изображение, являющееся целью кодирования с двунаправленным предсказанием (изображение B).
Порядок отображения изображений предполагается, например, следующим: I→B→P→B→P→B..., как показано на фиг. 2A. Если группа изображений, следующих в порядке кодирования, приведенная в настоящем изобретении, предполагается являющейся GOP, группа изображений, следующих в порядке кодирования, становится группой изображений I→P→B→P→...→B→P (непосредственно перед I), как показано на фиг. 2B.
Например, когда группа изображений, следующих в порядке кодирования, включает в себя 13 изображений, эти 13 изображений, следующих друг за другом в порядке кодирования, как показано на фиг. 2C, формируют группу изображений, следующих в порядке кодирования, упомянутую в настоящем изобретении. Дополнительно, на фиг. 2D показан пример, в котором группа изображений, следующих в порядке кодирования, включает в себя 20 изображений, соответствующих двум GOP.
Как описано выше, собрание изображений, в котором последовательность изображений входного видео делится на группы с предварительно определенным количеством изображений, следующих друг за другом в порядке кодирования, упоминается как группа изображений, следующих в порядке кодирования. Дополнительно, в настоящем документе термин "изображение" относится к кадру, когда видео имеет прогрессивный формат, или относится к кадру одного поля, или относится к кадру верхнего поля и нижнего поля, когда видео имеет чередующийся формат.
В первом варианте осуществления настоящего изобретения кодирование входного видео выполняется в блоках групп изображений, следующих в порядке кодирования. Однако с использованием предварительно определенного алгоритма проверки буфера, проверяется, не испытывает ли падение CPB, каждый раз, когда кодируется входное изображение. Параметр кодирования изменяется таким образом, что генерированная битовая скорость становится малой, только когда происходит опустошение CPB, и затем группа изображений, следующих в порядке кодирования, которая является кодируемой, кодируется повторно. Когда кодирование группы изображений, следующих в порядке кодирования, завершено, результат кодирования выводится из выходного буфера.
Примеры параметров кодирования, которые должны изменяться, содержат параметр квантования и степень предварительной фильтрации, и один или оба параметра могут изменяться. Например, когда параметр кодирования является параметром квантования, размер шага квантования увеличивается, так что параметр кодирования предписывает, чтобы генерированная битовая скорость была малой. Дополнительно, когда степень фильтрации предварительного фильтра для входного видео изменяется, степень размывания изменяется, становясь больше, так чтобы генерированная битовая скорость могла быть малой.
Когда повторное кодирование группы изображений, следующих в порядке кодирования, завершено, параметр кодирования восстанавливается до значения параметра кодирования во время обычного кодирования. Соответственно, ухудшение качества видео пресекается или снижается относительно распространения его на следующую группу изображений, следующих в порядке кодирования. Здесь, параметр кодирования во время обычного кодирования относится к параметру кодирования, определенному в состоянии, в котором кодирование не повторяется.
Дополнительно, когда повторное кодирование группы изображений, следующих в порядке кодирования, завершено, нет необходимости восстанавливать параметр кодирования до значения параметра кодирования во время обычного кодирования. Остаточная битовая скорость CPB проверяется и параметр кодирования восстанавливается до значения во время обычного кодирования, только когда остаточная битовая скорость равна или больше предварительно определенного порогового значения. Когда остаточная битовая скорость меньше, параметр кодирования может не восстанавливаться до значения во время обычного кодирования. Это дает возможность снизить вероятность непрерывного возникновения повторного кодирования.
Дополнительно, во втором варианте осуществления настоящего изобретения, даже когда группа изображений, следующих в порядке кодирования, повторно кодируется, каждый раз, когда кодируется каждое изображение, проверяется, произошло ли опустошение CPB. Если опустошение CPB произошло, параметр кодирования изменяется и группа изображений, следующих в порядке кодирования, которая является кодируемой в настоящий момент, кодируется повторно, начиная с ее первого изображения. Другими словами, одна и та же группа изображений, следующих в порядке кодирования, многократно кодируется только тогда, когда произошло опустошение CPB.
В этом случае количество повторых кодирований одной группы изображений, следующих в порядке кодирования, управляется с использованием параметра, называемого "количество повторений". Когда происходит повторное кодирование, значение количества повторений получает приращение, а когда кодирование группы изображений, следующих в порядке кодирования, завершается, значение количества повторений уменьшается. Значение параметра кодирования, описанного выше, устанавливается в соответствии с размером количества повторений, и используется значение, при котором генерированная битовая скорость становится малой, поскольку количество повторений увеличивается. Когда параметр кодирования является параметром квантования, размер шага увеличивается по мере увеличения количества повторений. Когда параметр кодирования является степенью фильтрации предварительного фильтра, степень размывания увеличивается по мере увеличения количества повторений.
Обычно видео, служащее целью кодирования, включает в себя сложный участок и простой участок. Если выполняется только одно повторное кодирование, независимо от того, является ли сложной или простой группа изображений, следующих в порядке кодирования, которая становится целью повторного кодирования из-за опустошения CPB, опустошение CPB должно пресекаться таким одним повторным кодированием. Соответственно, необходимо установить параметр кодирования для повторного кодирования, увеличивая значение изменения параметра кодирования. Это может вызвать чрезмерно большое ухудшение качества видео, когда повторное кодирование происходит на сложном участке видео, так что опустошения CPB можно было бы избежать, даже когда значение изменения параметра кодирования является малым. То есть, так как сложный участок видео (в котором содержатся многочисленные высокочастотные составляющие и корреляция в направлении времени мала) имеет большой абсолютный объем информации, битовая скорость значительно снижается только при малом изменении параметра кодирования. Другими словами, величина изменения параметра кодирования, которая слишком велика, излишне необязательно ухудшает качество видео.
Как описано выше, группа изображений, следующих в порядке кодирования, кодируется повторно, осуществляется управление количеством повторений и параметры кодирования устанавливаются в соответствии с размером количества повторений, только когда происходит опустошение CPB. Соответственно, величина изменения параметра кодирования подавляется, чтобы быть малой, и кодирование выполняется с соответствующим параметром кодирования, тем самым дополнительно уменьшая ухудшение качества видео.
В третьем варианте осуществления настоящего изобретения, когда кодирование группы изображений, следующих в порядке кодирования, завершается, значение количества повторений не уменьшается безусловно, но количество повторений снижается только тогда, когда остаточная битовая скорость CPB равна или больше предварительно определенного порогового значения в то время, когда завершается кодирование группы изображений, следующих в порядке кодирования.
Значение параметра кодирования, описанного выше, устанавливается в соответствии с размером количества повторений, и используется значение, при котором генерированная битовая скорость становится малой по мере того, как количество повторений увеличивается. Когда параметр кодирования является параметром квантования, размер шага увеличивается по мере увеличения количества повторений. Когда параметр кодирования является степенью фильтрации предварительного фильтра, степень размывания увеличивается по мере увеличения количества повторений.
Обычно видео, служащее целью кодирования, включает в себя сложный участок и простой участок. Если выполняется только одно повторное кодирование, независимо от того, является ли сложной или простой группа изображений, следующих в порядке кодирования, которая становится целью повторного кодирования из-за опустошения CPB, опустошение CPB должно пресекаться таким одним повторным кодированием. Соответственно, необходимо установить параметр кодирования для повторного кодирования, увеличивая значение изменения параметра кодирования. Это может вызвать чрезмерно большое ухудшение качества видео, когда повторное кодирование происходит на сложном участке видео, так что опустошения CPB можно было бы избежать, даже когда значение изменения параметра кодирования является малым. То есть, так как сложный участок видео (в котором содержатся многочисленные высокочастотные составляющие и корреляция в направлении времени мала) имеет большой абсолютный объем информации, битовая скорость значительно снижается только при малом изменении параметра кодирования. Другими словами, величина изменения параметра кодирования, которая слишком велика, излишне необязательно ухудшает качество видео.
Как описано выше, группа изображений, следующих в порядке кодирования, кодируется повторно, осуществляется управление количеством повторений, и параметр кодирования устанавливается в соответствии с размером количества повторений, только когда происходит опустошение CPB. Соответственно, величина изменения параметра кодирования подавляется, чтобы быть малой, и кодирование выполняется с соответствующим параметром кодирования, дополнительно уменьшая тем самым ухудшение качества видео.
Дополнительно, влияние ухудшения качества видео на следующую группу изображений, следующих в порядке кодирования, снижается, главным образом, за счет уменьшения количества повторений в то время, когда завершается кодирование группы изображений, следующих в порядке кодирования, после того, как во время повторного кодирования увеличивается количество повторений и выполняется кодирование. Однако, когда остаточная битовая скорость CPB меньше предварительно определенной величины, количество повторений не уменьшается. Соответственно, повторное кодирование произойдет менее вероятно даже при кодировании следующей группы изображений, следующих в порядке кодирования.
Дополнительно, в четвертом варианте осуществления настоящего изобретения группа изображений, следующих в порядке кодирования, не обязательно может быть GOP, а первое изображение в группе изображений, следующих в порядке кодирования, является изображением, кодированным посредством внутреннего предсказания (изображение I). В этом варианте осуществления кодирование входного видео выполняется в блоках групп изображений, следующих в порядке кодирования. Однако каждый раз, когда кодируется входное изображение, с использованием предварительно определенного алгоритма проверки буфера, проверяется, испытывает ли падение CPB. Если произошло опустошение CPB, параметр кодирования изменяется таким образом, что генерированная битовая скорость становится малой, и производится повторное кодирование, начиная с положения группы изображений, следующих в порядке кодирования, установленного в качестве точки повторения (которая будет описана ниже). Результат кодирования выводится из выходного буфера, кодирование группы изображений, следующих в порядке кодирования, завершается, и определяется, что повторное кодирование выполнять не требуется.
Примеры параметров кодирования, которые должны изменяться, содержат параметр квантования и степень предварительной фильтрации, и один или оба эти параметра могут изменяться. Например, когда параметр кодирования является параметром квантования, размер шага квантования увеличивается, так что параметр кодирования предписывает, чтобы генерированная битовая скорость снижалась. Дополнительно, когда степень фильтрации предварительного фильтра для входного видео изменяется, изменяется степень размывания, становясь большей, так чтобы генерированная битовая скорость могла стать меньше.
Когда повторное кодирование группы изображений, следующих в порядке кодирования, завершено, параметр кодирования восстанавливается до значения параметра кодирования во время обычного кодирования. Соответственно, пресекается распространение ухудшения качества видео на следующую группу изображений, следующих в порядке кодирования. Здесь параметр кодирования во время обычного кодирования относится к параметру кодирования, определенному в состоянии, в котором кодирование не повторяется снова.
Дополнительно, когда повторное кодирование группы изображений, следующих в порядке кодирования, завершено, нет необходимости восстанавливать параметр кодирования до значения параметра кодирования во время обычного кодирования. Проверяется остаточная битовая скорость CPB. Параметр кодирования восстанавливается до значения на момент обычного кодирования, только когда остаточная битовая скорость равна или больше предварительно определенного порогового значения, а когда остаточная битовая скорость меньше предварительно определенного порогового значения, параметр кодирования может не восстанавливаться до значения во время обычного кодирования. Это дает возможность снизить вероятность непрерывного возникновения повторного кодирования.
Точка повторения, описанная ниже, относится к информации о положении, указывающей изображение, с которого начинается повторное кодирование, когда повторное кодирование необходимо из-за появления опустошения CPB в определенном изображении.
Точка повторения является, как правило, первым изображением в текущей кодируемой группе изображений, следующих в порядке кодирования, но может быть первым изображением в находящейся в непосредственной близости ранее кодированной группе изображений, следующих в порядке кодирования. Точка повторения обновляется в следующих случаях.
(1) Когда остаточная битовая скорость CPB равна или больше предварительно определенного порогового значения в то время, когда кодирование группы изображений, следующих в порядке кодирования, завершено, точка повторения устанавливается как первое изображение (изображение I) в следующей группе изображений, следующих в порядке кодирования.
(2) Когда остаточная битовая скорость CPB меньше предварительно определенного порогового значения в то время, когда кодирование группы изображений, следующих в порядке кодирования, завершено, точка повторения остается неизменной, и кодирование выполняется на следующем изображении в следующей группе изображений, следующих в порядке кодирования.
(3) Когда опустошение CPB не произошло при кодировании первого изображения в группе изображений, следующих в порядке кодирования, точка повторения устанавливается на первое изображение в текущей кодируемой группе изображений, следующих в порядке кодирования.
Причина, по которой установка точки повторения выполняется так, как описано выше, будет объяснена далее. Если точка повторения всегда устанавливается на первое изображение текущей кодируемой группы изображений, следующих в порядке кодирования, конфигурация обработки проще, чем в настоящем изобретении. Далее в настоящем документе, эта технология упоминается как "предшествующий уровень техники". Даже в случае предшествующего уровня техники соответствующая группа изображений, следующих в порядке кодирования, кодируется повторно, только если произошло опустошение CPB. Соответственно, опустошение CPB может пресекаться, объем вычислений может сокращаться по сравнению с предшествующим уровнем техники (b), на котором все изображения входного видео кодируются дважды, и может быть осуществлено эффективное управление распределением битовых скоростей.
Как хорошо известно, изображение I имеет большую генерированную битовую скорость, чем другие типы изображений. Соответственно, когда остаточная битовая скорость CPB в то время, когда кодирование определенной группы изображений, следующих в порядке кодирования, мала, опустошение CPB должно с высокой степенью вероятности происходить в изображении I, которое является первым изображением следующей группы изображений, следующих в порядке кодирования. В этом случае в описанном выше предшествующем уровне техники существует риск, что качество видео для изображения I значительно ухудшается, поскольку опустошения CPB можно избежать, только перекодируя изображение I, которое является первым изображением, в котором произошло опустошение CPB.
В настоящем варианте осуществления, если остаточная скорость CPB мала, и опустошение CPB произошло в изображении I, которое является первым изображением следующей группы изображений, следующих в порядке кодирования, непосредственно предшествующая группа изображений, следующих в порядке кодирования, повторно кодируется, начиная с ее первого изображения, посредством установленной точки повторения. Соответственно, возникновения сильного ухудшения качества видео в одном первом изображении можно избежать.
В пятом варианте осуществления настоящего изобретения кадр входного видео не всегда кодируется дважды, чтобы пресечь опустошение CPB, в отличие от двухпроходного кодирования, используемого на предшествующем уровне техники. Обычно используется однопроходное кодирование, и множество изображений прослеживаются и перекодируются, только когда произошло опустошение CPB.
Дополнительно, в настоящем варианте осуществления, когда опустошение CPB произошло при кодировании изображения в группе изображений, следующих в порядке кодирования, некоторые изображения группы изображений, следующих в порядке кодирования, прослеживаются и кодируются повторно. Изображения, прослеживаемые и повторно кодируемые, определяются заранее, используя объем памяти, доступный для повторного кодирования. Здесь максимальное количество изображений, которые могут прослеживаться во время повторного кодирования, задается в описании как "максимальное расстояние между изображениями".
Ниже представлено краткое описание процесса, соответствующего настоящему варианту осуществления. Прежде всего получается максимальное количество изображений, которые могут прослеживаться во время повторного кодирования, основываясь на информации о доступном объеме памяти, предоставляемой извне, и сохраняется как максимальное расстояние между изображениями.
Причина этого следующая. Для повторного кодирования необходимо хранить видеосигнал целевого изображения кодирования во входном буфере и хранить кодированные потоки результата кодирования в выходном буфере до тех пор, пока выходной сигнал результата кодирования выходного буфера не определит, что изображения не должны повторно кодироваться. Если доступный объем памяти достаточен, каждый входной буфер и выходной буфер имеют объем памяти, соответствующий количеству изображений в группе изображений, следующих в порядке кодирования, так что повторное кодирование во время появления опустошения CPB может быть выполнено, начиная с первого изображения в группе изображений, следующих в порядке кодирования, в блоках групп изображений, следующих в порядке кодирования.
Однако, так как память не может обязательно использоваться так, как необходимо, максимальное расстояние между изображениями, которое является максимальным количеством изображений, которые могут прослеживаться во время повторного кодирования, вычисляется из доступного объема памяти заранее.
В настоящем варианте осуществления кодирование входного видео выполняется в блоках групп изображений, следующих в порядке кодирования. Однако каждый раз, когда кодируется входное изображение, проверяется, не будет ли испытывать падение CPB при использовании предварительно определенного алгоритма проверки буфера. Параметр кодирования изменяется таким образом, что генерированная битовая скорость становится малой, и группа изображений, следующих в порядке кодирования, которая является кодируемой, кодируется повторно только тогда, когда происходит опустошение CPB. Однако, в группе изображений, следующих в порядке кодирования, которая является кодируемой, прослеживаются и перекодируются изображения, удовлетворяющие следующим трем условиям.
- Условие 1: Изображение включено в группу изображений, следующих в порядке кодирования, которая является кодируемой.
- Условие 2: Изображение включено в максимальное расстояние между изображениями из изображения, в котором произошло опустошение CPB.
- Условие 3: Изображение является изображением, наиболее удаленным от изображения, в котором произошло опустошение CPB, из числа изображений, удовлетворяющих условиям 1 и 2.
Изображение, с которого начинается повторное кодирование, упоминается как точка повторения. Например, если первое изображение на максимальном расстоянии между изображениями находится в непосредственно предшествующей группе изображений, следующих в порядке кодирования, точкой повторения является первое изображение в группе изображений, следующих в порядке кодирования, которая является кодируемой в настоящий момент, и, в противном случае, точкой повторения является первое изображение на максимальном расстоянии между изображениями, то есть, самое старое кодированное изображение, отделенное максимальным расстоянием между изображениями.
Примеры параметров кодирования, которые должны изменяться во время повторного кодирования, содержат параметр квантования и степень предварительной фильтрации, и один или оба эти параметра могут изменяться. Например, в случае параметра квантования размер шага параметра для параметра квантования увеличивается, так что параметр кодирования предписывает, чтобы генерированная битовая скорость была малой. Дополнительно, когда степень фильтрации предварительного фильтра для входного видео изменяется, степень размывания изменяется, становясь большей, так чтобы генерированная битовая скорость могла быть малой.
Когда кодирование группы изображений, следующих в порядке кодирования, которая является кодируемой в настоящий момент, завершается повторным кодированием, параметр кодирования восстанавливается до значения параметра кодирования во время обычного кодирования, пресекая таким образом распространение ухудшения качества видео на следующие группы изображений, следующих в порядке кодирования. Здесь параметр кодирования во время обычного кодирования относится к параметру кодирования, определенному в состоянии, в котором кодирование не повторяется.
Дополнительно, когда повторное кодирование группы изображений, следующих в порядке кодирования, завершается, параметр кодирования не обязательно восстанавливается до значения во время нормального кодирования, а может быть проверена остаточная битовая скорость CPB, и параметр кодирования может быть восстановлен до значения во время обычного кодирования, только когда остаточная битовая скорость равна или больше предварительно определенного порогового значения, и может не восстанавливаться до значения во время обычного кодирования, когда остаточная битовая скорость меньше предварительно определенного порогового значения. Это дает возможность снизить вероятность непрерывного возникновения повторного кодирования.
ТЕХНИЧЕСКИЙ РЕЗУЛЬТАТ ИЗОБРЕТЕНИЯ
В соответствии с первым вариантом осуществления настоящего изобретения группа изображений, следующих в порядке кодирования, кодируется дважды, только когда произошло опустошение CPB, в отличие от традиционного двухпроходного кодирования (предшествующий уровень техники (b)), при котором все кадры входного видео кодируются дважды. Во время повторного кодирования кодирование выполняется с параметром кодирования, пригодным для пресечения опустошения CPB. Соответственно, объем вычислений может быть уменьшен по сравнению с предшествующим уровнем техники (b), тогда как опустошение CPB пресекается по сравнению с предшествующим уровнем техники (b), только когда это необходимо.
В соответствии со вторым и третьим вариантами осуществления настоящего изобретения, группа изображений, следующих в порядке кодирования, кодируется множество раз, только когда произошло опустошение CPB, в отличие традиционного двухпроходного кодирования (предшествующий уровень техники (b)), при котором все кадры входного видео кодируются дважды. Во время повторного кодирования кодирование выполняется с параметром кодирования, пригодным для пресечения опустошения CPB, как в первом варианте осуществления. Соответственно, объем вычислений может быть уменьшен по сравнению с предшествующим уровнем техники (b), при этом опустошение CPB пресекается по сравнению с предшествующим уровнем техники (b), только когда это необходимо.
Во втором и третьем вариантах осуществления настоящего изобретения величина изменения параметра кодирования во время повторного кодирования подавляется, чтобы быть малой, за счет управления количеством повторений, пресекая тем самым опустошение CPB. Соответственно, возможно понизить ухудшение качества видео из-за повторного кодирования.
В частности, в соответствии с третьим вариантом осуществления настоящего изобретения, когда остаточная битовая скорость CPB после повторного кодирования мала, параметр кодирования сохраняется, чтобы быть тем же самым, как во время повторного кодирования, пресекая тем самым повторное появление повторного кодирования.
В соответствии с четвертым вариантом осуществления настоящего изобретения группа изображений, следующих в порядке кодирования, кодируется дважды, только когда произошло опустошение CPB, в отличие от традиционного двухпроходного кодирования (предшествующий уровень техники (b)), при котором все кадры входного видео кодируются дважды. Во время повторного кодирования кодирование выполняется с параметром кодирования, пригодным для пресечения опустошения CPB. Соответственно, объем вычислений может быть уменьшен по сравнению с предшествующим уровнем техники (b), поскольку опустошение CPB пресекается по сравнению с предшествующим уровнем техники (b), только когда это необходимо.
В частности, в соответствии с четвертым вариантом осуществления настоящего изобретения возможно предотвратить значительное ухудшение качества видео первого изображения I в группе изображений, следующих в порядке кодирования, поскольку появление опустошения CPB в первом изображении I, в котором генерированная битовая скорость является большой, в группе изображений, следующих в порядке кодирования, может быть эффективно пресечено.
В соответствии с пятым вариантом осуществления настоящего изобретения группа изображений, следующих в порядке кодирования, кодируется повторно, начиная с изображения, определенного как точка повторения, только когда произошло опустошение CPB, в отличие традиционного двухпроходного кодирования (предшествующий уровень техники (b)), при котором все кадры входного видео кодируются дважды. Во время повторного кодирования кодирование выполняется с параметром кодирования, пригодным для пресечения опустошения CPB. Соответственно, объем вычислений может быть уменьшен по сравнению с предшествующим уровнем техники (b), поскольку опустошение CPB пресекается по сравнению с предшествующим уровнем техники (b), только когда это необходимо. Дополнительно, поскольку повторное кодирование выполняется, начиная с точки повторения, определяемой в соответствии с объемом памяти, требуемым для повторног