RU2420911C1 - Аппаратура и способ оценки объема кода, а также носитель информации для его реализации - Google Patents

Аппаратура и способ оценки объема кода, а также носитель информации для его реализации Download PDF

Info

Publication number
RU2420911C1
RU2420911C1 RU2009133185A RU2009133185A RU2420911C1 RU 2420911 C1 RU2420911 C1 RU 2420911C1 RU 2009133185 A RU2009133185 A RU 2009133185A RU 2009133185 A RU2009133185 A RU 2009133185A RU 2420911 C1 RU2420911 C1 RU 2420911C1
Authority
RU
Russia
Prior art keywords
code
series
value
amount
encoding
Prior art date
Application number
RU2009133185A
Other languages
English (en)
Other versions
RU2009133185A (ru
Inventor
Рюити ТАНИДА (JP)
Рюити ТАНИДА
Ацуси СИМИЗУ (JP)
Ацуси СИМИЗУ
Original Assignee
Ниппон Телеграф Энд Телефон Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ниппон Телеграф Энд Телефон Корпорейшн filed Critical Ниппон Телеграф Энд Телефон Корпорейшн
Publication of RU2009133185A publication Critical patent/RU2009133185A/ru
Application granted granted Critical
Publication of RU2420911C1 publication Critical patent/RU2420911C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу оценки объема кода и соответствующим аппаратуре, программе и носителю информации в кодировании видеосигнала, в котором видеоизображение подвергается ортогональному преобразованию и кодированию с использованием кода переменной длины.
Испрашивается приоритет по дате подачи японской патентной заявки №2007-064283, поданной 14 марта 2007 г., содержимое которой включено в этот документ по ссылке.
Предшествующий уровень техники
В большинстве последних способов кодирования видеосигнала каждый кадр разделяется на малые области, и разностное изображение на основе предсказанного изображения подвергается ортогональному преобразованию, квантованию и затем энтропийному кодированию, посредством чего видеоданные сжимаются.
В стандарте кодирования видеосигнала Н.264 (см. непатентный документ 1) как текущем основном формате кодирования видеосигнала может выбираться не только способ контекстно-адаптивного кодирования с переменной длиной ("CAVLC") для выполнения энтропийного кодирования посредством обращения к таблице, но также и способ контекстно-адаптивного двоичного арифметического кодирования ("САВАС"), который может дополнительно улучшать эффективность кодирования.
Вышеупомянутый САВАС является способом кодирования, который может сжимать стационарный сигнал до логического ограничения и соответственно является основным способом для высокоэффективного кодирования. Однако по сравнению с CAVLC вычислительные затраты CABAC очень высокие (см. непатентный документ 2).
При кодировании видеоизображения и формировании потока, который может распространяться по сети, имеющей ограниченную полосу частот передачи, необходимо формировать постоянный объем формируемого кода в единицу времени, чтобы не превысить ограниченную полосу частот. Как правило, для управления объемом формируемого кода выполняется управление скоростью посредством изменения величины шага квантования ("Qstep").
Например, кодируется каждый целевой блок кодирования, вычисляется соответствующий объем формируемого кода, и корректируется Qstep следующего блока на основе вычисленного результата, посредством чего сохраняется постоянный объем формируемого кода.
При использовании CABAC для получения объема формируемого кода требуется значительное количество времени, что увеличивает задержку кодирования. В известном предложенном способе для уменьшения задержки аппроксимируется соотношение между Qstep и объемом формируемого кода с использованием функции, чтобы оценить объем формируемого кода (см. патентный документ 1).
Однако использование приближенной функции дает вариацию в точности измерения, зависящую от каждого видеоизображения. Для выполнения оценки с улучшенной точностью может использоваться CAVLC, имеющий меньше вычислительных затрат, чем CABAC, для оценивания объема кода (то есть оценки объема кода). В таком случае используется результат, полученный посредством выполнения кодирования с переменной длиной, и соответственно может быть выполнена более высокая оценка объема кода.
На фиг.7A и фиг.7B изображена блок-схема операции кодирования, посредством которой может использоваться CAVLC для оценки объема кода CABAC. Здесь на фиг.7A изображена основная процедура, и на фиг.B изображен процесс CABAC.
Сначала будет объяснена основная процедура (этапы S101-S111) по фиг.7A.
Сначала определяются межкадровый способ предсказания и внутрикадровый способ предсказания (см. этапы S101 и S102).
После этого определяется способ предсказания посредством выполнения межкадрового/внутрикадрового определения (см. этап S103), и для определенного способа вычисляется остаток предсказания (см. этап S104) и подвергается DCT (см. этап S105).
К коэффициентам преобразования DCT применяется квантование с использованием предоставляемого Qstep (см. этап S106).
Квантованные коэффициенты преобразования организуют в одномерном виде, и в блок вычисления CABAC подается информация о коэффициентах. Одновременно выполняется оценка объема кода на основе информации о коэффициентах (процесс предварительного кодирования) (см. этап S107).
Квантованные коэффициенты также подвергаются обратному квантованию (см. этап S108) и IDCT (см. этап S109) и после этого добавляются к предсказанному изображению, посредством чего формируется декодированное изображение (см. этап S110).
Наконец, декодированное изображение подвергается процессу фильтрации (см. этап S111).
Далее будет объясняться процесс CABAC (см. этапы S121-S125) по фиг.7B.
Сначала ожидается прием информации о коэффициентах, формируемой в процессе предварительного кодирования (S107) (см. этапы S121-S122). Когда соответствующие данные приняты, выполняется этап CABAC (см. этап S123), и передается сформированный поток (см. этап S124). Наконец, объем сформированного кода отправляют в контроллер объема кода (см. этап S125).
На фиг.8 изображен пример структуры для реализации вышеупомянутой операции.
Изображенное устройство содержит блок 101 определения межкадрового способа предсказания, блок 102 определения внутрикадрового способа предсказания, блок выбора 103 способа предсказания, переключатель 104, вычитатель 105, блок 106 DCT, квантователь 107, контроллер 108 объема кода, процессор 109 предварительного кодирования, энтропийный кодер 110, обратный квантователь 111, блок 112 IDCT, сумматор 113, буфер 114 для хранения декодированного изображения, фильтр 115 и буфер 116 для хранения опорного изображения.
Блок 101 определения межкадрового способа предсказания выполняет предсказание с компенсацией движения с использованием опорного изображения в буфере 116, предназначенном для хранения опорного изображения, определяет межкадровый способ предсказания, отправляет информацию о способе предсказания в блок выбора 103 способа предсказания, а также отправляет предсказанное изображение в переключатель 104.
Блок 102 определения внутрикадрового способа предсказания определяет внутрикадровый способ предсказания с использованием декодированного изображения в буфере 114 для хранения опорного изображения, отправляет информацию о способе предсказания в блок выбора 103 способа предсказания, а также отправляет предсказанное изображение в переключатель 104.
Блок выбора 103 способа предсказания определяет способ предсказания и выбирает один из внутрикадрового способа предсказания и межкадрового способа предсказания посредством отправки управляющего сигнала в переключатель 104.
На основе управляющего сигнала из блока выбора 103 способа предсказания переключатель 104 выбирает одно из изображения межкадрового предсказания, отправленного из блока 101 определения межкадрового способа предсказания, и изображения внутрикадрового предсказания, отправленного из блока 102 определения внутрикадрового способа предсказания.
Вычитатель 105 формирует предсказанное остаточное изображение посредством вычисления разности между исходным изображением и предсказанным изображением и отправляет сформированное изображение в блок 106 DCT.
Блок 106 DCT применяет преобразование DCT к отправленному предсказанному остаточному изображению и отправляет изображение в квантователь 107.
Квантователь 107 выполняет квантование коэффициентов преобразования DCT с использованием величины шага квантования Qstep, отправленной из контроллера 108 объема кода, и отправляет квантованный результат в процессор 109 предварительного кодирования и обратный квантователь 111.
На основе оцененного объема кода (оцененный объем кода), отправленного из процессора 109 предварительного кодирования, контроллер 108 объема кода вычисляет Qstep следующего макроблока и отправляет вычисленный Qstep в квантователь 107 и обратный квантователь 111. Контроллер 108 объема кода также принимает объем сформированного кода, отправленного из энтропийного кодера 110, и исправляет разность, исходя из оцененного объема кода.
Процессор 109 предварительного кодирования вычисляет оцененный объем кода на основе квантованных коэффициентов DCT, отправленных из квантователя 107, и отправляет вычисленное значение в контроллер 108 объема кода. Процессор 109 предварительного кодирования также формирует информацию о коэффициентах посредством организации квантованных коэффициентов DCT (двумерные данные) в одномерном виде и отправляет сформированную информацию в энтропийный кодер 110.
Энтропийный кодер 110 кодирует информацию о коэффициентах, которая отправлена из процессора 109 предварительного кодирования, посредством CABAC и выводит закодированные данные как закодированный поток.
Обратный квантователь 111 выполняет обратное квантование посредством умножения соответствующего квантованного значения на Qstep и отправляет результат в блок 112 IDCT.
Блок 112 IDCT применяет IDCT к принятым данным и отправляет результат в сумматор 113.
Сумматор 113 добавляет предсказанное остаточное изображение, отправленное из блока 112 IDCT, к предсказанному изображению, отправленному из переключателя 104, и отправляет результат как декодированное изображение в буфер 114 для хранения декодированного изображения.
Буфер 114 для хранения декодированного изображения сохраняет декодированное изображение, отправленное из сумматора 113, и отправляет изображение в фильтр 115. Буфер 114 для хранения декодированного изображения также отправляет информацию о смежном пикселе в блок 102 определения внутрикадрового способа предсказания.
Фильтр 115 применяет процесс фильтрации к декодированному изображению, сохраненному в буфере 114 для хранения декодированного изображения, и отправляет отфильтрованное изображение в буфер 116 для хранения опорного изображения.
Буфер 116 для хранения опорного изображения сохраняет отфильтрованное декодированное изображение и отправляет изображение как опорное изображение в блок 101 определения межкадрового способа предсказания.
В соответствии с вышеупомянутыми функциями реализована операция, изображенная на фиг.7A и фиг.7B.
Ниже будет объясняться процессор 109 предварительного кодирования, к которому может быть применено настоящее изобретение.
Процессор 109 предварительного кодирования организует двумерные данные квантованных коэффициентов DCT в одномерном виде, формирует информацию о коэффициентах, отправляет информацию в энтропийный кодер 110 и оценивает объем кода посредством обращения к таблице.
Сначала будет объясняться способ формирования информации о коэффициентах из двумерных данных.
В примере, в котором коэффициенты DCT имеют форму блока 4×4, коэффициенты организованы в одномерном виде, в порядке, который изображен на фиг.9, и последовательно проверяются значения коэффициентов от нулевого коэффициента для сохранения количества последовательных коэффициентов, имеющих значение 0, и коэффициента (ненулевой коэффициент), который следует за этими коэффициентами и имеет значение, отличное от нуля, как набора. Здесь количество последовательных коэффициентов «0» называется Серией (Run), а коэффициент, отличный от 0, называется Значением (Level). Такая операция сканирования значений коэффициентов в зигзагообразной форме для организации их в одномерном виде и преобразования их в данные Run-Level называется "зигзагообразным сканированием".
Конкретный пример изображен на фиг.10, где перед коэффициентами "5" и "3" не существует «0», и им назначен 0 (как Run).
Кроме того, при обращении к таблице в Н.264 необходимы не только Run и Level, но также необходимы (i) количество ненулевых коэффициентов и (ii) количество окончательной последовательности коэффициентов "1" или "-1" и соответствующий знак. На основе необходимых данных объем кода оценивается посредством обращения к таблице. Кроме того, информация Run-Level кодируется посредством арифметического кодирования.
На фиг.11 изображен пример блок-схемы вышеупомянутой операции.
Сначала выполняется зигзагообразное сканирование соответствующего блока 4×4, и получают наборы Run-Level (см. этап S151). Результаты отправляют в энтропийный кодер 110 (см. этап S152).
Для полученных наборов Run-Level определяется количество ненулевых коэффициентов, количество окончательной последовательности коэффициентов "1" или "-1" и их положительный или отрицательный знак (см. этап S153) и вычисляется соответствующий объем кода с использованием таблицы кодов переменной длины (называемой "таблица VLC") (см. этап S154).
Вычисленный объем кода отправляют как оцененный объем кода в контроллер 108 объема кода (см. этап S155).
На фиг.12 изображена блок-схема зигзагообразного сканирования.
Сначала счетчики i и n каждый инициализируются в 0 (см. этап S201). Кроме того, переменная "run" также инициализируется в 0 (см. этап S202).
Далее, получают координаты S_i(x, y) i-го коэффициента в сканировании посредством обращения к таблице, и значение коэффициента в полученных координатах сохраняется в k[i] (см. этап S204). В примере обработки блока 4×4 коэффициенты последовательно вводятся в k[i] в порядке, изображенном на фиг.9.
Если k[i]=0 (см. этап S205), то run увеличивается на 1 (см. этап S206), и i также увеличивается на 1 (см. этап S209).
Если k[i] не равно нулю (см. этап S205), то значение run сохраняется в Run[n] для сохранения информации о Серии, и ненулевой коэффициент k[i] сохраняется в Level[n] для сохранения информации о Значении (см. этап S207). После этого i увеличивается на 1 (см. этап S209).
Когда сканирование достигло последнего коэффициента, операция заканчивается (см. этап S210). Когда сканирование еще не достигло последнего коэффициента, вышеупомянутый процесс повторяется от этапа S203 до S210.
В соответствии с вышеупомянутой операцией наборы Run-Level могут быть получены посредством зигзагообразного сканирования.
На фиг.13 изображен пример структуры процессора 109 предварительного кодирования по фиг.8.
Структура включает в себя буфер 201 для хранения квантованных значений, счетчик 202 серии, контроллер 203 процесса предварительного кодирования, счетчик 204 сканирования 4×4, справочную таблицу 205 порядка сканирования 4×4, буфер 206 для хранения информации Run-Level, контроллер 207 оценки объема кода, блок 208 оценки объема кода и память 209 для хранения таблицы VLC.
Буфер 201 для хранения квантованных значений хранит квантованные (значения) коэффициентов DCT. При получении информации о координатах из справочной таблицы 205 порядка сканирования 4×4 буфер 201 для хранения квантованных значений отправляет квантованное значение, соответствующее соответственным координатам, в счетчик 202 серии. Когда квантованное значение принято, буфер 201 для хранения квантованных значений отправляет сигнал начала операции в контроллер 203 процесса предварительного кодирования.
Счетчик 202 серии сохраняет переменную "run" и принимает квантованное значение из буфера 201 для хранения квантованных значений. Когда принятое квантованное значение равно 0, счетчик 202 серии увеличивает run на 1. Когда принятое квантованное значение не равно 0, счетчик 202 серии отправляет соответствующий коэффициент и текущую сохраненную Серию (Run) в буфер 206 для хранения информации Run-Level как информацию Run-Level и сбрасывает run в 0. Счетчик 202 серии также сбрасывает run в 0 при приеме сигнала сброса из контроллера 203 процесса предварительного кодирования.
Когда контроллер 203 процесса предварительного кодирования принимает сигнал начала из буфера 201 для хранения квантованных значений, контроллер 203 процесса предварительного кодирования отправляет сигнал сброса в счетчик 202 серии и буфер 206 для хранения информации Run-Level для их сброса и после этого отправляет сигнал начала операции в счетчик 204 сканирования 4×4. Кроме того, при приеме сигнала окончания из счетчика 204 сканирования 4×4 контроллер 203 процесса предварительного кодирования отправляет сигнал начала оценки в контроллер 207 оценки объема кода.
При приеме сигнала начала операции из контроллера 203 процесса предварительного кодирования счетчик 204 сканирования 4×4 последовательно отправляет числовые значения от 0 до 15 в справочную таблицу 205 порядка сканирования 4×4. Когда отправлено последнее "15", счетчик 204 сканирования 4×4 отправляет сигнал окончания в контроллер 203 процесса предварительного кодирования.
Справочная таблица 205 порядка сканирования 4×4 принимает координаты, соответствующие числовым значениям, из счетчика 204 сканирования 4×4 и отправляет координаты в буфер 201 для хранения квантованных значений.
При приеме информации Run-Level из счетчика 202 серии буфер 206 для хранения информации Run-Level сохраняет эту информацию и отправляет ее в блок 208 оценки объема кода в соответствии с управляющим сигналом из контроллера 207 оценки объема кода. Буфер 206 для хранения информации Run-Level также отправляет информацию Run-Level в энтропийный кодер 110. Кроме того, при приеме сигнала сброса из контроллера 203 процесса предварительного кодирования буфер 206 для хранения информации Run-Level удаляет содержимое буфера.
Когда контроллер 207 оценки объема кода принимает сигнал начала оценки из контроллера 203 процесса предварительного кодирования, контроллер 207 оценки объема кода отправляет сигнал начала оценки в блок 208 оценки объема кода, а также отправляет управляющий сигнал в буфер 206 для хранения информации Run-Level для отправки информации Run-Level в блок 208 оценки объема кода.
При приеме сигнала начала оценки из контроллера 207 оценки объема кода блок 208 оценки объема кода принимает информацию VLC из памяти 209 для хранения таблицы VLC на основе информации Run-Level, отправленной из буфера 206 для хранения информации Run-Level, и оценивает и выводит объем кода.
Память 209 для хранения таблицы VLC сохраняет таблицу VLC и отправляет ее как информацию VLC в блок 208 оценки объема кода.
В соответствии с вышеупомянутой структурой может быть реализована операция, как показано на фиг.11.
Непатентный документ 1: Sakae Okubo, Shinya Kadono, Yoshihiro Kikuchi, and Teruhiko Suzuki, "H.264/AVC TEXTBOOK", Impress, pp.144-146, 2004.
Непатентный документ 2: САВАС: Detlev Marpe, Heiko Schwarz, Thomas Wiegand, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, Vol.13, No.7, pp.620-636, July 2003.
Патентный документ 1: Japanese Unexamined Patent Application, First Publication No. H07-264579.
Раскрытие изобретения
Проблемы, которые решаются посредством изобретения
Даже когда множество размеров для ортогонального преобразования можно выбирать, таблицы кодов переменной длины, соответствующие всем размерам, не всегда готовы. Соответственно может быть не готова таблица кодов переменной длины, соответствующая ортогональному преобразованию большого размера, и таблица кодов переменной длины, соответствующая ортогональному преобразованию небольшого размера, может быть также назначена ортогональному преобразованию большого размера.
Соответственно в системе кодирования видеосигнала, имеющей множество выбираемых способов кодирования с переменной длиной, способ формирования Run-Level может изменяться в зависимости от способа кодирования с переменной длиной даже с одинаковым размером ортогонального преобразования. В таком случае объем кода, требуемый в кодировании с переменной длиной, имеющем большие вычислительные затраты, может быть оценен с использованием кодирования с переменной длиной, имеющего небольшие вычислительные затраты, и такая оценка может увеличить вычислительные затраты.
Например, в Н.264 может использоваться не только DCT 4×4, но также DCT 8×8. На фиг.14 изображен порядок сканирования, используемый при кодировании коэффициентов квантования DCT 8×8 посредством САВАС. Как понято из фиг.14, для определения Run и Level выполняется зигзагообразное сканирование от 0 до 63.
В сравнение, при кодировании коэффициентов квантования DCT 8×8 посредством CAVLC не существует особой таблицы кодов переменной длины для DCT 8×8, и целевой объект кодирования разделяют на четыре части для использования таблицы кодов переменной длины, подготовленной для DCT 4×4. Следовательно, когда выполняется кодирование DCT 8×8 с использованием CAVLC, сканирование, порядок которого полностью отличается от порядка САВАС, выполняется четыре раза, и соответственно должны быть заданы четыре разделенных и псевдокоэффициента DCT 4×4.
На фиг.15 изображен порядок сканирования CAVLC. 64 (8×8) коэффициента группируются в четыре группы (А0-А15, В0-В15, C0-CIS и D0-D15) и обрабатываются.
На фиг.15 последовательно сканируются первый блок от А0 до А15, второй блок от В0 до В15, третий блок от С0 до С15 и четвертый блок от D0 до D15, то есть сканирование выполняется четыре раза. После задания четырех разделенных блоков вычисляется объем кода, требуемого для каждого набора коэффициентов DCT 4×4 четырех блоков, посредством обращения к таблице VLC для DCT 4×4, и после этого вычисляются общие затраты.
Следовательно, при использовании CAVLC для оценки объема кода, требуемого в кодировании САВАС, независимое от САВАС сканирование должно быть выполнено четыре раза, что увеличивает вычислительные затраты.
На фиг.16 изображен пример потока операций общепринятого способа, выполняемого процессором 109 предварительного кодирования для DCT 8×8.
Сначала оцененный объем Rate (Расход) кода инициализируется в 0 (см. этап S301). После этого для фактического кодирования выполняется зигзагообразное сканирование (см. этап S302). Этот этап выполняется аналогично потоку по фиг.12, и справочная таблица порядка сканирования возвращает координаты в порядке, изображенном на фиг.14. Полученную информацию Run-Level отправляют в энтропийный кодер 110 (см. этап S303).
Далее, выполняется процесс оценки объема кода.
Сначала счетчик цикла i инициализируется в 0 (см. этап S304), и выполняется сканирование первого (0-ого) блока (см. этап S305). Этот этап выполняется аналогично потоку по фиг.12, и справочная таблица порядка сканирования возвращает координаты в A0-А15 по фиг.15.
На основе полученной информации Run-Level вычисляются количество ненулевых коэффициентов, количество конечной последовательности коэффициентов "1" или "-1" и положительный или отрицательный знак этой последовательности (см. этап S306), и вычисляется объем кода с использованием таблицы VLC (см. этап S307).
Вычисленный объем кода добавляется к Rate (см. этап S308), i увеличивается на 1 (см. этап S310), и второй блок подвергается операции, аналогичной вышеупомянутой (см. этапы S305-S310), куда справочная таблица порядка сканирования возвращает координаты в ВО-В15 по фиг.15.
После этого С0-С15 и D0-D15 каждый подвергается операции, аналогичной вышеупомянутой (см. этапы S305-S310), и, наконец, передается значение оцененного объема Rate кода (см. этап S311).
На фиг.17 изображен пример структуры, которая реализует вышеупомянутую операцию.
Эта структура включает в себя буфер 301 для хранения квантованных значений 8×8, счетчик 302 серии, контроллер 303 процесса предварительного кодирования, счетчик 304 сканирования 8×8, справочную таблицу 305 порядка сканирования 8×8, счетчик 306 сканирования 4×4, переключатель "А" 307, справочную таблицу "а" 308 порядка сканирования 4×4, справочную таблицу "b" 309 порядка сканирования 4×4, справочную таблицу "с" 310 порядка сканирования 4×4, справочную таблицу "d" 311 порядка сканирования 4×4, буфер 312 для хранения информации Run-Level, контроллер 313 оценки объема кода 8×8, блок 314 оценки объема кода, память 315 для хранения таблицы VLC и блок 316 вычисления оцененного объема кода.
Среди вышеупомянутых элементов структуры счетчик 302 серии, контроллер 303 процесса предварительного кодирования, счетчик 306 сканирования 4×4, буфер 312 для хранения информации Run-Level, блок 314 оценки объема кода и память 315 для хранения таблицы VLC имеют функции, идентичные функциям вышеописанных элементов структуры, имеющих те же самые названия.
Буфер 301 для хранения квантованных значений 8×8 хранит квантованные значения коэффициентов DCT 8×8. При приеме информации о координатах из справочной таблицы 305 порядка сканирования 8×8 и справочных таблиц "а" 308, "b" 309, "с" 310 и "d" 311 порядка сканирования 4×4, буфер 301 для хранения квантованных значений 8×8 отправляет квантованные значения, сохраненные с соответствующими координатами, в счетчик 302 серии.
Когда счетчик 304 сканирования 8×8 принимает сигнал начала операции из контроллера 303 процесса предварительного кодирования, счетчик 304 сканирования 8×8 последовательно отправляет числовые значения 0-63 в справочную таблицу 305 порядка сканирования 8×8.
Справочная таблица 305 порядка сканирования 8×8 отправляет координаты, соответствующие каждому числовому значению (отправленные из счетчика 304 сканирования 8×8), в буфер 301 для хранения квантованных значений 8×8.
Переключатель "А" 307 выполняет переключение между входами a-d на основе управляющего сигнала, отправленного из счетчика 306 сканирования 4×4.
Справочная таблица "а" 308 порядка сканирования 4×4 отправляет координаты, соответствующие каждому числовому значению (отправленные из счетчика 306 сканирования 4×4), в 301 буфер для хранения квантованных значений 8×8. Упомянутые координаты соответствуют А0-А15 по фиг.15.
Справочная таблица "b" 309 порядка сканирования 4×4 отправляет координаты, соответствующие каждому числовому значению (отправленные из счетчика 306 сканирования 4×4), в буфер 301 для хранения квантованных значений 8×8. Координаты соответствуют В0-В15 по фиг.15.
Справочная таблица "с" 310 порядка сканирования 4×4 отправляет координаты, соответствующие каждому числовому значению (отправленные из счетчика 306 сканирования 4×4), в буфер 301 для хранения квантованных значений 8×8. Координаты соответствуют С0-С15 по фиг.15.
Справочная таблица "d" 311 порядка сканирования 4×4 отправляет координаты, соответствующие каждому числовому значению (отправленные из счетчика 306 сканирования 4×4), в буфер 301 для хранения квантованных значений 8×8. Координаты соответствуют D0-D15 по фиг.15.
Когда контроллер 313 оценки объема кода 8×8 принимает сигнал начала оценки из контроллера 303 процесса предварительного кодирования, контроллер 313 оценки объема кода 8×8 отправляет управляющий сигнал в переключатель "А" 307 для выбора входа переключателя и после этого отправляет сигнал начала в счетчик 306 сканирования 4×4.
При приеме сигнала окончания из счетчика 306 сканирования 4×4 контроллер 313 оценки объема кода 8×8 отправляет сигнал начала оценки в блок 314 оценки объема кода и отправляет управляющий сигнал в буфер 312 для хранения информации Run-Level для подачи информации Run-Level в блок 314 оценки объема кода.
После этого контроллер 313 оценки объема кода 8×8 отправляет управляющий сигнал в переключатель "А" 307 для выбора входа b переключателя и после этого отправляет сигнал начала в счетчик 306 сканирования 4×4.
При приеме сигнала окончания из счетчика 306 сканирования 4×4 контроллер 313 оценки объема кода 8×8 отправляет сигнал начала оценки в блок 314 оценки объема кода, а также отправляет управляющий сигнал в буфер 312 для хранения информации Run-Level для подачи информации Run-Level в блок 314 оценки объема кода.
После этого вход переключателя "А" 307 переключается на с и затем на d для выполнения операций, аналогичных операциям, объясненным выше.
Когда блок 316 вычисления оцененного объема кода принимает оцененный объем кода из блока 314 оценки объема кода, блок 316 вычисления оцененного объема кода прибавляет принятое значение. Соответственно после суммирования соответствующих четырех объемов кода блок 316 вычисления оцененного объема кода передает их сумму как оцененный объем кода. Кроме того, при приеме сигнала сброса из контроллера 303 процесса предварительного кодирования блок 316 вычисления оцененного объема кода сбрасывает хранящееся значение в 0.
В соответствии с вышеупомянутой структурой может быть реализована операция, изображенная на фиг.16.
Однако сканирование должно быть выполнено пять раз, как объяснялось выше, объем обработки увеличивается, и структура является сложной.
Способы, относящиеся к настоящему изобретению, и проблемы известных способов, которые были описаны, будут снова кратко описаны в соответствии с конкретным примером оценки объема кода посредством способа кодирования Н.264.
Способы, относящиеся к настоящему изобретению
По сравнению с кодированием с переменной длиной (CAVLC) арифметическое кодирование (САВАС) имеет большую степень эффективности кодирования, но требует больших вычислительных затрат. Однако для управления объемом кода необходимо быстро обнаруживать объем формируемого кода. Следовательно, объем кода оценивается с использованием кодирования с переменной длиной (CAVLC), которое выполняет высокоскоростную операцию и требует небольших вычислительных затрат, а фактическое кодирование выполняется посредством выполнения САВАС в отдельном процессе. Соответственно в основном способе, относящемся к настоящему изобретению, фактическое кодирование выполняется с использованием высокоэффективного САВАС (который дает большую задержку), а оценка объема кода выполняется с использованием высокоскоростного CAVLC (который дает небольшую задержку).
При оценке объема кода на основе вышеупомянутого основного способа должны быть учтены следующие спецификации САВАС и CAVLC.
Спецификация CAVLC в Н.264
В Н.264, DCT 4×4 и DCT 8×8 являются выбираемыми. Однако не существует таблицы кодов переменной длины (таблицы VLC) для DCT 8×8.
Следовательно, для использования таблицы VLC для DCT 8×8 взамен 64 (8×8) элемента разделяются на четыре части (не просто делением на четыре) для формирования наборов из 16 элементов и выполнения сканирования четыре раза. Соответственно обрабатываются четыре псевдообъекта DCT 4×4.
Соответственно можно обращаться к таблице VLC для DCT 4×4 (к которой необходимо обращаться четыре раза).
Спецификация САВАС в Н.264
В САВАС в Н.264 коэффициенты DCT 8×8 перегруппировывают с использованием зигзагообразного сканирования, аналогичного сканированию, используемому в MREG-2, для выполнения кодирования.
Соответственно при сканировании САВАС 64 коэффициента располагают в одну прямую линию. В сравнение, в CAVLC, которое выполняет сканирование четыре раза, формируются четыре линии коэффициентов, в каждой из которых 16 коэффициентов располагают в одну прямую линию.
Проблема, возникающая при использовании CAVLC в оценке объема кода САВАС.
При кодировании коэффициентов DCT 8×8 в Н.264 посредством VLC не существует таблицы VLC для DCT 8×8, как описано выше, и соответственно 64 (8×8) элемента перегруппировывают в четыре одномерных массива. Каждый из четырех массивов рассматривается как результат зигзагообразного сканирования и кодируется посредством обращения к таблице VLC для DCT 4×4.
С другой стороны, при кодировании коэффициентов DCT 8×8 в Н.264 посредством САВАС 64 коэффициента перегруппировывают в одномерный вид и кодируют. При оценке соответствующего объема кода (требуемой при применении САВАС к кодированию) с использованием таблицы VLC для CAVLC организация одномерных данных, то есть вид сканирования, отличается между САВАС и CAVLC.
В САВАС 64 коэффициента просто последовательно сканируются зигзагом. В сравнение, в CAVLC выполняются четыре операции сканирования для 16 коэффициентов для формирования четырех одномерных объектов данных.
Следовательно, в известном способе, который использует CAVLC для оценки объема кода САВАС, не только сканирование для САВАС, но также и сканирование для CAVLC должно выполняться только для оценки объема кода, что увеличивает вычислительные затраты.
В свете вышеупомянутых обстоятельств целью настоящего изобретения является обеспечение нового способа кодирования для точной оценки объема формируемого кода с меньшим объемом работы, чем в вышеописанном известном способе.
Средство решения упомянутой проблемы
Для достижения вышеупомянутой цели настоящее изобретение относится к системе видеокодирования сигнала и имеет два таких способа реализации кодирования коэффициентов ортогонального преобразования большого размера, как: первый способ кодирования источника информации, в котором кодирование выполняется после переупорядочения коэффициентов в одномерный вид, и второй способ кодирования источника информации, в котором коэффициенты разделяются на множество групп с одномерной организацией, и кодирование выполняется с использованием таблицы кодов переменной длины для ортогонального преобразования меньшего размера. Настоящее изобретение имеет:
(i) устройство, которое выполняет ортогональное преобразование большего размера, переупорядочивает квантованные коэффициенты в одномерный вид в порядке, определенном в первом способе кодирования с переменной длиной, и сохраняет наборы Run-Level из количества Run (Серия) последовательных коэффициентов «0» и значимого коэффициента Level (Значение), который следует за ними,
(ii) устройство, которое вычисляет количество групп на основе пропорции площадей между размером ортогонального преобразования, имеющим таблицу кодов переменной длины, и целевым размером ортогонального преобразования,
(iii) устройство, которое группирует наборы Run-Level в группы, имеющие количество групп,
(iv) устройство, которое делит каждый Run на это количество групп и устанавливает полученное частное как Run,
(v) устройство, которое определяет длину кода каждого набора Run-Level в каждой группе посредством обращения к таблице кодов переменной длины, второго способа кодирования источника информации, и
(vi) устройство, которое вычисляет общую сумму определенных длин кода,
причем объем кода, сформированного в первом способе кодирования источника информации, оценивается равным общей сумме длин кода всех групп.
Далее следуют примеры группировки наборов Run-Level в группы:
(i) первый пример включает в себя назначение индекса каждому набору Run-Level в порядке обнаружения наборов Run-Level, деления каждого индекса на количество групп и группировку наборов Run-Level, имеющих одинаковый остаток от деления, в одну группу, и
(ii) второй пример включает в себя накопление значения, получаемого посредством прибавления 1 к каждому Run (Серия) в порядке обнаружения наборов Run-Level, деление каждого накопленного значения на количество групп и группировку наборов Run-Level, имеющих одинаковый остаток от деления, в одну группу.
Эффект от изобретения
В соответствии с настоящим изобретением при выполнении оценки объема кода с использованием таблицы кодов для ортогонального преобразования меньшего размера, чем фактически выполняемое ортогональное преобразование, оценка объема кода может выполняться с высокой точностью при уменьшении объема вычисления.
Краткое описание чертежей
Фиг.1 - схема, изображающая пример группировки наборов Run-Level в DCT 8×8 в четыре группы.
Фиг.2 - схема, изображающая еще один пример группировки наборов Run-Level в DCT 8×8 в четыре группы.
Фиг.3 - график, изображающий результаты оценки объема кода при применении настоящего изобретения к Н.264.
Фиг.4 - блок-схема процессора предварительного кодирования в варианте осуществления настоящего изобретения.
Фиг.5 - блок-схема, изображающая иллюстративный процесс группировки коэффициентов DCT 8×8 в четыре вида.
Фиг.6 - схема, изображающая пример структуры устройства в соответствии с настоящим изобретением.
Фиг.7А - логическая блок-схема основной процедуры в операции кодирования, посредством которой CAVLC может использоваться для оценки объема кода САВАС.
Фиг.7В - логическая блок-схема процесса САВАС в операции кодирования.
Фиг.8 - схема, изображающая пример устройства кодирования для реализации операции по фиг.7А и фиг.7В.
Фиг.9 - схема, изображающая порядок сканирования для каждого блока 4×4.
Фиг.10 - схема, изображающая пример зигзагообразного сканирования.
Фиг.11 - схема, изображающая пример потока операций, выполняемых процессором предварительного кодирования для блока 4×4.
Фиг.12 - схема, изображающая пример потока операций для зигзагообразного сканирования.
Фиг.13 - схема, изображающая пример структуры процессора предварительного кодирования по фиг.8.
Фиг.14 - схема, изображающая порядок сканирования САВАС.
Фиг.15 - схема, изображающая порядок сканирования CAVLC.
Фиг.16 - блок-схема процессора предварительного кодирования для DCT 8×8 в соответствии с общепринятым способом.
Фиг.17 - схема, изображающая иллюстративную структуру процессора предварительного кодирования для DCT 8×8 в соответствии с общепринятым способом.
1 буфер для хранения квантованных значений 8×8
2 контроллер процесса предварительного кодирования
3 счетчик сканирования 8×8
4 справочная таблица порядка сканирования 8×8
5 счетчик серии
6 буфер "В" для хранения информации Run-Level
7 менеджер номера вида
8 счетчик
9 вычислитель номера набора
10 контроллер сравнения
11 блок оценки объема кода
12 оператор сдвига
13 буфер для хранения информации Run-Level
14 контроллер оценки объема кода
15 память для хранения таблицы VLC
16 блок вычисления оцененного объема кода
Предпочтительные варианты осуществления изобретения
В соответствии с настоящим изобретением 64 коэффициента САВАС могут давать результаты сканирования CAVLC. Соответственно процесс выполнения сканирования CAVLC независимо пропускается, и результаты сканирования CAVLC получаются с использованием результатов сканирования САВАС.
В иллюстративном способе вычисления количества групп в настоящем изобретении площадь ортогонального преобразования большого размера делится на площадь ортогонального преобразования небольшого размера, и полученное частное устанавливается как количество групп.
Например, если коэффициенты DCT 8×8 разделены на объекты DCT 4×4, то 64/16=4, и количество групп равно 4.
Кроме того, в иллюстративном способе деления наборов Run-Level на множество групп индексы последовательно назначаются наборам Run-Level в порядке обнаружения при сканировании наборов, и каждый индекс делится на количество групп для использования полученного остатка для группировки наборов Run-Level.
В Н.264 коэффициенты DCT 8×8 должны быть сгруппированы в четыре группы. В вышеупомянутом способе после сканирования САВАС для DCT 8×8 соответствующие наборы Run-Level группируются в четыре группы, которые включают в себя: первую группу, формируемую посредством извлечения 1-го, 5-го, …, (4i+1)-го наборов Run-Level (i=0, 1, …), вторую группу, формируемую посредством извлечения 2-го, 6-го, …, (4i+2)-го наборов Run-Level (i=0, 1, …), третью группу, формируемую посредством извлечения 3-го, 7-го, …, (41+3)-го наборов Run-Level (i=0, 1, …), и четвертую группу, формируемую посредством извлечения 4-го, 8-го, …, (4i+4)-го наборов Run-Level (i=0, 1, …).
Соответственно пример группировки наборов Run-Level в четыре группы включает в себя (i) процесс назначения номеров наборам Run-Level в порядке обнаружения результатов (т.е. наборов Run-Level) сканирования САВАС и одновременного распределения номеров группы 1, 2, 3, 4, 1, 2, 3, 4, … вышеупомянутым назначенным номерам от их наименьшего до наибольшего, и (ii) процесс уменьшения длины каждого Run до его одной четверти.
В соответствии с настоящим изобретением наборы Run-Level, полученные для DCT большого размера, группируются в группы, соответствующие размеру ортогонального преобразования, для которого существует таблица кодов, и каждый Run из всех наборов Run-Level делится на количество групп, для установки полученного частного как Run. Соответственно наборы Run-Level, полученные для DCT большого размера, псевдосгруппированы в группы наборов Run-Level, соответствующие размеру ортогонального преобразования, для которого существует таблица кодов.
На фиг.1 изображен пример группировки коэффициентов DCT 8×8 в четыре группы DCT 4×4 с использованием остатка для 4.
В каждой полученной группе наборы Run-Level рассматриваются как информация Run-Level для размера DCT 4×4. Объем кода, требуемый для них, вычисляется посредством обращения к таблице CAVLC, и сумма четырех объемов выводится как оцененный объем кода.
В другом примере группировки наборов Run-Level во множество групп каждое значение, вычисленное посредством прибавления 1 к Run (Серия) каждого набора Run-Level, накапливается в порядке обнаружения сканирования, и наборы группируются на основе остатка, полученного посредством деления накопленного значения каждого набора (причем накопленное значение содержит значение, вычисленное для соответствующего набора) на количество групп.
На фиг.2 изображен пример группировки в четыре группы с использованием остатка для 4. Каждое накопленное значение получается посредством последовательного накопления значения, вычисляемого посредством прибавления 1 к каждому Run (Серии). Каждое накопленное значение делится на 4 для получения остатка. Наборы Run-Level, имеющие остаток 1, распределяются в группу 1, наборы Run-Level, имеющие остаток 2, распределяются в группу 2, наборы Run-Level, имеющие остаток 3, распределяются в группу 3, и наборы Run-Level, имеющие остаток 0, распределяются в группу 4.
Как описано выше, в настоящем изобретении результаты (т.е. наборы Run-Level) сканирования САВАС могут быть сгруппированы в четыре группы для формирования четырех псевдоодномерных объектов данных. Соответственно CAVLC можно использовать без повторного выполнения сканирования для оценки объема кода.
Следовательно, посредством настоящего изобретения можно уменьшить вычислительные затраты и оценивать объем кода с высокой точностью.
Ниже приведено объяснение конкретного варианта осуществления настоящего изобретения со ссылкой на чертежи.
В данной работе, в устройстве кодирования, использующем оценку объема кода в соответствии с настоящим изобретением, в основном объясняются отличительные структурные элементы настоящего изобретения, в то время как подробное объяснение других элементов, которые идентичны соответствующим элементам общепринятого способа и соответственно были уже объяснены, опущено.
В следующем варианте осуществления оценивается объем кода, требуемого при кодировании коэффициентов DCT 8×8 посредством САВАС, с использованием таблицы для DCT 4×4.
Количество групп устанавливается в "4", которое получается посредством деления площади DCT 8×8 на площадь DCT 4×4, и информация Run-Level группируется в четыре группы с использованием остатка для 4 по каждому индексу.
Фиг.4 является блок-схемой процессора предварительного кодирования в настоящем варианте осуществления.
Сначала оцененный объем Rate кода инициализируется в 0 (см. этап S1).
Далее, блок 8×8 подвергается зигзагообразному сканированию (см. этап S2) для формирования информации Run-Level. Этот процесс изображен на фиг.12, и справочная таблица порядка сканирования возвращает координаты в порядке, изображенном на фиг.14. Информация Run-Level блока 8×8 отправляется как информация кодирования в энтропийный кодер (см. этап S3).
Далее, полученная информация Run-Level для блока 8×8 группируется в четыре вида (вид 1 - вид 4) (см. этап S4). Пример этого процесса изображен на фиг.5.
Как изображено на фиг.5, сначала переменная m, которая обозначает номер вида, устанавливается в 1 (см. этап S21), и информация Run-Level вида 1 формируется посредством следующей операции.
После того, как переменная i инициализирована в 0 (см. этап S22), и переменная n установлена в "4·i+m", где "·" обозначает умножение (см. этап S23).
Если n меньше, чем количество N наборов информации Run-Level, полученных посредством DCT 8×8 (т.е. количество значимых коэффициентов) (см. этап S24), тогда для n-ой информации Run-Level (Run[n] и Level[n]), Run[n] сдвигается вправо на 2 бита, и результат сохраняется в Run_t[m][i], в то время как Level[n] сохраняется в Level_t[m][i]. Кроме того, i увеличивается на 1 (см. этап S25).
Вышеупомянутая операция (этапы S23-S25) выполняется неоднократно.
Когда n превышает N (см. этап S24), вид переключается на следующий вид.
После подтверждения того, что номер m вида меньше 4 (см. этап S26), m увеличивается на 1 (см. этап S27), и вышеописанная операция повторяется. Когда обработан последний вид 4, процесс группировки завершается.
Соответственно i-тый набор информации Run-Level номера m вида сохраняется в Run_t[m][i] и Level_t[m][i].
Теперь обратимся к фиг.4, переменная m снова устанавливается в 1 (см. этап S5). Для вида 1 информацию кодирования (т.е. количество ненулевых коэффициентов, количество конечной последовательности коэффициентов "1" или "-1" и ее положительный или отрицательный знак), отличную от наборов Run-Level, получают с использованием каждого набора Run_t[m][i] и Level_t[m][i] (i=0, 1, …) (см. этап S6), и объем r_tmp кода вычисляют с использованием таблицы VLC (см. этап S7).
Вычисленный объем r_tmp кода добавляется к оцененному объему Rate кода (см. этап S8). Далее, если номер m вида меньше 4 (см. этап S9), то m увеличивается на 1 (см. этап S10), и вышеописанная операция повторяется для следующего вида (см. этапы S6-S10).
Наконец, оцененный объем Rate кода отправляется в контроллер объема кода (см. этап S11).
Операция в соответствии с настоящим изобретением может быть реализована при использовании блок-схемы, как объяснялось выше.
Далее, будет представлен пример структуры для выполнения настоящей блок-схемы.
Структуру соответствующего устройства кодирования можно представить аналогично фиг.8 для общепринятого способа. Настоящий вариант осуществления применяется к процессору 109 предварительного кодирования, обозначенному полужирным блоком.
Следовательно, на фиг.6 изображен пример структуры процессора 109 предварительного кодирования. Настоящее изобретение применяется к части, окруженной полужирной пунктирной линией.
Процессор предварительного кодирования настоящего варианта осуществления имеет буфер 1 для хранения квантованных значений 8×8, контроллер 2 процесса предварительного кодирования, счетчик 3 сканирования 8×8, справочную таблицу 4 порядка сканирования 8×8, счетчик 5 серии, буфер "В" 6 для хранения информации Run-Level, менеджер (средство управления) 7 номера вида, счетчик 8, вычислитель 9 номера набора, контроллер 10 сравнения, блок 11 оценки объема кода, оператор 12 сдвига, буфер 13 для хранения информации Run-Level, контроллер 14 оценки объема кода, память 15 для хранения таблицы VLC и блок 16 вычисления оцененного объема кода.
Среди вышеупомянутых элементов структуры буфер 1 для хранения квантованных значений 8×8, контроллер 2 процесса предварительного кодирования, счетчик 3 сканирования 8×8, справочная таблица 4 порядка сканирования 8×8, счетчик 5 серии, блок 11 оценки объема кода, контроллер 14 оценки объема кода, память 15 для хранения таблицы VLC, буфер 13 для хранения информации Run-Level и блок 16 вычисления оцененного объема кода имеют функции, идентичные функциям вышеописанных элементов структуры, имеющих одинаковые названия.
Когда буфер "В" 6 для хранения информации Run-Level принимает сигнал сброса из контроллера 2 процесса предварительного кодирования, буфер "В" 6 для хранения информации Run-Level инициализирует хранящуюся информацию.
Далее, при приеме информации Run-Level из счетчика 5 серии, буфер "В" 6 для хранения информации Run-Level сохраняет информацию и отправляет количество наборов Run-Level, как информацию N набора, в контроллер 10 сравнения.
Аналогично, при приеме номера "n" набора из контроллера 10 сравнения буфер "В" 6 для хранения информации Run-Level отправляет n-ный набор информации Run-Level в оператор 12 сдвига.
Когда менеджер 7 номера вида принимает сигнал начала оценки из контроллера 2 процесса предварительного кодирования, менеджер 7 номера вида устанавливает номер "m" вида в 1 и отправляет его в счетчик 8 и вычислитель 9 номера набора.
Кроме того, при приеме управляющего сигнала из контроллера 10 сравнения менеджер 7 номера вида увеличивает номер m вида на 1 и отправляет этот увеличенный номер в счетчик 8 и вычислитель 9 номера набора.
Кроме того, при приеме управляющего сигнала после отправки "4" как номера m вида менеджер 7 номера вида отправляет номер «0» вида в счетчик 8 и вычислитель 9 номера набора для остановки соответствующей операции до тех пор, пока снова не будет принят сигнал начала оценки.
Когда счетчик 8 принимает номер вида m (т.е. 1-4), он сбрасывает "i" в 0 и отправляет i в вычислитель 9 номера набора, а также увеличивает i (от 0) на 1. При приеме 0 как номера вида счетчик 8 останавливает свой процесс.
Когда вычислитель 9 номера набора принимает номер m вида из менеджера 7 номера вида и значение i из счетчика 8, вычислитель 9 номера набора вычисляет номер n набора "n=4·i+m" и отправляет его в контроллер 10 сравнения.
Контроллер 10 сравнения сравнивает номер n набора, отправленный из вычислителя 9 номера набора, с числом N, отправленным из буфера "В" 6 для хранения информации Run-Level. Если n меньше или равно N, то контроллер 10 сравнения отправляет номер n набора в буфер "В" 6 для хранения информации Run-Level. Если n больше N, то контроллер 10 сравнения отправляет управляющий сигнал в менеджер 7 номера вида, а также отправляет сигнал начала оценки в контроллер 14 оценки объема кода.
Когда оператор 12 сдвига принимает информацию Run-Level из буфера "В" 6 для хранения информации Run-Level, оператор 12 сдвига сдвигает значение Run вправо на 2 бита и затем отправляет значения Run и Level как набор в буфер 13 для хранения информации Run-Level.
С использованием вышеупомянутой структуры может быть реализована операция, изображенная на фиг.4 и фиг.5.
Вышеописанная операция оценки объема кода может также быть реализована посредством компьютера и программного обеспечения. Такая компьютерная программа может быть обеспечена посредством сохранения ее в соответствующем машиночитаемом носителе информации или посредством сети.
В результате объем вычисления в соответствии с настоящим изобретением сокращается значительно, особенно при небольшом количестве значимых коэффициентов.
Например, в Н.264, даже когда получается только один набор информации Run-Level посредством DCT 8×8, в известном способе операция зигзагообразного сканирования (см. фиг.14) для оценки объема кода должна быть выполнена четыре раза. В сравнение, в настоящем изобретении объем кода может быть оценен только посредством сдвига одного набора информации Run-Level на 2-бита и обращения к таблице.
На фиг.3 изображены результаты оценки объема кода при применении настоящего изобретения к кодированию в Н.264.
А именно на фиг.3 изображено нанесение точек на график для всех макроблоков при выполнении DCT 8×8, где на горизонтальной оси указывается каждый оцененный объем кода в соответствии с настоящим изобретением, и на вертикальной оси указывается каждый объем кода, формируемый при использовании САВАС.
Группировка была выполнена с использованием остатка от деления на 4.
Изображенные результаты указывают, что значение, оцененное посредством настоящего изобретения, является пропорциональным фактическому объему кода, формируемого посредством САВАС, и оценка объема кода может быть точно выполнена способом в соответствии с настоящим изобретением.
Одна причина для точного выполнения оценки объема кода способом настоящего изобретения изображена ниже.
В спецификации CAVLC в Н.264 способ деления 64 элементов (8×8) на четыре группы приводит к результату, в котором низкочастотные и высокочастотные компоненты включены по мере возможности поровну в четыре полученные разделением одномерные группы данных.
Также в настоящем изобретении способ группировки результатов сканирования САВАС (т.е. наборов Run-Level) в четыре группы приводит к результату, в котором низкочастотные и высокочастотные компоненты соответствующих коэффициентов включены по мере возможности поровну в эти четыре группы.
Следовательно, как представлено в результатах оценки объема кода на фиг.3, могут быть получены высокоточные результаты оценки объема кода посредством CAVLC.
Промышленная применимость
В соответствии с настоящим изобретением при выполнении оценки объема кода с использованием таблицы кодов для ортогонального преобразования меньшего размера, чем фактически выполняемое ортогональное преобразование, оценка объема кода может выполняться с высокой точностью при уменьшении объема вычисления.

Claims (5)

1. Способ определения объема кода, используемый в видеокодировании для определения объема кода, формируемого в первом способе кодирования источника информации, в котором множество размеров ортогонального преобразования является выбираемым и кодирование выполняется посредством переупорядочения квантованных коэффициентов двумерного ортогонального преобразования в одномерную форму, в котором объем кода определяется с использованием второго способа кодирования источника информации, вычислительные затраты которого ниже, чем у первого способа кодирования источника информации, и который выполняет кодирование с использованием таблицы кодов переменной длины, при этом способ определения объема кода содержит этапы, на которых
выполняют переупорядочение при кодировании квантованных величин коэффициентов ортогонального преобразования большего размера, чем размер ортогонального преобразования, назначенный таблице кодов переменной длины, посредством переупорядочения квантованных величин в одномерную форму в порядке, заданном в первом способе кодирования источника информации, причем в этой одномерной форме получают наборы Серия-Значение из количества Серия последовательных коэффициентов "0" и значимого коэффициента Значение, который следует за ними, и полученные наборы Серия-Значение сохраняют,
вычисляют количество групп на основе пропорции между площадью ортогонального преобразования, соответствующей размеру ортогонального преобразования, назначенному таблице кодов переменной длины, и площадью ортогонального преобразования для целевого объекта кодирования,
группируют наборы Серия-Значение в группы, количество которых равно упомянутому количеству групп,
делят Серию каждого набора Серия-Значение на данное количество групп и устанавливают полученное частное как Серию этого набора Серия-Значение,
определяют длину кода каждого набора Серия-Значение в каждой группе посредством обращения к таблице кодов переменной длины и
вычисляют общую сумму этих определенных длин кодов,
причем объем кода, сформированного в первом способе кодирования источника информации, определяется как равный общей сумме длин кода всех групп.
2. Способ определения объема кода по п.1, в котором на этапе группирования наборов Серия-Значение в группы назначают индекс каждому набору Серия-Значение в порядке обнаружения наборов Серия-Значение, делят каждый индекс на количество групп и группируют наборы Серия-Значение, имеющие одинаковый остаток отделения, в одну группу.
3. Способ определения объема кода по п.1, в котором на этапе группирования наборов Серия-Значение в группы накапливают величину, получаемую посредством прибавления 1 к каждой Серии в порядке обнаружения наборов Серия-Значение, делят каждую накопленную величину на количество групп и группируют наборы Серия-Значение, имеющие одинаковый остаток от деления, в одну группу.
4. Устройство определения объема кода, используемое в видеокодировании для определения объема кода, формируемого в первом способе кодирования источника информации, в котором множество размеров ортогонального преобразования является выбираемым, и кодирование выполняется посредством переупорядочения квантованных коэффициентов двумерного ортогонального преобразования в одномерную форму, в котором объем кода определяется с использованием второго способа кодирования источника информации, вычислительные затраты которого ниже, чем у первого способа кодирования источника информации, и который выполняет кодирование с использованием таблицы кодов переменной длины, при этом устройство определения объема кода содержит:
устройство, которое выполняет переупорядочение при кодировании квантованных величин коэффициентов ортогонального преобразования большего размера, чем размер ортогонального преобразования, назначенный таблице кодов переменной длины, посредством переупорядочения квантованных величин в одномерную форму в порядке, определенном в первом способе кодирования источника информации, причем в этой одномерной форме данное устройство получает наборы Серия-Значение из количества Серия последовательных коэффициентов "0" и значимого коэффициента Значение, который следует за ними, и сохраняет полученные наборы Серия-Значение,
устройство, которое вычисляет количество групп на основе пропорции между площадью ортогонального преобразования, соответствующей размеру ортогонального преобразования, назначенному таблице кодов переменной длины, и площадью ортогонального преобразования для целевого объекта кодирования,
устройство, которое группирует наборы Серия-Значение в группы, количество которых равно упомянутому количеству групп,
устройство, которое делит Серию каждого набора Серия-Значение на данное количество групп и устанавливает полученное частное как Серию этого набора Серия-Значение,
устройство, которое определяет длину кода каждого набора Серия-Значение в каждой группе посредством обращения к таблице кодов переменной длины, и
устройство, которое вычисляет общую сумму этих определенных длин кода,
причем объем кода, сформированного в первом способе кодирования источника информации, определяется как равный общей сумме длин кода всех групп.
5. Машиночитаемый носитель информации, на котором хранится программа определения объема кода, посредством которой компьютер выполняет способ определения объема кода по п.1.
RU2009133185A 2007-03-14 2008-03-07 Аппаратура и способ оценки объема кода, а также носитель информации для его реализации RU2420911C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007064283 2007-03-14
JP2007-064283 2007-03-14

Publications (2)

Publication Number Publication Date
RU2009133185A RU2009133185A (ru) 2011-03-10
RU2420911C1 true RU2420911C1 (ru) 2011-06-10

Family

ID=39759450

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009133185A RU2420911C1 (ru) 2007-03-14 2008-03-07 Аппаратура и способ оценки объема кода, а также носитель информации для его реализации

Country Status (12)

Country Link
US (1) US9455739B2 (ru)
EP (1) EP2120461B1 (ru)
JP (1) JP4949462B2 (ru)
KR (1) KR101074870B1 (ru)
CN (1) CN101682772B (ru)
AT (1) ATE515889T1 (ru)
BR (1) BRPI0808774A2 (ru)
CA (1) CA2679255C (ru)
ES (1) ES2369214T3 (ru)
RU (1) RU2420911C1 (ru)
TW (1) TW200843517A (ru)
WO (1) WO2008111511A1 (ru)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
US8270745B2 (en) * 2008-06-27 2012-09-18 Sony Corporation Image processing device and image processing method
WO2009157577A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JPWO2009157581A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法
JP5472106B2 (ja) * 2008-06-27 2014-04-16 ソニー株式会社 画像処理装置及び画像処理方法
EP2301019B1 (en) 2008-07-11 2017-10-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
JP5059728B2 (ja) * 2008-09-30 2012-10-31 ルネサスエレクトロニクス株式会社 画像符号化装置及び方法
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
PE20170650A1 (es) * 2010-04-23 2017-05-11 Mandk Holdings Inc Dispositivo de procesamiento de imagenes digitales para codificar una imagen
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
WO2012042646A1 (ja) * 2010-09-30 2012-04-05 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JP2012129888A (ja) * 2010-12-16 2012-07-05 Samsung Electronics Co Ltd 画像符号化装置及び画像符号化方法
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
WO2019093961A1 (en) * 2017-11-10 2019-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Transmitting device, receiving device, and methods performed therein for handling buffer reset
WO2019131880A1 (ja) * 2017-12-28 2019-07-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、情報処理方法、符号化装置、復号装置、及び、情報処理システム
CN113037300B (zh) * 2021-03-04 2023-05-23 中国能源建设集团广东省电力设计研究院有限公司 电力传感器在线监测数据压缩方法、解压方法及监测***
CN113489980B (zh) * 2021-08-13 2022-10-25 北京大学深圳研究生院 一种点云属性变换系数的熵编码和熵解码的方法及设备
CN117692011B (zh) * 2024-01-29 2024-04-30 航天亮丽电气有限责任公司 一种用于消防救援环境监测***的监测数据预警方法

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1649674A1 (ru) 1988-10-10 1991-05-15 Предприятие П/Я А-1772 Устройство дл кодировани и декодировани телевизионного сигнала
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
JPH03129987A (ja) 1989-10-14 1991-06-03 Sony Corp 映像信号符号化装置及び映像信号符号化方法
JPH04150284A (ja) 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JP2950633B2 (ja) 1991-03-27 1999-09-20 沖電気工業株式会社 動きベクトル検出装置
JPH06113271A (ja) 1991-05-02 1994-04-22 Graphics Commun Technol:Kk 画像信号符号化装置
US5398078A (en) * 1991-10-31 1995-03-14 Kabushiki Kaisha Toshiba Method of detecting a motion vector in an image coding apparatus
US5283646A (en) * 1992-04-09 1994-02-01 Picturetel Corporation Quantizer control method and apparatus
JPH05328333A (ja) 1992-05-15 1993-12-10 Toshiba Corp 動きベクトル検出装置
JPH06237448A (ja) * 1993-02-12 1994-08-23 Toshiba Corp 可変長符号化及び復号化装置
DE69430147T2 (de) 1993-04-09 2002-10-24 Sony Corp., Tokio/Tokyo Bildkodierungsverfahren, und -vorrichtung
US5398068A (en) * 1993-09-02 1995-03-14 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
EP0660619A1 (fr) * 1993-12-22 1995-06-28 Laboratoires D'electronique Philips S.A.S. Procédé de codage d'images à longueur variable et dispositif de mise en oeuvre d'un tel procédé
JPH07203430A (ja) 1993-12-28 1995-08-04 Sharp Corp 画像符号化装置
KR0183688B1 (ko) 1994-01-12 1999-05-01 김광호 영상부호화방법 및 장치
US5781237A (en) * 1994-03-25 1998-07-14 Matsushita Electric Industrial Co., Ltd. Video coding apparatus and video coding method
JP3149672B2 (ja) 1994-03-25 2001-03-26 松下電器産業株式会社 映像符号化装置
JPH089379A (ja) 1994-06-15 1996-01-12 Sanyo Electric Co Ltd 動きベクトル検出方法
JPH089397A (ja) 1994-06-17 1996-01-12 Dainippon Printing Co Ltd カラー情報記録再生装置
JPH08116448A (ja) * 1994-10-13 1996-05-07 Fuji Xerox Co Ltd 画像信号の符号化装置及び復号装置
EP0757490A3 (en) 1995-08-02 1999-01-13 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
EP1274253A3 (en) 1995-08-29 2005-10-12 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JPH0998427A (ja) 1995-09-29 1997-04-08 Toshiba Corp 動画像符号化装置
US5682209A (en) 1995-11-13 1997-10-28 Tektronix, Inc. Motion estimation using limited-time early exit with prequalification matrices and a predicted search center
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
DE69713549T2 (de) * 1996-04-25 2003-01-16 Matsushita Electric Industrial Co., Ltd. Gerät und Verfahren zur Bewegtbildkodierung
JP3218994B2 (ja) 1996-10-23 2001-10-15 松下電器産業株式会社 画像符号化方法および装置
US5760836A (en) * 1996-08-22 1998-06-02 International Business Machines Corporation FIFO feedback and control for digital video encoder
US6366614B1 (en) * 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
JPH10290461A (ja) 1997-04-16 1998-10-27 Sony Corp レート制御装置及びレート制御方法
JPH1115429A (ja) 1997-06-20 1999-01-22 Fujitsu General Ltd 動きベクトル時間軸処理方式
JPH1155671A (ja) 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd 画像圧縮符号化装置
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
JP4171934B2 (ja) 1997-12-26 2008-10-29 ソニー株式会社 画像処理装置および方法、並びに記録媒体
JPH11239354A (ja) 1998-02-23 1999-08-31 Mitsubishi Electric Corp 動きベクトル検出器
JPH11252572A (ja) 1998-03-03 1999-09-17 Nippon Hoso Kyokai <Nhk> 符号量配分装置
US6704361B2 (en) * 1998-05-18 2004-03-09 Sony Corporation Variable length decoder for decoding digitally encoded video signals
US6859496B1 (en) * 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
JP2000023162A (ja) * 1998-06-29 2000-01-21 Sony Corp 符号化装置及び符号化方法
RU2137194C1 (ru) 1998-07-15 1999-09-10 Дворкович Александр Викторович Способ анализа векторов движения деталей в динамических изображениях
US6963608B1 (en) * 1998-10-02 2005-11-08 General Instrument Corporation Method and apparatus for providing rate control in a video encoder
JP2000138938A (ja) 1998-10-30 2000-05-16 Sony Corp 画像圧縮符号化方法及び装置
JP2000201328A (ja) 1999-01-08 2000-07-18 Hitachi Ltd 動きベクトルの検出方法および回路
JP2000244921A (ja) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd 映像符号化方法および装置
JP2000261799A (ja) 1999-03-10 2000-09-22 Fujitsu Ltd 可変レート動画像符号化装置
US6567554B1 (en) * 1999-03-12 2003-05-20 Victor Company Of Japan, Limited Data coding method and apparatus therefor
WO2001010135A1 (en) 1999-07-29 2001-02-08 Mitsubishi Denki Kabushiki Kaisha Moving vector detecting method
US6480539B1 (en) * 1999-09-10 2002-11-12 Thomson Licensing S.A. Video encoding method and apparatus
JP2002010260A (ja) 2000-06-27 2002-01-11 Mitsubishi Electric Corp 動きベクトル検出方法及び動画像符号化装置
US20020122482A1 (en) * 2001-01-03 2002-09-05 Kim Hyun Mun Method of performing video encoding rate control using bit budget
JP2002247587A (ja) 2001-02-19 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 画像符号化データの再符号化装置、再符号化方法、再符号化プログラム及び再符号化プログラムを記録した記録媒体
KR100446235B1 (ko) * 2001-05-07 2004-08-30 엘지전자 주식회사 다중 후보를 이용한 움직임 벡터 병합 탐색 방법
US6950463B2 (en) * 2001-06-13 2005-09-27 Microsoft Corporation Non-compensated transcoding of a video stream
FR2829657B1 (fr) * 2001-09-13 2004-02-06 Cit Alcatel Procede et dispositif pour la compression de donnees devant etre transmises avec un debit constant
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
KR100450746B1 (ko) * 2001-12-15 2004-10-01 한국전자통신연구원 계층탐색 기반의 혼합형 움직임 추정 장치 및 방법
MXPA04007053A (es) 2002-01-22 2004-10-11 Nokia Corp Codificacion de coeficientes de transformacion en codificadores y/o decodificadores de imagenes y video.
KR100455119B1 (ko) 2002-01-26 2004-11-06 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US7197072B1 (en) * 2002-05-30 2007-03-27 Intervideo, Inc. Systems and methods for resetting rate control state variables upon the detection of a scene change within a group of pictures
JP4230188B2 (ja) 2002-06-06 2009-02-25 パナソニック株式会社 可変長符号化方法および可変長復号化方法
US6944224B2 (en) 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US20040252758A1 (en) 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
US7042943B2 (en) 2002-11-08 2006-05-09 Apple Computer, Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
JP4282974B2 (ja) 2002-11-14 2009-06-24 パナソニック株式会社 符号量制御装置、プログラム及び記録媒体
US20040120404A1 (en) * 2002-11-27 2004-06-24 Takayuki Sugahara Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus
JP4221655B2 (ja) * 2003-03-06 2009-02-12 ソニー株式会社 符号化装置および符号化方法、プログラム、並びに記録媒体
JP2005045736A (ja) 2003-07-25 2005-02-17 Sony Corp 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
KR100505699B1 (ko) * 2003-08-12 2005-08-03 삼성전자주식회사 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법
JP4179548B2 (ja) * 2003-09-24 2008-11-12 Kddi株式会社 動きベクトル検出装置
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
JP4577048B2 (ja) 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
JP4252916B2 (ja) * 2004-03-18 2009-04-08 富士通マイクロエレクトロニクス株式会社 動きベクトルの探索範囲を決定する方法
JP4227067B2 (ja) * 2004-04-28 2009-02-18 株式会社東芝 動画像符号化方法と装置及びプログラム
JP4383240B2 (ja) 2004-04-30 2009-12-16 日本放送協会 画面内予測符号化装置、その方法及びそのプログラム
JP4253276B2 (ja) 2004-06-15 2009-04-08 株式会社東芝 画像符号化方法
CN100373952C (zh) 2004-06-15 2008-03-05 中兴通讯股份有限公司 一种基于mpeg-4的视频对象快速运动估值方法
JP4275014B2 (ja) 2004-06-24 2009-06-10 株式会社オリンピア 遊技機
JP2006054846A (ja) 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
KR100681258B1 (ko) * 2004-10-02 2007-02-09 삼성전자주식회사 트랜스코딩을 위한 움직임벡터 정밀화 기반 출력움직임벡터 추정방법 및 이를 이용한 트랜스코더
US20060153293A1 (en) * 2005-01-12 2006-07-13 Ulead Systems, Inc. Method for transcoding compressed data
JP4687116B2 (ja) 2005-01-19 2011-05-25 カシオ計算機株式会社 カメラ装置
JP4489605B2 (ja) * 2005-01-19 2010-06-23 株式会社メガチップス 圧縮符号化装置、圧縮符号化方法およびプログラム
US7933328B2 (en) * 2005-02-02 2011-04-26 Broadcom Corporation Rate control for digital video compression processing
US20060176953A1 (en) * 2005-02-04 2006-08-10 Nader Mohsenian Method and system for video encoding with rate control
US8634458B2 (en) * 2005-02-23 2014-01-21 Canon Kabushiki Kaisha Image processing apparatus
JP4346573B2 (ja) 2005-03-25 2009-10-21 三洋電機株式会社 符号化装置と方法
US7403562B2 (en) 2005-03-09 2008-07-22 Eg Technology, Inc. Model based rate control for predictive video encoder
US20060209965A1 (en) * 2005-03-17 2006-09-21 Hsien-Chih Tseng Method and system for fast run-level encoding
TWI256259B (en) 2005-03-21 2006-06-01 Pixart Imaging Inc Improved diamond search and dynamic estimation method
US20060222074A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for motion estimation in a video encoder
JP2006295535A (ja) 2005-04-11 2006-10-26 Toshiba Corp 動画像符号化装置および方法
JP2006313950A (ja) * 2005-05-06 2006-11-16 Hitachi Ltd 画像符号化装置、及び画像符号化方法
US20090225829A2 (en) 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder
US8107540B2 (en) * 2005-07-11 2012-01-31 Cheetah Technologies, L.P. Image complexity computation in packet based video broadcast systems
JP2007064283A (ja) 2005-08-30 2007-03-15 Katsuhiro Ouchi 雌ネジ体
JP2007089035A (ja) * 2005-09-26 2007-04-05 Toshiba Corp 動画像符号化方法、装置及びプログラム
EP1982530A2 (en) * 2006-02-06 2008-10-22 Thomson Licensing Method and apparatus for reusing available motion information as a motion estimation predictor for videoencoding
US7626521B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding control of computational core of programmable graphics processing unit
EP2120460B1 (en) * 2007-03-14 2018-04-11 Nippon Telegraph and Telephone Corporation Quantization control method, device, program, and recording medium containing the program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
РИЧАРДСОН ЯН. Видеокодирование Н.264 и MPEG-4 - стандарты нового поколения. - М.: Техносфера, 2005, сс.261-269. *

Also Published As

Publication number Publication date
RU2009133185A (ru) 2011-03-10
US20100118971A1 (en) 2010-05-13
ES2369214T3 (es) 2011-11-28
WO2008111511A1 (ja) 2008-09-18
BRPI0808774A2 (pt) 2014-08-19
CA2679255A1 (en) 2008-09-18
TWI363564B (ru) 2012-05-01
KR101074870B1 (ko) 2011-10-19
EP2120461A1 (en) 2009-11-18
KR20090108658A (ko) 2009-10-15
JPWO2008111511A1 (ja) 2010-06-24
CA2679255C (en) 2013-04-30
EP2120461A4 (en) 2010-04-07
TW200843517A (en) 2008-11-01
CN101682772B (zh) 2012-03-21
EP2120461B1 (en) 2011-07-06
JP4949462B2 (ja) 2012-06-06
CN101682772A (zh) 2010-03-24
ATE515889T1 (de) 2011-07-15
US9455739B2 (en) 2016-09-27

Similar Documents

Publication Publication Date Title
RU2420911C1 (ru) Аппаратура и способ оценки объема кода, а также носитель информации для его реализации
RU2479942C2 (ru) Устройство обработки изображения и способ обработки изображения
CA2795626C (en) Method and apparatus for performing interpolation based on transform and inverse transform
CN101926178B (zh) 基于时间复杂度和空间复杂度来确定编码模式的方法及装置
CN101115208B (zh) 图像编码装置
JP4354520B2 (ja) 符号化装置
US20060098733A1 (en) Variable-length coding device and method of the same
RU2479935C2 (ru) Устройство для обработки изображения и способ обработки изображения
CN102007770B (zh) 切分成线性形式的像素分区的图像或图像序列的编码和解码
Po et al. Transform-domain fast sum of the squared difference computation for H. 264/AVC rate-distortion optimization
US20080144721A1 (en) Video coding apparatus
JP2516082B2 (ja) デ―タ圧縮装置
EP2154897A2 (en) Video coding apparatus and method
CN100452881C (zh) 一种基于合并处理的反量化方法及其装置
CN102067602B (zh) 通过预先确定基准像素族而进行的图像预测、使用这样的预测的编码和解码
CN107181963A (zh) 一种视频压缩方法及装置
US6859562B2 (en) Coded data length detection apparatus, method of the same, and image coding apparatus
JP4594561B2 (ja) 符号化装置及び符号化プログラム
JP2011044903A (ja) 画像処理装置および画像処理方法
JP2008104072A (ja) 画像データの符号化方法および符号化装置
JP6497100B2 (ja) 映像符号化装置、方法及びプログラム
CN1285218C (zh) 视频预测性译码方法及装置
JPH10257494A (ja) 画像圧縮方法及び装置
JPH1023412A (ja) 符号化装置及び符号化方法
JPH04291882A (ja) 画像データ符号化方法