JP2017005433A - 画像符号化装置、画像処理装置、画像符号化方法 - Google Patents

画像符号化装置、画像処理装置、画像符号化方法 Download PDF

Info

Publication number
JP2017005433A
JP2017005433A JP2015116027A JP2015116027A JP2017005433A JP 2017005433 A JP2017005433 A JP 2017005433A JP 2015116027 A JP2015116027 A JP 2015116027A JP 2015116027 A JP2015116027 A JP 2015116027A JP 2017005433 A JP2017005433 A JP 2017005433A
Authority
JP
Japan
Prior art keywords
encoding
image
block
quantization step
encoded
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2015116027A
Other languages
English (en)
Other versions
JP6502753B2 (ja
Inventor
遠藤 寛朗
Hiroo Endo
寛朗 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015116027A priority Critical patent/JP6502753B2/ja
Priority to DE102016110417.5A priority patent/DE102016110417A1/de
Priority to US15/175,876 priority patent/US10027958B2/en
Priority to GB1609994.7A priority patent/GB2541088B/en
Publication of JP2017005433A publication Critical patent/JP2017005433A/ja
Application granted granted Critical
Publication of JP6502753B2 publication Critical patent/JP6502753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/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/136Incoming video signal characteristics or properties
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)

Abstract

【課題】効率的に符号化を行い、急峻なエッジ部分など、画素間での差分が大きい部分での画質劣化を低減する。
【解決手段】画像符号化装置であって、それぞれが所定数の画素からなる複数のグループを含む符号化対象のブロックの符号長が、符号化対象のブロックの目標符号量に応じた所定値を超えないように、グループごとに、グループの画像データの符号化処理における量子化のための量子化ステップと符号化方式とを決定する決定手段と、決定手段により選択された符号化モードに従って符号化対象のブロックの画像データを符号化する符号化手段であって、符号化対象のブロックに含まれるグループごとに決定手段が決定した量子化ステップと符号化方式とに基づき符号化処理を行う符号化手段とを備える。
【選択図】図1

Description

本発明は画像符号化装置、画像処理装置、画像符号化方法に関する。
近年、デジタルビデオなどの撮像装置は高解像度化、高フレームレート化に伴って、システムで扱う画像データ量が著しく増加しており、画像メモリやバスインターフェース回路の高速化が要求されている。これに対し、画像メモリやバスインターフェースの前後で画像の圧縮符号化を行って、画像データ量を削減することで回路の高速化の要求に対応することができる。
この場合、画像圧縮のための符号化方式は回路規模が小型で、符号化遅延の小さいことが望まれる。そのため、従来のJPEGやMPEG2に代表されるDCTベースの符号化方式は不向きである。そこでDPCM(Differential Pulse Code Modulation:差分パルス符号変調)ベースの予測符号化方式での提案がされている(特許文献1を参照)。
特開2010−004514号公報
しかし、DPCMベースの予測符号化方式では、画素レベルの変動が大きいエッジ部分の画質劣化が生じやすい。特許文献1の提案方式では、隣接画素データの差分値が所定の閾値以下であれば画質劣化の少ない符号化が可能である。しかし、急峻なエッジ部分のように隣接画素データの差分値が所定の閾値を超える場合、量子化により元の画素データビットを半分にする(例えば、10ビットから5ビットにする)必要があり、大きな画質劣化の原因になる。同様に、予測画像と符号化対象画像との差分が大きい場合にも、大きな画質劣化の原因となる。
本発明は上記課題に鑑み、効率的に符号化を行い、急峻なエッジ部分など、画素間での差分が大きい部分での画質劣化の低減を目的とする。
上記課題を解決するための本発明は、画像符号化装置であって、
それぞれが所定数の画素からなる複数のグループを含む符号化対象のブロックの符号長が、前記符号化対象のブロックの目標符号量に応じた所定値を超えないように、前記グループごとに、前記グループの画像データの符号化処理における量子化のための量子化ステップと符号化方式とを決定する決定手段であって、
前記符号化対象のブロックにおける前記グループごとに、量子化された画像データを出力する第1の符号化方式と、量子化された画像データと予測データとの差分を符号化したデータを出力する第2の符号化方式とのうち、符号長がより小さくなる符号化方式を選択する第1の符号化モードと、前記符号化対象のブロックにおける前記複数のグループの全てについて前記第1の符号化方式を選択する第2の符号化モードとのうち、前記複数のグループのそれぞれに割り当てられる量子化ステップの値の合計がより小さくなる符号化モードを、前記符号化対象のブロックを単位として選択し、
前記選択した符号化モードに従い前記複数のグループのそれぞれについて前記符号化方式と前記量子化ステップとを決定し、前記量子化ステップを、少なくとも第1の量子化ステップと、前記第1の量子化ステップよりも小さい第2の量子化ステップとを含むように決定する決定手段と、
前記決定手段により選択された符号化モードに従って符号化対象のブロックの画像データを符号化する符号化手段であって、前記符号化対象のブロックに含まれる前記グループごとに前記決定手段が決定した前記量子化ステップと前記符号化方式とに基づき前記符号化処理を行う符号化手段とを備えることを特徴とする。
本発明によれば、効率的に符号化を行い、急峻なエッジ部分など、画素間での差分が大きい部分での画質劣化を低減することができる。
発明の実施形態に対応する画像処理装置及び画像符号化部の構成例を示すブロック図。 発明の実施形態に対応する画像復号化部の構成例を示すブロック図。 発明の実施形態に対応する画像符号化部の構成例を示すブロック図。 符号化ブロックを構成する画素データと画素グループとの関係を説明するための図。 発明の実施形態に対応するQP決定部における処理の一例を示すフローチャート。 図5のS503の処理の一例を示すフローチャート。 発明の実施形態に対応する符号長比較部における処理の一例を示すフローチャート。 図5のS504の処理の一例を示すフローチャート。 発明の実施形態に対応する画素グループ単位の符号長及び選択されたQPの一例を示す図。 発明の実施形態に対応する符号化データのフォーマットの例を示す図。 発明の実施形態に対応するヘッダ省略判定部における処理の一例を示すフローチャート。 発明の第2の実施形態に対応する符号化データのフォーマットの例を示す図。 発明の第3の実施形態に対応する画像符号化部の構成例を示すブロック図。 発明の第3の実施形態に対応する符号化データのフォーマットの例を示す図。
(第1の実施形態)
以下、発明の実施形態に対応する画像処理装置を説明する。図1(a)は発明の実施形態における画像処理装置の構成の一例を示す図である。画像処理装置100は、例えば取得部10、画像符号化部20、メモリ30を有する。図1の画像処理装置100において、各ブロックは、撮像素子や表示素子のような物理的デバイスを除き専用のデバイス、ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをCPU等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。画像処理装置100は例えばデジタルカメラとして実施することができるが、それ以外にも、例えばパーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末或いは撮像装置とすることができる。
図1(a)において、取得部10は画像データを入力する機能を有する。取得部10は、例えば、撮像センサを備える撮像部や、外部から伝送路を介して画像データを入力する構成を含む。或いは、取得部10は、記録媒体などから画像データを読み出す構成を含む。また、取得される画像データは、静止画データであってもよく、動画データであってもよい。取得部10が取得する画像データが動画データの場合、複数のフレームの動画データが連続的に取得されてもよい。
取得部10は、取得した画像データを画像符号化部20に供給する。画像符号化部20は、取得部10から供給される画像データをパルス符号変調(PCM)または差分パルス符号変調(DPCM)のいずれかの符号化方式に従って符号化し、情報量が圧縮された符号化データを出力する。出力された符号化データは、メモリ30に記憶される。メモリ30は、画像符号化部20から出力された符号化データを記憶するために必要な記憶容量を有する。メモリ30に記憶された符号化データには後段の処理部において現像処理や更なる圧縮処理が実施される。
なお、図1(a)では、取得部、画像符号化部20及びメモリ30を独立した構成として示しているが、画像処理装置100に実装するに当り、これらを一体に例えば1チップに統合してもよいし、あるいは別体として独立に構成しても良い。
<画像符号化部の説明>
以下、図1(b)を参照して、発明の実施形態に対応する画像符号化部20の構成及び動作を説明する。図1(b)は、発明の実施形態に係る画像符号化部20の構成例を示すブロック図である。画像符号化部20は、仮符号化系110と本符号化系120の2つの大ブロックより構成される。さらに仮符号化系110は符号化部111A〜111D、QP決定部115および116、ヘッダ省略判定部117から構成される。
仮符号化系110は、本符号化系120で本符号化を行う際に使用する量子化パラメータのセット及びヘッダ省略モードフラグを決定するように動作する。ヘッダ省略モードフラグは、本符号化系120が実施する符号化処理において、後述するPCM/DPCMが混在し得る第1の符号化モードとPCMに固定される第2の符号化モードとを切替えるために使用される。本符号化系120は、遅延部121、符号化部111E、多重化部123で構成され、仮符号化系110で決定された量子化パラメータのセットを用いた量子化処理を含む本符号化を実行する。また、符号化結果を多重化し、ヘッダ省略モードフラグの値に従って符号化データを生成して外部に出力する。
画像符号化部20は、画像符号化装置として専用のデバイス、ロジック回路やメモリを用いてハードウェア的に一体的に構成されても良いし、或いは、複数のデバイス等で分散して構成されてもよい。或いは、メモリに記憶されている処理プログラムをCPU等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。
<符号ブロックと画素グループ>
本実施形態において画像符号化部20が実行する画像符号化処理では、入力画像データを所定サイズ(画素数)を有するブロック(以下、「符号化ブロック」という)に分割し、符号化ブロック単位に符号化を行うものとする。また、符号化ブロックは1つ以上の所定数の画素からなる「画素グループ」にさらに分割される。画素グループは後述する符号化方法(PCM/DPCM)の切り替えや、量子化パラメータ(以下、「QP」という)の切り替えを行う単位となる。画素グループは同一座標の画素や隣接画素など相関性の高い画素で構成されることが望ましく、単一のカラー要素のみで構成してもよいし、複数のカラー要素で構成してもよい
本実施形態ではRGB画像データの各カラー要素それぞれ水平16画素×垂直1画素×3色=48画素を符号化ブロックとする。また、各カラー要素の1画素ずつの計3画素を画素グループとする。
図4(a)は本実施形態における符号化ブロックを構成する画素データと、画素グループとの関係を説明するための図である。図4(a)に示すように、符号化ブロックは、R、G、Bの各カラー要素について16画素ずつから構成される。また、画素位置に応じてR、G、Bからなるカラー要素の組のそれぞれにグループ番号が割り当てられ、各画素には画素番号0から47までのいずれかがそれぞれ割り当てられている。例えば、各カラー要素の1画素目のデータであるR0、G0、B0はグループ番号が「0」の画素グループを構成し、2画素目のデータであるR1、G1、B1はグループ番号が「1」の画素グループを構成している。本実施形態では、各画素のデータのことを「画像データ」と呼ぶことにする。
<符号化部111の説明>
次に、仮符号化系110、本符号化系120で共通に使用される符号化部111の構成及び動作について図3を参照して説明する。図3は符号化部111の構成例を示すブロック図である。図3に示すように符号化部111は、例えば量子化部301、予測部302、減算器303、可変長符号化部304、PCM符号長算出部305、符号長比較部306、セレクタ307、308、309を含んで構成される。
符号化部111には、画像データとQPとが入力される。仮符号化系110の場合、QPは符号化部111Aから111Dのそれぞれに対して固定値として予め割り当てられていてもよい。図1(b)では一例として、符号化部111Aから111Dまで順にQPとして0、1、2、3がそれぞれ割り当てられている場合を示している。仮符号化系110の場合、各符号化部が予めQPの値を保持していても良い。本符号化系120には、仮符号化系110で決定されたQPがヘッダ省略判定部117から入力される。以下、符号化部111の具体的構成及びその動作について詳述する。
まず、符号化部111に入力された画像データは量子化部301に入力される。量子化部301は与えられたQPにより入力画像データを量子化し、量子化されたデータを予測部302、減算器303、セレクタ307にそれぞれ出力する。本発明では量子化部301で量子化された量子化データをPCMデータと呼ぶ。本実施形態では、QPの値を0を最小値とする整数値とし、0から3までの範囲で変更できるものとして説明するが、より大きなQPの値を設定して更に大きな量子化ステップを使用しても良い。
本実施形態において量子化部301は、QPが小さいほど量子化ステップを小さく(細かく)し、QPが大きいほど量子化ステップを大きく(粗く)する。そして、QPが1増えるとPCMデータの有意ビットが1ビット減少するように量子化を行う。例えば、式1で表される量子化を行う。
Quant = Data / (1 << QP) ・・・(式1)
(Quant:量子化データ、Data:入力画像データ、QP:量子化パラメータである。)
また、1<<QPとは、入力された画像データが、QPで示されるビット数だけ、ビットシフトすることを示す。
式1のように量子化することよってQPに対する出力値、有意ビットは以下のようになる。
QP=0:量子化ステップ=1、入力データは量子化されずそのまま出力。有意ビット不変。
QP=1:量子化ステップ=2、入力データは1/2に量子化。有意ビットは1ビット減少。
QP=2:量子化ステップ=4、入力データは1/4に量子化。有意ビットは2ビット減少。
QP=n:量子化ステップ=(1<<n)、入力データは1/(1<<n)に量子化。有意ビットはnビット減少。
上記式1は本実施形態における量子化処理の一例を示すものであって、これに限定されるものではない。QPが1変化するたびに符号長が1ビット減少するような量子化であればよい。例えば非線形量子化を行ってもよい。本実施形態において、QP=0からQP=nまでQPの値を1ずつ増加させることを量子化ステップを1段上げる、1段大きくする、1段粗くする等という。また、逆にQP=nからQP=0までQPの値を1ずつ減少させることを量子化ステップを1段下げる、1段小さくする、1段細かくする等というものとする。
PCM符号長算出部305は、量子化部301から出力されたPCMデータの符号長を、画像データのビット数(本実施形態では10ビット)とQPとから、下記の式2を用いて決定する。
PCM符号長 = 画像データビット数 − QP ・・・(式2)
本実施形態では、QPの値が1増える毎に、PCMデータの符号長が1ビットずつ減少する。よって、QP=0を初期値として、QPが1増える毎に、PCMデータの符号長は10ビットから1ビットずつ短くなる。ここで、仮符号化系110では、QPの値は符号化部111Aから111Dのそれぞれについて固定的に割り当てられているのでPCM符号長も固定値となる。よって、PCM符号長算出部305は式2の演算によりPCM符号長を算出するのではなく、割り当てられたQPの値に基づくPCM符号長の固定値を保持し、出力する構成であってもよい。PCM符号長算出部305は、決定したPCM符号長を符号長比較部306とセレクタ308とにそれぞれ出力すると共に、符号化部111の外部へも出力する。
次に、予測部302の動作を説明する。予測部302は図3に示すように逆量子化部310、画素遅延部311、量子化部312を含むように構成される。予測部302に入力されたPCMデータは逆量子化部310にて一旦逆量子化された後、画素遅延部311に入力される。逆量子化部310での逆量子化処理では、量子化部301が画像データの量子化に使用したQPがそのまま用いられる。画素遅延部311は、同じカラー要素の前値が予測データとなるようカラー要素分遅延する。
例えば、本実施形態では図4(a)に示すようにRGBの各カラー要素の画像データが順に入力され、画像データG0の符号化後、次にG1を符号化するまでにB0、R1の画像データを先に符号化する。よって、画素遅延部311は3画素分遅延させて、G1を符号化するタイミングで量子化部312に対して保持していた逆量子化された画像データを出力する。量子化部312は、画素遅延部311から入力された画像データを量子化する。このとき量子化部312には、量子化部301が画像データG1を量子化する際に用いるQPが入力されるので、量子化部301と量子化部312との間で量子化ステップが一致する。予測部302で逆量子化を行った後で再度量子化する構成は、QPの値が画素間で異なる場合に量子化ステップを一致させるために必要な構成であって、本符号化系120では必須である。一方、仮符号化系110ではQPは固定のため逆量子化部310、量子化部312を省略して、画素遅延部311だけでもよい。量子化部312での量子化結果は予測データとして減算器303に出力される。なお、各カラー要素の符号化ブロックの最初の画素(R0、G0、B0)は前画素が存在しないため、予測データとしては0の値を出力する。
減算器303は、量子化部301からのPCMデータと、予測部302からの予測データとの差分を予測差分データとして、可変長符号化部304へ出力する。予測差分データは正負の値を持つデータであり、画像データの変動の小さい平坦な部分では0付近の値となり、変動の大きいエッジ部分などでは大きな値になる。予測差分データは一般に0を中心としたラプラス分布の特性を持つ。
可変長符号化部304は、入力された予測差分データに対して所定の可変長符号化方式による符号化を行って、1画素毎に符号データと符号長とを出力する。符号データはセレクタ307へ出力され、符号長は符号長比較部306、セレクタ308及び符号化部111の外部にそれぞれ出力される。所定の可変長符号化方式には、例えばハフマン符号、ゴロム符号などが含まれる。可変長符号化部304が実行する可変長符号化方式では、入力値が0の場合に最も短い符号長の符号データが割り当てられており、入力値の絶対値が大きくなるほど、符号データの符号長は長くなる。なお、本実施形態において、可変長符号化部304から出力される符号データをDPCMデータと呼び、同符号長をDPCM符号長と呼ぶ。
符号長比較部306は、PCM符号長とDPCM符号長とを前述の画素グループ単位で比較し、符号長がより小さくなる符号データを選択するためのPCM/DPCM選択フラグを生成する。符号長比較部306は、画素グループを構成するR、G、Bの各色のPCM符号長とDPCM符号長とを保持するように構成される。PCM/DPCM選択フラグはセレクタ309に出力され、ヘッダ省略モードフラグに応じて各セレクタでの出力データの切替えに用いられる。また、符号化部111の外部にも出力される。
<符号長比較フロー>
ここで、符号長比較部306における符号長の比較の詳細を図7のフローチャートを参照して説明する。符号長の比較は前述した画素グループ単位で行われる。
符号長比較部306は、S701においてPCM符号長算出部305から、以下の色成分毎のPCMを取得し、続くS702において可変長符号化部304から以下の色成分毎のDPCM符号長を取得する。
S_PCM_Rn:RnのPCM符号長
S_PCM_Gn:GnのPCM符号長
S_PCM_Bn:BnのPCM符号長
S_DPCM_Rn:RnのDPCM符号長
S_DPCM_Gn:GnのDPCM符号長
S_DPCM_Bn:BnのDPCM符号長
ここでは、図4(a)のRGBコンポネント形式のデータ入力について、グループ番号nの画素を対象に実行した例を示している。本実施形態では、上述のステップで各符号長を取得しているが、画素グループ内のすべての画素についてDPCMとPCM符号長が取得できていればよく特に順番を限定するものではない。
続いて、符号長比較部306は、ステップS703において、PCM符号長の合計値(S_PCM)を、ステップS701で取得した符号長を加算して取得する。同様に、符号長比較部306は、ステップS704においてDPCM符号長の合計値(S_DPCM)を、ステップS702で取得した符号長を加算して取得する。続くS705において符号長比較部306はS_PCMとS_DPCMとを比較し、大小を判定する。もし、画素グループのDPCMの符号長が小さい場合(S705でYES)は、S706に移行してDPCM符号データを選択するPCM/DPCM選択フラグ情報(PCM_DPCM_SEL_FLAG=1)を出力する。一方、PCMの符号長の方が小さい場合(S705のNO)は、S707に移行してPCM符号データを選択するPCM/DPCM選択フラグ情報(PCM_DPCM_SEL_FLAG=0)を出力する。
図3の説明に戻り、セレクタ309は、符号長比較部306から入力されるPCM/DPCM選択フラグと、予め与えられた固定値とを符号化部111の外部より入力されるヘッダ省略モードフラグに従って切替えてセレクタ307及び308へ出力する。ヘッダ省略モードフラグの値が1の場合、セレクタ309は固定値が選択される。一方、ヘッダ省略モードフラグの値が0の場合、PCM/DPCM選択フラグを選択し、当該フラグ情報がそのままセレクタ307および308へ通知される。本実施形態では固定値は0であり、PCM/DPCM選択フラグの値が0に固定(PCMモード固定(PCM_DPCM_SEL_FLAG=0))されることになる。よって、セレクタ307及び308はPCMデータ及びPCMデータの符号長を選択する。
セレクタ307にはPCMデータとDPCMデータが入力されており、セレクタ309からのPCM/DPCM選択フラグに従って符号データが選択され、符号化部111の外部へと出力される。具体的に、PCM/DPCM選択フラグのフラグ値が1の場合はDPCMデータが選択され、フラグ値が0の場合はPCMデータが選択される。セレクタ308にはPCM符号長とDPCM符号長が入力されており、PCM/DPCM選択フラグに従って符号長が選択されて、符号化部111の外部へと出力される。セレクタ308から出力される符号長を本実施形態では特に「選択符号長」と呼ぶ。具体的に、PCM/DPCM選択フラグのフラグ値が1の場合はDPCM符号長が選択され、フラグ値が0の場合はPCM符号長が選択される。
<仮符号化系の説明>
ここで図1の画像符号化部20の説明に戻り、仮符号化系110における仮符号化処理について説明する。図1の仮符号化系110に入力された画像データは複数の符号化部111Aから111Dによって、QPが0から3でそれぞれ符号化が行われ選択符号長がQP決定部115に、PCM符号長がQP決定部116にそれぞれ出力される。ここで選択符号長は、各符号化部が各QPに対応する量子化ステップで量子化処理を行った量子化結果をPCMまたはDPCMで符号化した符号データの符号長を表し、セレクタ308から出力される。PCM符号長は、各符号化部が各QPに対応する量子化ステップで量子化処理を行った量子化結果の符号長を表し、PCM符号長算出部305から出力される。符号化部111A〜111Dは図3に示した構成を有し、出力信号として、符号データ、選択符号長、PCM符号長、PCM/DPCM選択フラグが存在する。しかし、仮符号化系110では選択符号長及びPCM符号長を使用し、符号データ、PCM/DPCM選択フラグは使用しなくてもよい。
本実施形態では符号化に用いるQPの範囲として0〜3としたため、仮符号化系110は符号化部111を4つ備えている。しかし、発明の実施形態は当該構成に限定されるものではなく、符号化に用いるQPの範囲に応じて、符号化部111の数を変更することができる。また仮符号化系110では、符号化部111Aから111Dへの入力信号であるヘッダ省略モードフラグを0に固定し、常に上述の符号長比較部306の判断結果に基づくPCM/DPCM選択フラグが用いられるものとする。
<QP決定部の動作>
仮符号化系110において、QP決定部115と116とは前段の符号化部111A〜111Dから入力されたQP毎の複数の符号長の情報に基づき、本符号化系120で画素グループ単位に適用する適用QPの候補となるQPalt、QPpcmをそれぞれ決定する。ここで、QP決定部115への入力信号となる選択符号長は、各符号化部111において得られたPCM符号長またはDPCM符号長のうち、より小さい値となった符号長である。一方のQP決定部116への入力信号となる符号長は、各符号化部111におけるPCM符号長となる。QP決定部116は、入力信号が異なるだけで、基本的な構成及び処理内容はQP決定部115と同じである。以下では各QP決定部の動作を説明する。
<QP決定部115の動作>
本施形態におけるQP決定部115が実行する処理手順の概要を、図5を用いて説明する。図5において、符号化ブロック毎に本処理が開始されると、S501にてQP決定部115は符号化部111A〜111Dから、各符号化部に割り当てられたQP毎に算出された符号長の情報を画素グループ単位に取得する。以下、取得される符号データの符号長を、QPの値:qp、画素グループ番号:pgを要素とする、pg_size[qp][pg]と表す。qpは0から3までの値をとり、pgは0から15までの値をとる。
次に、S502においてQP決定部115は、QP毎に符号化ブロック全体の符号長を算出する。符号化ブロック全体の符号長の算出に際しては符号化データに多重するヘッダ情報の符号長を加味する必要がある。ヘッダ情報とは復号時に必要な画素グループ毎のQPやPCM/DPCM選択フラグの情報であり、ここでのヘッダ情報の符号長は23ビットとする。このヘッダ情報のデータ構造については、図10(b)を参照して後述する。
ヘッダ情報の符号長hd_size(=23ビット)と、全画素グループの符号長との合計を加算したブロック符号長bl_size[qp]の算出が行われる。図9(a)は、pg_size[qp][pg]とbl_size[qp]の値の具体的な例を示す。図9(a)において、例えば参照番号901が示す値(35)はpg_size[0][0]であり、符号化ブロックにおける先頭の画素グループをQP=0で符号化した場合の符号長を示す。同様に、参照番号902が示す値(24)はpg_size[0][15]であり、符号化ブロックにおける最後の画素グループをQP=0で符号化した場合の符号長を示す。また、参照番号903が示す値(433)はbl_size[0]であり、QP=0で符号化した場合のブロック符号長を示し、参照番号904が示す値(349)はbl_size[3]であり、QP=3で符号化した場合のブロック符号長を示す。それぞれの値はビット単位で表されている。同図の値は以降の説明でも、具体的な値の例として用いて説明する。
次に、S503においてQP決定部115は、bl_size[qp]の中から所定の目標符号量target_size以下で、かつ最大の値を有するブロック符号長をsel_sizeに選定し、この時のqpをsel_qpに選定する。S503における具体的な処理は、図6のフローチャートに示すとおりである。
まずS601にて、最大のQP(MAX_QP)でもブロック符号長が目標符号量であるtarget_sizeを超えていることを識別するためのフラグover_flagを1に初期化する。ここでは、フラグover_flagが1である場合に、最大のQP(MAX_QP)でもブロック符号長が目標符号量であるtarget_sizeを超えていることを示すものとする。つづいてS602にて、QP決定部115はQPの値:qpを0に初期化する。次にS603にてQP決定部115は、現在選択されているQPにおける符号化ブロックの符号長:bl_size[qp]と目標符号量:target_sizeとを比較する。比較の結果、bl_size[qp]がtarget_size以下である場合(S603で「YES」)にはS604に移行し、bl_size[qp]がtarget_sizeより大きい場合(S603で「NO」)にはS607に移行する。
S604では、S603において判定対象となったbl_size[qp]を選択すべきブロック符号長sel_sizeに決定する。次いでS605では、bl_size[qp]のQPの値を符号化ブロックの暫定的なQPを表すsel_qpに決定する。その後、S606にてover_flagを0に更新し、S609にてover_flagの値をヘッダ省略判定部117に出力した後、処理を終了する。
S607では、現在選択されているQPの値が最大値(MAX_QP)よりも小さいかどうかを判定し、最大値より小さい場合(S607で「YES」)はS608においてQPの値を1つ更新し、S603に戻って処理を継続する。現在のQPの値が最大値以上の場合(S607で「NO」)は、S609にてover_flagの値をヘッダ省略判定部117に出力した後、処理を終了する。本実施形態におけるMAX_QPの値は3となる。S607でNOと判定された場合、目標符号量に対応する所定値以下のブロック符号長が存在せず、QPを選択できないこととなる。しかし、この場合はover_flagが1のままとなるので、ヘッダ省略モードが選択されることとなる。
このようにQP=0の初期値から1ずつ更新して、量子化ステップを1から2へ、2から4へと1段ずつ上げながら符号化ブロックの符号長を順に目標符号量と比較していく。そして、最初に目標符号量以下となったブロック符号長に対応するQPの値を暫定的なQP値とすることができる。また、最大のQP(MAX_QP)でもブロック符号長が目標符号量に対応する所定値以下とならない場合には、そのことをフラグover_flagの値1により示すことができる。
目標符号量target_sizeの具体的値については、本実施形態では例示的に360ビットとして説明する。この値は、符号化前の画像データの情報量が10ビット×3×16=480ビットであるので、その3/4に相当する。目標符号量の大きさは期待する圧縮率に応じて任意に設定することができる。図9(a)に示す例では、QP:3のブロック符号長bl_size[3]である349(ビット)が目標符号量360ビットよりも小さく、sel_sizeとして選定される。またこのときのQPの値3がsel_qpに決定される。ここで、符号化ブロックの符号長にヘッダ情報の符号長を含めていない場合、目標符号量の値は360ビットからヘッダ情報の符号長を差し引いた値となる。上述の例ではヘッダの符号長は23ビットであったので、この場合の目標符号量は337ビットとなる。
図5の説明に戻り、S504では、図6の処理において暫定的なQP値であるQP(sel_qp)が決定されたかどうかを判定する。前述のように、目標符号量以下となるブロック符号長が存在しない場合(S504で「NO」)には、QP(sel_qp)が決定されず、over_flagの値が1に設定されるので、そのまま処理が終了する。また、QP(sel_qp)が決定された場合(S504で「YES」)、S505ではQP決定部115がS503で決定した符号化ブロックの暫定的なQPの値sel_qpに対し画素グループ単位の調整を行う。これにより、画素グループ単位のQPalt:pg_qp[pg]を決定することができる。S505におけるpg_qp[pg]を決定するための処理の詳細を、図8のフローチャートを参照して詳述する。
図8において、S801では、QP決定部115は画素グループ単位のQPaltであるpg_qp[pg]を、S503で決定されたQP:sel_qpで初期化する。このとき、pg_qp[0]〜pg_qp[15]までの全てがsel_qpの値に初期化される。図9(a)の例では、QP=3が選択されたのでpg_qp[0]〜pg_qp[15]は全て3に初期化される。次にS802では、QP決定部115は現時点の符号化ブロックの符号長を表すパラメータnew_sizeを、S603で決定されたsel_sizeの値に初期化する。例えば図9(a)の例では、sel_sizeはQPが3のときのブロック符号長349に決定されたので、S802ではnew_sizeの値は349に初期化される。ヘッダ符号長を考慮していない場合は、ブロック符号長は326となる。次にS803では、QP決定部115は現在選択されているQPを示すパラメータqpの値をS604で決定されたsel_qpの値で初期化する。例えば図9(a)の例では、sel_qpは3に決定されたので、S803ではqpの値は3に初期化される。
次にS804では、QP決定部115は新たなQPを示すパラメータnew_qpの値を、qpより1を減じた値で初期化する。new_qpは、現在選択されているqpの値を1つ繰り下げた値を示す。さらにS805では、QP決定部115は処理対象の画素グループの番号を示すパラメータpgを初期化する。画素グループは0から15までの16グループがあるので、pg=0に初期化される。さらにS806、S807ではQP決定部115はminus_sizeをpg_size[qp][pg]に設定し、plus_sizeをpg_size[new_qp][pg]に設定する。ここで、minus_sizeとは、現在のqpの値に基づく選択画素グループの符号長を示し、plus_sizeは現在のqpから1減じたnew_qpの値に基づく選択画素グループの符号長を示す。例えば、pg=0でqp=3の場合を考えると、図9(a)に示す例では、minus_sizeは30となり、plus_sizeは32となる。このminus_sizeと、plus_sizeとは、画素グループ単位にqpを1だけ変更した場合に想定される符号化ブロックのブロック符号長の変化量を計算するために用いられる。
S808では、QP決定部115は画素グループ単位にqpを1だけ変更した場合のブロック符号長を示すパラメータtmp_sizeを、上記のnew_size、minus_size、plus_sizeから式3により求める。
tmp_size=new_size−minus_size+plus_size・・・式3
例えば、pg=0でqp=3の場合を考えると、図9(a)の例ではnew_size=349、minus_size=30、plus_size=32であるから、tmp_size=351となる。
次にS809にてQP決定部115は、S808で求めたqp変更後の符号長tmp_sizeが、目標符号量(target_size)以下かどうかを判定する。tmp_sizeの値が目標符号量を上回る場合(S809で「NO」)、S814に移行する。一方、tmp_sizeの値が目標符号量以下の場合(S809で「YES」)、S810に移行する。S810では、QP決定部115はnew_sizeの値をtmp_sizeの値で更新する。次いでS811においてQP決定部115は処理対象の画素グループのQPalt:pg_qp[pg]をnew_qpの値で更新する。その後のS812、S813の処理では処理対象となる画素グループを更新していく。具体的にS812では、QP決定部115は現在の処理対象の画素グループの番号pgが画素グループの番号の最大値(MAX_PG)より小さいか否かを判定する。MAX_PGの値は、本実施形態の場合15となる。ここで、pgが最大値より小さい場合(S812で「YES」)、S813に移行してQP決定部115はpgを1だけ更新して、S806に戻って新たな画素グループについて画素グループ単位のQPalt:pg_qp[pg]を決定する処理を行う。一方、pgが最大値に一致する場合(S813で「NO」)、S814に移行する。
次にS814では、QP決定部115は現在のqpの値が0より大きいか否かを判定すると共に、sel_qpから現在のqpを引いた値がMAX_DIFFより小さいか否かを判定する。MAX_DIFFは、sel_qpからqpを下げることが可能な回数を規定している。MAX_DIFFはQPが取り得る範囲に応じて任意に決定でき、例えば1とすることができ、その場合にはsel_qpの値から1回まではqpの値を下げることができる。上記の例ではsel_qp=3であるから、qp=2となるまで処理を行うことができる。このように回数を制限するのは、再帰的処理の実行時間を制限するためであるが、MAX_DIFFを2または3としてもよい。MAX_DIFFを設定することによりsel_qpに追加してQPaltに含めることが可能なQPの種類数を規定することができる。
S814では、QP決定部115はqpが0であった場合、または、qpを下げた回数がMAX_DIFFに一致する場合(S814で「NO」)は本処理を終了する。qpが0より大きく、かつ、qpを下げた回数がMAX_DIFFに満たない場合(S814で「YES」)は、S815に移行する。S815ではQP決定部115はqpの値を1だけ減じて、S804に戻って処理を繰り返す。このようにして決定された適用QPの候補となるQPaltはQP決定部115からヘッダ省略判定部117へ出力される。
ここで、図8における処理の具体例を、図9(a)を参照して説明する。選定されたsel_size(図9(a)の例では349)を基にして、まず、画素グループ番号0の画素グループのQPの値を1だけ小さくした場合のブロック符号長(349−30+32=351)を算出し、目標符号量(360)と比較する。算出したブロック符号長が目標符号量以下であった場合、次の画素グループ番号1のQPを1だけ小さくした場合のブロック符号長を算出して、同じように目標符号量と比較する。このとき算出される画素グループ番号1のブロック符号長は(351−30+32=353)であり、目標符号量よりも小さい。このようにして画素グループを順に選択してブロック符号長を算出していくと以下のようになる。
画素グループ番号2:353−24+24=353
画素グループ番号3:353−20+22=355
画素グループ番号4:355−20+22=357
画素グループ番号5:357−20+22=359
画素グループ番号6:359−16+18=361
上記算出されたブロック符号長において、画素グループ番号6のブロック符号長は目標符号量を超えてしまう。よって、この時点で本処理を終了する。このようにして決定されたQPaltの具体的な値を図9(b)に示す。図9(b)では、太線で囲った符号長に対応するQPが、画素グループ毎に決定されたQPaltを表している。画素グループ単位のQPaltの各値は、pg_qp[0〜5]は2、pg_qp[6〜15]は3となる。このようにしてQP値を組み合わせたブロック符号長は359ビットとなるが、目標符号量360ビットに対して足りないビットについては、後段の多重化部123でパディングビットを付加する処理を行う。生成されたQPaltはQP決定部115から出力され、ヘッダ省略判定部117へ入力される。
このように、本実施形態では、先頭の画素グループから順により小さいQPが割り当てられる。図9(b)では先頭の画素グループを含む連続する複数の画素グループに対して最小のQPが割り当てられたが、他の条件では先頭の画素グループのみに最小のQPが割り当てられる場合もある。
また、S814の判定においてMAX_DIFF=2であった場合には再び画素グループ番号0に戻ってQPの値を更に1だけ減少させて、同じようにブロック符号長を算出していく。上記の例では、
画素グループ番号0:359−32+32=359
画素グループ番号1:359−32+32=359
画素グループ番号2:359−24+26=361
となり、ここでは画素グループ番号2において目標符号量を超えてしまう。この時点でqpの値は1となっているので処理を終了する。このようにして決定された画素グループ単位のQPaltの各値は、pg_qp[0〜1]は1、pg_qp[2〜5]は2、pg_qp[6〜15]は3となる。このようにしてQP値を組み合わせたブロック符号長は359ビットとなる。以上の例では、ヘッダ情報の符号長を考慮した場合について説明したが、ヘッダ情報の符号長を考慮しない場合には上述の数値からヘッダ情報の符号長23ビットを適宜差し引くだけでよい。
<QP決定部116の動作>
次に、QP決定部116の動作を説明する。QP決定部116は、QP決定部115と同一構成を有するが、ヘッダ省略モードに対応するQP決定処理を行う。ヘッダ省略モードでは、ヘッダ情報をheader_skip_flgの1ビットのみとし、画素ブロック内の全ての画素をPCM符号化するとともに、符号化ブロック内の画素に対するQP値の割当パターンを一意に定める。その結果、どのような入力画像であっても、全画素をPCM符号化することによって必ず目標符号量に収めることができる。また、ヘッダ符号長を1ビットとすることで、画像データに多くの符号量を割り当てることができる。
QP決定部116への入力信号である符号長はすべてPCM符号化処理を行った結果の符号長である。各符号化部では全画素ブロックで同じ結果が得られるため、最初の画素ブロックだけQP値を算出することとしてもよい。また、QP決定部115の動作ではS502において加算するヘッダ符号長hd_sizeが23ビットであったが、QP決定部116の動作では同ヘッダ符号長hd_sizeが1ビットとなる。このヘッダ情報のデータ構造については、図10(c)を参照して後述する。またQP決定部116では、QP値を変化させる画素グループの番号を特定する必要がないので画素グループ単位でQP値を設定する必要はなく、画素単位でQP値を設定する点がQP決定部115の動作と異なる。
以下、図5、図6及び図8のフローチャートにおけるQP決定部116の動作につき、ヘッダ符号長hd_sizeの相違に基づきQP決定部115の動作と異なる点を主に説明する。QP決定部116の動作においては、画素グループ単位ではなく画素単位にQPを決定するため、各ステップにおけるpgは、pnに読み替える。pnは0から47までの値を取る。
図5のS502において、ヘッダ情報の符号長hd_size(=1ビット)と、全画素グループの符号長との合計を加算したブロック符号長bl_size[qp]の算出が行われる。図9(c)は、pn_size[qp][pn]とbl_size[qp]の値の具体的な例を示す。
次に、S503においてQP決定部116は、bl_size[qp]の中から所定の目標符号量target_size以下で、かつ最大の値を有するブロック符号長をsel_sizeに選定し、この時のqpをsel_qpに選定する。図9(c)に示す例では、QP:3のブロック符号長bl_size[3]である337(ビット)が目標符号量target_sizeの360ビットよりも小さく、sel_sizeとして選定される。またこのときのQPの値3がsel_qpに決定される。ここで、符号化ブロックの符号長にヘッダ情報の符号長を含めていない場合、目標符号量の値は360ビットからヘッダ情報の符号長を差し引いた値となる。上述の例ではヘッダの符号長は1ビットであったので、この場合の目標符号量は359ビットとなる。
図8において、S801では、QP決定部116は画素グループ単位のQPpcmであるpn_qp[pn]を、S503で決定されたQP:sel_qpで初期化する。このとき、pn_qp[0]〜pn_qp[47]までの全てがsel_qpの値に初期化される。図9(c)の例では、QP=3が選択されたのでpn_qp[0]〜pn_qp[47]は全て3に初期化される。次にS802では、QP決定部116は現時点の符号化ブロックの符号長を表すパラメータnew_sizeを、S603で決定されたsel_sizeの値に初期化する。例えば図9(c)の例では、sel_sizeはQPが3のときのブロック符号長337に決定されたので、S802ではnew_sizeの値は337に初期化される。ヘッダ符号長を考慮していない場合は、ブロック符号長は336となる。次にS803では、QP決定部116は現在選択されているQPを示すパラメータqpの値をS604で決定されたsel_qpの値で初期化する。例えば図9(c)の例では、sel_qpは3に決定されたので、S803ではqpの値は3に初期化される。
S806、S807ではQP決定部116はminus_sizeをpn_size[qp][pn]に設定し、plus_sizeをpn_size[new_qp][pn]に設定する。例えば、pn=0でqp=3の場合を考えると、図9(c)に示す例では、minus_sizeは7となり、plus_sizeは8となる。このminus_sizeと、plus_sizeとは、画素単位にqpを1だけ変更した場合に想定される符号化ブロックのブロック符号長の変化量を計算するために用いられる。
S808ではtmp_sizeは、例えばpn=0でqp=3の場合、図9(c)の例ではnew_size=337、minus_size=7、plus_size=8であるから、tmp_size=338となる。
以下、図8における処理の具体例を図9(c)を参照して説明する。選定されたsel_size(図9(c)の例では337)を基にして、まず、画素番号0の画素のQPの値を1だけ小さくした場合のブロック符号長(337−7+8=338)を算出し、目標符号量(360)と比較する。算出したブロック符号長が目標符号量以下であった場合、次の画素番号1のQPを1だけ小さくした場合のブロック符号長を算出して、同じように目標符号量と比較する。このとき算出されるブロック符号長は(338−7+8=339)であり、目標符号量よりも小さい。このようにして画素を順に選択してQPを変更し、ブロック符号長を算出していくと、ブロック符号長は画素番号が1増えるに応じて1だけ大きくなる。そして画素番号22においてブロック符号長は360と一致する。
上記算出されたブロック符号長において、画素番号22のブロック符号長が目標符号量と一致するので、この時点で本処理を終了する。このようにして決定されたQPpcmの具体的な値を図9(c)の太枠に示す。図9(c)では、太線で囲った符号長に対応するQPが、QP決定部116が画素毎に決定したQPpcmを表している。画素単位のQPpcmの各値は、pn_qp[0〜22]は2、pn_qp[23〜47]は3となる。このようにしてQP値を組み合わせたブロック符号長は360ビットとなり、目標符号量360ビットと一致する。生成された適用QPの候補となるQPpcmはQP決定部116から出力され、ヘッダ省略判定部117へ入力される。
上記では、説明のためにQPpcmを決定する処理の流れを示したがPCM符号化の場合には各画素に割り当てられるQP値は圧縮率(画素ブロックの目標符号量)に応じて一意に決定される。そのため、圧縮率に応じたQPパターンを予めQP決定部116が記憶しておいても良い。例えば、画素ブロックの目標符号量が360ビットである場合、図9(c)に示すように、画素番号0〜22のデータがQP2で符号化され、画素番号23〜47のデータがQP3で符号化される。また、上記では画素単位にQPpcmを決定することとしているが、QP決定部115と同様に画素グループ単位に決定しても良い。
<ヘッダ省略判定部>
次に、ヘッダ省略判定部117の動作を説明する。ヘッダ省略判定部117は、PCM/DPCMが混在し得る第1の符号化モードと、PCMに固定する第2の符号化モードとのいずれを選択するかを符号化ブロック単位に判定する。また、当該判定結果に基づいて、本符号化系120の符号化部111Eが使用する適用QPを、QP決定部115及び116のそれぞれから入力されたQPaltとQPpcmとのいずれかに決定する。
図11はヘッダ省略判定部117が実行する処理の一例を示すフローチャートである。ヘッダ省略判定部117は、QP決定部115が出力したover_flagの値や、第1の符号化モードと第2の符号化モードのそれぞれにおけるQP値の合計に基づき、いずれの符号化モードを採用するか否かを判定する。
具体的に、ヘッダ省略判定部117は、まずS1101ではover_flagをQP決定部115から取得する。次に、S1102ではover_flagの値が1であるか否かを判定する。もし値が1の場合(S1102でYES)、S1106に移行する。この場合、PCM/DPCMが混在し得る第1の符号化モードでは目標符号量以下で符号化ができないため、PCM固定で符号化を行う第2の符号化モードを選択する。その一方、値が0の場合(S1102でNO)S1103に移行する。S1103では、QP決定部115が出力したQPaltの符号化ブロック内での合計値SumQPaltを算出する。また、S1104では、QP決定部116が出力したQPpcmの符号化ブロック内での合計値SumQPpcmを算出する。
S1105では、S1103とS1104で算出されたQPの各合計値を比較する。ここでSumQPpcmの値がSumQPaltの値以上の場合(S1105でNO)、S1107に移行し、SumQPpcmの値がSumQPaltの値より小さい場合(S1105でYES)、S1106に移行する。S1106では、ヘッダ省略モードフラグを有効(header_skip_flg=1)に設定して、S1108に移行する。一方S1107ではヘッダ省略モードフラグを無効(header_skip_flg=0)に設定して、S1108に移行する。
次いでS1108では、上記で設定されたヘッダ省略モードフラグと、該フラグの設定値に従い、QP決定部115及び116のうちのいずれか一方が出力したQPを適用QPとして本符号化系120の符号化部111E及び多重化部123へ出力する。このようにして、符号化ブロックの符号量を確実に目標符号量以下とする一方で、QPの合計値がより小さくなる符号化モードを第1の符号化モードと第2の符号化モードとのいずれかから選択することができる。
上述の図9(b)及び図9(c)の例では、PCM/DPCMが混在しえる符号化モードのQPaltの合計値は126、PCMに固定した符号化モードのQPpcmの合計値は121となる。よって、後段の本符号化系120ではPCMモード固定で圧縮符号化を行うこととなる。
図11の処理では、符号化ブロックにおけるQP値合計を原画像に対する量子化誤差に起因する画質劣化の度合いを示す指標として用い、当該合計値が小さい方の符号化方式を決定する。また、PCM/DPCMが混在し得る第1の符号化モードでは目標符号量以下にできない場合でも、PCM固定の第2の符号化モードでは、画素データに最大限に符号を割り当てて画質の劣化を抑えながらも、目標符号量に必ず収めることができる。
<本符号化系の動作説明>
次に、図1の本符号化系120の動作について説明する。本符号化系120にも仮符号化系110に入力された画像データと同一の画像データが入力されるが、仮符号化系110のヘッダ省略判定部117が適用QPとヘッダ省略モードフラグを決定し出力するまで待機する必要がある。そこで、入力画像データは遅延部121に入力され、仮符号化系110が適用QP及びヘッダ省略モードフラグを決定するために必要な所定の処理サイクル分だけ遅延される。遅延後の画像データは遅延部121から符号化部111Eへ出力される。これにより符号化部111Eは、仮符号化系110が適用QPを決定した符号化ブロックを、当該決定された適用QPを用いて符号化することができる。
符号化部111Eは、図3に示した符号化部111と同一の構成を有し、適用QPを用いて、遅延された画像データを本符号化する。これによりQP決定部115または116が決定したブロック符号長と同じ符号長の符号データが生成され、PCM/DPCM選択フラグ、選択符号長と共に多重化部123に出力される。多重化部123には符号化部111Eからの符号データ、選択符号長、PCM/DPCM選択フラグと、ヘッダ省略判定部117からのQP及びヘッダ省略モードフラグが入力されており、符号ブロック毎に所定のフォーマットで多重化が行われる。多重化部123は、ヘッダ省略モードフラグの値に応じて以下に示す図10(b)及び図10(c)のいずれかのフォーマットに従い多重化を行って符号化データを生成し、出力する。
以下、発明の実施形態に対応する符号化データのフォーマットの一例について、図10(a)から(c)を参照して説明する。図10(a)は、符号化フォーマットのデータ構造の一例を表す図である。括弧で示す数値は各領域に格納されるデータのビット数を表している。図10(a)は、符号化ブロックの各画素グループに割り当てられたQPの値と、PCM/DPCMフラグ情報とを全画素グループについて記憶しておくフォーマットを示す。ブロックの全体の符号化データ1001(360ビット)は、ヘッダ部1002(48ビット)と、画素データ部1003(312ビット)から構成される。ヘッダ部1002はQPの値を格納するQP値部1004(32ビット)とPCM/DPCM選択フラグを格納するフラグ部1005(16ビット)とで構成される。QP値部1004には画素グループ毎に2ビットのQP(1004_0〜1004_fまで)が16個分格納される。フラグ部1005には画素グループ毎に1ビットのPCM/DPCM選択フラグのフラグ値(1005_0〜1505_fまで)が16個分格納される。画素データ部1003には符号データが画素数分(3×16=48画素分)格納される。
このようなフォーマットに対し、ヘッダ部のサイズを小さくし、その分だけ画素データ部のサイズを大きく確保することを可能とする本実施形態に対応する符号化フォーマットを以下に示す。まず、図9(b)に示した適用QPのセットは、画素グループの先頭を含む連続する一部の画素グループについて同一のQPが割り当てられ、残りの画素グループには異なるQPが割り当てられている。そしてQPの変化の割合は1段階である。このような性質に基づき、本実施形態に対応する符号化フォーマットでは、符号化ブロックに含まれる全てのQPの値を保持する必要がない。その代わりに、先頭(画素グループ番号:0)のQPと、QPが切り替る位置を示す画素グループ番号の情報をヘッダ部に含む。一例として、先頭のQPをqp0、QPが変化する画素グループ番号をqp_posで示すこととする。また、上記では格納すべきQP値として先頭のQP、即ち最小のQPとしたが、同様の効果は割り当てられた最大のQPとした場合でも得られる。この場合でも切り替わり位置が特定できれば正しいQPの割当てを再現することができるからである。また、本実施形態では、ヘッダ省略モードフラグの値に応じて更にヘッダ部のサイズを小さくすることが可能となる。以下、本実施形態に対応する符号化フォーマットの例を図10(b)及び図10(c)を参照して説明する。
まず図10(b)は、ヘッダ省略モードフラグが無効(0)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1011(360ビット)は、ヘッダ部1012(23ビット)と、画素データ部1013(337ビット)から構成される。ヘッダ部1012はQPを格納するQP値部1014(7ビット)とPCM/DPCM選択フラグを格納するフラグ部1015(16ビット)とで構成される。QP値部1014にはヘッダ省略モードフラグの1ビット(1016)、qp0の2ビット(1017)、qp_posの4ビット(1018)が格納される。図9(b)の例では、(0、2、6)の値が格納される。フラグ部1015には画素グループ毎に1ビットのPCM/DPCM選択フラグのフラグ値(1015_0〜1015_f)が16個分格納される。画素データ部1013には可変長符号である符号データが画素数分(3×16=48画素分)格納される。多重化された符号化データ1011はストリームデータとして出力端子102に出力され、非図示の画像メモリ、バスインターフェースに出力される。このような図10(b)のフォーマットでは、図10(a)のフォーマットに比べヘッダ部の大きさが25ビット分小さくなり、その分を画素データ部に振り分けることが可能となる。
次に、図10(c)は、ヘッダ省略モードフラグが有効(1)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1021(360ビット)は、ヘッダ部1022(1ビット)と、画素データ部1023(359ビット)から構成される。前述のように、ヘッダ省略モードでは、画素ブロックにおける各画素データのQPが一意に決定される。そのため、ヘッダ部1022にはヘッダ省略モードフラグのみが格納され、図10(b)におけるqp0、qp_posの4ビットは省略される。このフォーマットが使用される場合には、ヘッダ省略モードフラグの値1が格納される。画素データ部1023には可変長符号である符号データが画素数分(3×16=48画素分)格納される。多重化された符号化データ1021はストリームデータとして出力端子102に出力され、非図示の画像メモリ、バスインターフェースに出力される。このような図10(c)のフォーマットでは、図10(b)のフォーマットに比べてヘッダ省略モードフラグの1ビット以外の情報が不要となるのでヘッダ部が22ビットさらに小さくなる。図10(a)との比較では、ヘッダ部が47ビット小さくなり、その分を画素データ部に振り分けることが可能となる。
このように本実施形態では、符号化ブロックの全画素をPCMで固定的に符号化したことを示す1ビットのフラグ情報を導入することで、当該フラグ情報以外の他の情報をヘッダ部から省略してヘッダ部のサイズを1ビットにまで縮小することが可能となった。この結果、目標符号量のうち、画素データ部に割り当てる符号量を増やすことが可能となり、入力画像によっては、QP決定部115が決定したQPaltよりも小さなQPで符号化可能になるため、画質劣化を低減する効果が得られる。
<画像復号化部の説明>
次に、画像符号化部20で生成された符号化データを復号する、発明の実施形態に対応する画像復号化部の構成例及び動作について説明する。図2は、発明の実施形態に対応する画像復号化部40の構成例を示すブロック図である。画像処理装置100は画像復号化部40を有し、メモリ30に記憶された符号化データを復号することができる。以下、本実施形態の画像復号化部の構成例において各ブロックの動作について説明する。
図2に示す画像復号化部40は、分離部203、可変長復号化部204、加算器205、セレクタ206、逆量子化部207、予測部208で構成されている。画像復号化部40は、専用のデバイス、ロジック回路やメモリを用いてハードウェア的に一体的に構成されても良いし、或いは、複数のデバイス等で分散して構成されてもよい。或いは、メモリに記憶されている処理プログラムをCPU等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。
画像復号化部40には、非図示の画像メモリ、バスインターフェースなどを介して、画像符号化部20で生成されたストリームデータが入力端子201を介して分離部203に入力される。分離部203は入力されたストリームデータを所定のフォーマットに従ってデコードして、QP、PCM/DPCM選択フラグ、符号データの情報を分離し、処理サイクル毎に順次出力する。また、分離部203は、ヘッダにおけるヘッダ省略モードフラグが無効(値0)を示している場合は、その後に多重されているPCM/DPCM選択フラグが示す値を順次出力する。また、ヘッダ情報に含まれる先頭のQPと、QPが切り替る位置の情報に基づき、逆量子化部207、量子化部210にQPを所定のタイミングで出力する。
ヘッダにおけるヘッダ省略モードフラグが有効(値1)を示している場合、分離部203は、このブロックの全ての画素について、PCMモードを示す値をPCM/DPCM選択フラグとして出力する。また、予め定められた画素ごとのQPパターンに基づきQPを逆量子化部207と量子化部210に出力し、PCM/DPCM選択フラグはセレクタ206に出力する。当該QPパターンは、QP決定部116と同様の処理によって算出してもよいし、予め算出した値を分離部203が保持しておいてもよい。符号データのうち、PCMデータはセレクタ206に出力し、DPCMデータは可変長復号化部204に出力する。可変長復号化部204は入力されたDPCMデータの可変長復号化を行い、復号化されたDPCMデータを加算器205に出力する。加算器205は、後述の予測部208からの予測値と復号されたDPCMデータを加算して復号値を得て、セレクタ206に出力する。
セレクタ206は分離部203からのPCMデータと、加算器205からの復号値を、PCM/DPCM選択フラグに応じて切り替えて量子化データとして出力し、逆量子化部207へ出力する。逆量子化部207はQP値を用いて、セレクタ206からの量子化データを逆量子化して、復号画像データを生成し、予測部208と出力端子202に出力する。予測部208は画素遅延部209、量子化部210から構成される。逆量子化部207から入力された復号画像データは、画素遅延部209にて同じカラー要素の前値が予測値となるようカラー要素分遅延され、量子化部210にて量子化されて予測値として出力される。なお、各カラー要素の符号化ブロックの最初の画素は前画素が存在しないため、予測値としては0の値を出力する。逆量子化部207から出力された復号画像データは出力端子202を介し、外部へと出力される。
このように本実施形態では、複数の画素グループからなる符号化対象の符号化ブロック毎の固定長の符号化を行うため、まず、仮符号化系にて複数のQPで仮符号化して符号量を求め、それらの符号量から画素グループ単位に適用するQPの値を決定する。次いで本符号化系にて、決定された適用QPを用いて本符号化を行う構成とした。これにより、符号化ブロックのブロック符号長が所定値を超えない最大の値となるように各画素グループのQPの値を決定することができる。このようにしてブロック単位での効率的な符号化により、隣接画素差分が大きい画像データで生じていた画質劣化を低減することが可能となる。
さらに、符号化データのフォーマットを、画素グループ単位でPCM/DPCMを切り替える第1の符号化モードに対応するものと、全画素グループ(各画素)をPCMで固定的に符号化する第2の符号化モードに対応するものとについて、個別に定義した。また、当該符号化フォーマットに基づき、本符号化系に適用するQPを第1の符号化モードと、第2の符号化モードとのそれぞれについて求め、QPの合計が小さいモードを選択するようにした。これにより、符号化ブロック単位で量子化誤差を軽減して画質劣化を抑えつつ、効率的な符号化が可能となる。
また、第1の符号化モードで目標符号量以下に抑えることができない場合には、第2の符号化モードにて確実に目標符号量での符号化を実施可能とする。特に、第2の符号化モードに対応するヘッダ情報のデータフォーマットとして、画素ブロック内の各画素についてQP値とPCM/DPCM選択を一意に決め、ヘッダ情報を1ビットのみとするヘッダ省略モードを定義した。これにより、第1の符号化モードでは目標符号量以下にできない場合に、画素データに最大限に符号を割り当てて、画質の劣化を抑えながらも目標符号量に必ず収めることができる。
また、本実施形態では、隣接画素間の差分が大きくなる場合であっても特許文献1のようにPCM符号化の場合に符号長を10ビットから5ビットに強制的に半分にはしない。その代わり、量子化ステップ1を含む段階的に設定された複数の量子化ステップを用いて、PCM及びDPCMの各符号化結果において符号長の短いものを画素グループ毎に選択しておく。さらに、本実施形態ではグループ単位の符号長だけでなく、符号化ブロックのブロック符号長を考慮して量子化ステップを選択する。これにより、一部の画素グループにおいて符号長が大きくなったとしても、他の画素グループの符号長が小さければそこで相殺される。よって、符号化ブロック内に急峻なエッジが含まれ、当該エッジ成分で大きな符号長が費やされたとしても、エッジの前後が平坦であれば当該エッジの符号長の分はそこで吸収される。その結果として、エッジ成分を符号化する際に特許文献1のように不必要にビットを削減する必要がなくなる。
上述の発明の実施形態において、画像データのビット数は、10ビットに限定されるものではなく、8ビット、12ビットなど異なるビット数であってもよい。また、ブロックサイズは水平16画素×垂直1画に限定されるものではなく、任意のサイズでよい。例えば水平4画素×垂直4画素のように2次元構造としてもよい。
さらに、符号化対象の画像データの形式はRGB画像データに限定されるものではなく、グレースケール画像データ、カラー画像データのうちYCbCr、ベイヤー配列データなどの画像データ形式であってもよい。図4(b)は画像データ形式が輝度信号(Y)と、二つの色差信号(Cr,b)であり、YCbCr4:2:2の場合の符号化ブロックを構成する画素データと、画素グループとの関係について示す。図4(b)では、Yを2画素、Cb、Crを1画素ずつの計4画素を単位画素グループとし、符号化ブロックを4×8=32画素から構成する例を示している。ここで、符号化ブロックに含める画素グループの数はより8グループよりも多くても良い。図4(c)は、画像データ形式がベイヤー配列の場合の符号化ブロックを構成する画素データと、画素グループとの関係について示す。図4(c)では、Gを2画素、R、Bを1画素ずつの計4画素を単位画素グループとし、符号化ブロックを4×8=32画素から構成する例を示している。ここで、符号化ブロックに含める画素グループの数はより8グループよりも多くても良い。グレースケール画像については不図示であるが、グレースケール画像を構成する画素のうち隣接画素の組から画素グループを構成することができる。その際、単位画素グループには例えば3画素または4画素の隣接画素を含めることができる。
(第2の実施形態)
上記第1の実施形態では図10(b)に示すように、ヘッダ情報においてヘッダ省略モードフラグとQPとを示す領域を独立に設け、固定長の3ビットのヘッダ領域を使用していた。これに対し本実施形態では、これらを統合して可変長符号として取り扱うこととする。
図12は、本実施形態に対応する符号化データのフォーマットの一例を示す図である。まず、図12(a)は、符号語の割当て例を示す。本実施形態では、ヘッダ省略モードフラグの値とQP値との組み合わせに応じて2ビットまたは3ビットの符号語が割り当てられる。QP値は0から3までの4つの値のいずれかを取りえるが、QP値が2または3の場合に符号語がより短くなるように割当てを行うことができる。これは、QP値が大きく量子化ステップが粗い場合に、符号量を画素データにより多く割当て可能とし画質劣化を抑えるためである。またヘッダ省略モードフラグが1の場合はQP値を符号化する必要がなく、2ビットとする。但し、図12(a)に示す符号語の割り当てはあくまで一例であって、発明の実施形態はこの例に限定されるものではない。
図12(b)は、ヘッダ省略モードフラグが無効(0)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1201(360ビット)は、ヘッダ部1202(22〜23ビット)と、画素データ部1203(337〜338ビット)から構成される。ヘッダ部1202はQPを格納するQP値部1204(6〜7ビット)とPCM/DPCM選択フラグを格納するフラグ部1205(16ビット)とで構成される。QP値部1204にはヘッダ省略モードフラグの値とqp0の値との組み合わせに応じて決定される符号語1206(2〜3ビット)と、qp_pos1207(4ビット)が格納される。また、フラグ部1205には画素グループ毎に1ビットのPCM/DPCM選択フラグのフラグ値(1205_0〜1205_f)が16個分格納される。画素データ部1203には可変長符号である符号データが画素数分(3×16=48画素分)格納される。
図12(c)は、ヘッダ省略モードフラグが有効(1)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1211(360ビット)は、ヘッダ部1212(2ビット)と、画素データ部1213(358ビット)から構成される。ヘッダ部1212はヘッダ省略モードフラグの値が格納される。画素データ部1203には可変長符号である符号データが画素数分(3×16=48画素分)格納される。図12(c)では、ヘッダ部1212の符号長が2ビット、圧縮画素データの符号長が358ビットとなり、第1の実施形態の場合と比較すると局所的には圧縮画素データに割り当てられる符号量が少なくなってしまう。しかし、通常は第1の符号化モードで符号化される場合の方が多いと想定されるので、フレームやシーケンス全体でのトータルで画質の劣化を抑えることが可能となる。
本実施形態の場合、QP決定部115は、先頭のQP値の値に応じたヘッダ符号長にてQPaltを第1の実施形態の方法で決定する。また、QP決定部116は、符号割当部1301が決定した符号割当情報に従って、ヘッダ符号長を2ビットとして第1の実施形態の方法でQPpcmを決定する。多重化部123は、ヘッダ省略モードフラグの値及び適用QP値の先頭のQP値の値に応じて図12(b)及び図12(c)に示すフォーマットに従って多重化を行う。
また、本実施形態に対応する画像復号化部40の分離部203は、ヘッダ部の先頭2ビットを参照し、「11」の場合はヘッダ省略モードフラグが有効(値1)の場合の動作を行う。先頭2ビットが「11」でない場合は、ヘッダ省略モードフラグが無効(値0)の場合の動作を行う。その際、先頭2ビットが「10」または「01」で無い場合は、先頭3ビットを参照して「000」と「001」のいずれかを判定する。本実施形態では、図12(c)のように予め符号語が固定的に割り当てられているので、割当てに従ってQP値を特定した後、第1の実施形態と同様に動作を実行する。
以上のように、本実施形態ではヘッダ情報においてヘッダ省略モードフラグとQPとを統合して可変長符号として取り扱う。これにより、ヘッダ情報のビット数を可変にした上で、仮符号化によって符号化データ総量に占めるヘッダ情報のビット数分を考慮して量子化パラメータを決定することができる。よって、画像データに適切なビット割り当てることができ、特にQP値が大きく量子化ステップが粗い場合に、符号量を画素データにより多く割当てて画質劣化を抑えることが可能となる。
(第3の実施形態)
上記第2の実施形態では、ヘッダ省略モードフラグとQP値との組み合わせに対して符号語を固定的に割当てた。これに対し第3の実施形態では、フレーム単位の符号化モードの選択状況に基づき、最も選択頻度の高い符号化モードに対して最も短い符号語を割り当てることで画質の劣化を抑えることを可能とする。
図13は、本実施形態に係る画像符号化部20の構成例を示すブロック図である。本実施形態の画像符号化部20は、第1の実施形態で説明した画像符号化部20に対し、符号割当部1301が追加される点と、QP決定部115および116と多重化部123とに符号割当部1301が出力する符号割当情報が入力される点が異なる。それ以外は、第1の実施形態と同様の構成となっている。よって、画像符号化部20の全体的な動作は第1の実施形態と同様であるので、本実施形態に特有の動作について以下詳細に説明する。
符号割当部1301は、ヘッダ省略判定部117から、各画素ブロックの適用QP値と、ヘッダ省略モードフラグとが入力される。符号割当部1301は当該入力に基づき、フレームごとに各QP値が選択された回数(頻度)とヘッダ省略モードが選択された回数(頻度)とを算出する。符号割当部1301は、処理対象のフレームに先行するフレームにおいて選択される頻度が最も高いQP値に符号長が最短の符号語を割り当てるように符号割当てを決定する。先行フレームは直前フレームでもよいし、先行する複数のフレームであってもよい。符号割当部1301は、決定した符号割当てを符号割当情報としてQP決定部115および116と、多重化部123に出力する。最初のフレームの場合、予め定められた初期値を用いるものとする。
本実施形態では、符号語として図14(a)の右側に記載のものを使用する。図14は、本実施形態に対応する符号化データのフォーマットの一例を示す図である。本実施形態では、最短の符号長として1ビットの符号語を1つ用意し、それ以外は3ビットの符号長の符号語を4つ使用する。符号語は「000」、「001」、「010」、「011」を使用するが、最上位ビットは1ビットの符号語と重複するため使用しない。例えば、QP=2が選択回数が最も多い(選択頻度が最も高い)場合、QP=2に対して1ビットの符号語を割り当てる。それ以外に対しては、ヘッダ省略モードも含めて3ビットの符号語を割当てる。その際の割当て方法は任意であるが、例えば、QP値が小さい順とし最後にヘッダ省略モードの順で割り当てても良い。これは、最も使用頻度が高いQP値について、符号量を画素データにより多く割当て可能とし画質劣化を抑えるためである。
QP決定部115は、符号割当部1301が決定した符号割当情報に従い、先頭のQP値の値に応じたヘッダ符号長にてQPaltを第1の実施形態の方法で決定する。また、QP決定部116は、符号割当部1301が決定した符号割当情報に従うヘッダ符号長につき、第1の実施形態の方法でQPpcmを決定する。多重化部123は符号割当部1301が決定した符号割当情報に従って、図14(b)および図14(c)に示すフォーマットに従って多重化を行う。符号割当情報は、フレームの先頭の符号化データに配置されるフレームのヘッダ情報に格納して画像復号化部40に通知される。
図14(b)は、ヘッダ省略モードフラグが無効(0)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1401(360ビット)は、ヘッダ部1402(21〜23ビット)と、画素データ部1403(337〜339ビット)から構成される。ヘッダ部1402はQPを格納するQP値部1404(5〜7ビット)とPCM/DPCM選択フラグを格納するフラグ部1405(16ビット)とで構成される。QP値部1404にはヘッダ省略モードフラグの値とqp0の値との組み合わせに応じて決定される符号語1406(1〜3ビット)と、qp_pos1407(4ビット)が格納される。フラグ部1405には画素グループ毎に1ビットのPCM/DPCM選択フラグのフラグ値(1405_0〜1405_f)が16個分格納される。画素データ部1403には可変長符号である符号データが画素数分(3×16=48画素分)格納される。
図14(c)は、ヘッダ省略モードフラグが有効(1)を示す場合の符号化フォーマットのデータ構造の一例を示す図である。ブロックの全体の符号化データ1411(360ビット)は、ヘッダ部1412(1〜3ビット)と、画素データ部1413(357〜359ビット)から構成される。ヘッダ部1412は図14(a)の5つの符号語のうちのいずれかが格納される。1フレーム内でヘッダ省略モードフラグが有効となる回数が最も多い場合には、ヘッダ部1412のサイズは1ビットとなる。もし、いずれかのQP値の選択回数の方が、ヘッダ省略モードフラグが有効となる回数よりも多い場合は、ヘッダ部1412のサイズは3ビットとなる。
画素データ部1413には可変長符号である符号データが画素数分(3×16=48画素分)格納される。図14(c)では、ヘッダ部1412の符号長が3ビットで、圧縮画素データの符号長が357ビットとなる場合が含まれる。これを第1や第2の実施形態の場合と比較すると、局所的には画素データ部に割り当てられる符号量が少なくなる場合もある。しかし、発生頻度が最も高い条件について画素データ部により多くの符号長が割り当てられるので、フレームやシーケンス全体でのトータルで画質の劣化を抑えることが可能となる。
また、本実施形態に対応する画像復号化部40の分離部203は予め画像符号化部20から受け取った符号割当情報に従い、ヘッダ省略モードフラグとQP値とを判定する。そして、第1の実施形態と同様にして、ヘッダ省略モードフラグが有効(値1)の場合の動作、及び、ヘッダ省略モードフラグが無効(値0)の場合の各QP値についての動作を行う。
本実施形態では、ヘッダ情報においてヘッダ省略モードフラグとQPとを統合して可変長符号として取り扱うに当り、符号語の割当てをフレーム単位の選択頻度に基づくこととした。これにより、フレーム単位に最も使用頻度の高い符号化モードに対して最も短い符号語を割り当てられ、ヘッダ部の符号量が平均的に短く済む。よって、画素データ部により多くの符号量を割り当てることができ、画質の劣化を抑えることができる。
10:取得部、20:画像符号化部、30:メモリ、101:入力端子、102:出力端子、110:仮符号化系、120:本符号化系

Claims (19)

  1. それぞれが所定数の画素からなる複数のグループを含む符号化対象のブロックの符号長が、前記符号化対象のブロックの目標符号量に応じた所定値を超えないように、前記グループごとに、前記グループの画像データの符号化処理における量子化のための量子化ステップと符号化方式とを決定する決定手段であって、
    前記符号化対象のブロックにおける前記グループごとに、量子化された画像データを出力する第1の符号化方式と、量子化された画像データと予測データとの差分を符号化したデータを出力する第2の符号化方式とのうち、符号長がより小さくなる符号化方式を選択する第1の符号化モードと、前記符号化対象のブロックにおける前記複数のグループの全てについて前記第1の符号化方式を選択する第2の符号化モードとのうち、前記複数のグループのそれぞれに割り当てられる量子化ステップの値の合計がより小さくなる符号化モードを、前記符号化対象のブロックを単位として選択し、
    前記選択した符号化モードに従い前記複数のグループのそれぞれについて前記符号化方式と前記量子化ステップとを決定し、前記量子化ステップを、少なくとも第1の量子化ステップと、前記第1の量子化ステップよりも小さい第2の量子化ステップとを含むように決定する決定手段と、
    前記決定手段により選択された符号化モードに従って符号化対象のブロックの画像データを符号化する符号化手段であって、前記符号化対象のブロックに含まれる前記グループごとに前記決定手段が決定した前記量子化ステップと前記符号化方式とに基づき前記符号化処理を行う符号化手段とを備える
    ことを特徴とする画像符号化装置。
  2. 前記決定手段は、前記第1の符号化モードで符号化した場合の前記符号化対象のブロックの符号長が前記所定値以下にならない場合、前記量子化ステップの値の前記合計の大小にかかわらず前記第2の符号化モードを選択することを特徴とする、請求項1に記載の画像符号化装置。
  3. 前記符号化手段は、前記第1の符号化モードにおいて前記符号化対象のブロックの目標符号量のうち前記符号化処理により得られる符号化データに割り当てる符号量を、前記第2の符号化モードにおいて前記ブロックの目標符号量のうち前記符号化処理により得られる符号化データに割り当てる符号量よりも小さくすることを特徴とする請求項1または2に記載の画像符号化装置。
  4. 前記決定手段は、前記符号化対象のブロックに含まれる前記グループの全てについて前記第1の量子化ステップを用いて量子化を行い、該グループのそれぞれについて前記決定された符号化方式で画像データを符号化した場合の前記符号化対象のブロックの符号長が前記所定値を超えず、且つ、最大の値となる量子化ステップを、前記第1の量子化ステップとして決定することを特徴とする請求項1から3のいずれか1項に記載の画像符号化装置。
  5. 前記決定手段は、前記複数のグループのうち、少なくとも前記符号化対象のブロックの先頭のグループに対して前記第2の量子化ステップを割り当てることを特徴とする、請求項1から4のいずれか1項に記載の画像符号化装置。
  6. 前記決定手段は、前記複数のグループのうち、前記先頭のグループを含む連続する複数のグループに対して前記第2の量子化ステップを割り当てることを特徴とする、請求項5に記載の画像符号化装置。
  7. 前記決定手段は、前記複数のグループのうち、前記連続する複数のグループを除いたグループに対して前記第1の量子化ステップを割り当てることを特徴とする、請求項6に記載の画像符号化装置。
  8. 前記第2の量子化ステップは、複数の異なる量子化ステップを含み、
    前記決定手段は、前記符号化対象のブロックの先頭のグループに対し、前記複数の異なる量子化ステップのうち最小の量子化ステップを割り当てることを特徴とする、請求項6または7に記載の画像符号化装置。
  9. 前記決定手段は、前記複数のグループのうち一部のグループに前記第2の量子化ステップを割り当て、前記複数のグループの残りのグループに前記第1の量子化ステップを割り当て、
    前記一部のグループは、
    前記一部のグループのそれぞれを前記第2の量子化ステップを用いて量子化し、該一部のグループのそれぞれについて前記決定された符号化方式で符号化した場合の符号長の第1の合計と、
    前記残りのグループのそれぞれを前記第1の量子化ステップを用いて量子化し、該残りのグループのそれぞれについて前記決定された符号化方式で符号化した場合の符号長の第2の合計と
    の合計が、前記所定値を超えず、且つ、最大の値となるように決定されることを特徴とする、請求項1から8のいずれか1項に記載の画像符号化装置。
  10. 前記決定手段は、前記第2の符号化モードを選択する場合に、前記量子化ステップを前記符号化対象のブロックに含まれる画素ごとに決定することを特徴とする請求項1から9のいずれか1項に記載の画像符号化装置。
  11. 前記符号化手段は、前記符号化対象のブロックの画像データを符号化することにより得られた符号化データに対し、前記決定手段が前記第1の符号化モードと前記第2の符号化モードとのいずれを選択したかを識別するためのフラグ情報を含むヘッダを多重することを特徴とする、請求項1から10のいずれか1項に記載の画像符号化装置。
  12. 前記符号化手段は、前記決定手段により前記第2の符号化モードが選択された場合、前記フラグ情報以外の情報を含まないヘッダを前記符号化データに多重し、
    前記ブロックの目標符号量のうち、前記ヘッダのサイズを除くサイズを前記符号化処理により得られた符号化データに割り当てることを特徴とする請求項11に記載の画像符号化装置。
  13. 前記符号化手段は、前記決定手段が選択した符号化モードと、前記第1の量子化ステップまたは前記第2の量子化ステップの情報との組み合わせに基づく符号語を含むヘッダを多重することを特徴とする、請求項1から10のいずれか1項に記載の画像符号化装置。
  14. 前記決定手段は、前記第1の量子化ステップと前記第2の量子化ステップとを、所定数の量子化ステップの中から決定し、
    前記符号化手段は、前記所定数の量子化ステップのうち、より粗い量子化ステップを含む組み合わせに対して符号量の少ない前記符号語を割り当てることを特徴とする請求項13に記載の画像符号化装置。
  15. 前記決定手段は、前記第1の量子化ステップと前記第2の量子化ステップとを、所定数の量子化ステップの中から選択し、
    前記符号化手段は、処理対象のフレームに先行するフレームにおける前記符号化モードの選択頻度と、前記所定数の量子化ステップのそれぞれの選択頻度とに基づき、選択頻度がもっとも高い組み合わせに対して符号量が最小の前記符号語を割り当てることを特徴とする請求項13に記載の画像符号化装置。
  16. 前記画像データがカラー画像データである場合に、前記グループは該カラー画像データを構成するカラー要素の組であることを特徴とする、請求項1から15のいずれか1項に記載の画像符号化装置。
  17. 前記画像データがグレースケール画像データである場合に、前記グループは該グレースケール画像データを構成する隣接画素の組であることを特徴とする、請求項1から15のいずれか1項に記載の画像符号化装置。
  18. 画像を取得する取得手段と、
    前記取得手段が取得した前記画像を符号化処理する請求項1から17のいずれか1項に記載の画像符号化装置と
    を備えることを特徴とする画像処理装置。
  19. 画像符号化装置が実行する画像符号化方法であって、
    前記画像符号化装置の決定手段が、それぞれが所定数の画素からなる複数のグループを含む符号化対象のブロックの符号長が、前記符号化対象のブロックの目標符号量に応じた所定値を超えないように、前記グループごとに、前記グループの画像データの符号化処理における量子化のための量子化ステップと符号化方式とを決定する決定工程であって、
    前記符号化対象のブロックにおける前記グループごとに、量子化された画像データを出力する第1の符号化方式と、量子化された画像データと予測データとの差分を符号化したデータを出力する第2の符号化方式とのうち、符号長がより小さくなる符号化方式を選択する第1の符号化モードと、前記符号化対象のブロックにおける前記複数のグループの全てについて前記第1の符号化方式を選択する第2の符号化モードとのうち、前記複数のグループのそれぞれに割り当てられる量子化ステップの値の合計がより小さくなる符号化モードを、前記符号化対象のブロックを単位として選択し、
    前記選択された符号化モードに従い前記複数のグループのそれぞれについて前記符号化方式と前記量子化ステップとが決定され、前記量子化ステップは、少なくとも第1の量子化ステップと、前記第1の量子化ステップよりも小さい第2の量子化ステップとを含むように決定する決定工程と、
    前記画像符号化装置の符号化手段が、前記決定工程において選択された符号化モードに従って符号化対象のブロックの画像データを符号化する符号化工程であって、前記符号化対象のブロックに含まれる前記グループごとに前記決定工程で決定された前記量子化ステップと前記符号化方式とに基づき前記符号化処理を行う符号化工程と
    を含むことを特徴とする画像符号化方法。
JP2015116027A 2015-06-08 2015-06-08 画像符号化装置、画像処理装置、画像符号化方法 Active JP6502753B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015116027A JP6502753B2 (ja) 2015-06-08 2015-06-08 画像符号化装置、画像処理装置、画像符号化方法
DE102016110417.5A DE102016110417A1 (de) 2015-06-08 2016-06-06 Bildverarbeitungsvorrichtung und bildverrbeitungsverfahren
US15/175,876 US10027958B2 (en) 2015-06-08 2016-06-07 Coding apparatus and method for encoding image data
GB1609994.7A GB2541088B (en) 2015-06-08 2016-06-08 Image processing apparatus, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015116027A JP6502753B2 (ja) 2015-06-08 2015-06-08 画像符号化装置、画像処理装置、画像符号化方法

Publications (2)

Publication Number Publication Date
JP2017005433A true JP2017005433A (ja) 2017-01-05
JP6502753B2 JP6502753B2 (ja) 2019-04-17

Family

ID=56508248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015116027A Active JP6502753B2 (ja) 2015-06-08 2015-06-08 画像符号化装置、画像処理装置、画像符号化方法

Country Status (4)

Country Link
US (1) US10027958B2 (ja)
JP (1) JP6502753B2 (ja)
DE (1) DE102016110417A1 (ja)
GB (1) GB2541088B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6626295B2 (ja) * 2015-09-09 2019-12-25 キヤノン株式会社 画像符号化装置、画像処理装置、画像符号化方法
JP7040058B2 (ja) * 2018-01-31 2022-03-23 株式会社リコー 符号化装置
US10674152B2 (en) * 2018-09-18 2020-06-02 Google Llc Efficient use of quantization parameters in machine-learning models for video coding
US10554975B1 (en) 2018-09-30 2020-02-04 Tencent America LLC Method and apparatus for video coding
US20220020180A1 (en) * 2020-07-16 2022-01-20 Samsung Electronics Co., Ltd. Image compression method using saturated pixel, encoder, and electronic device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02243080A (ja) * 1989-03-16 1990-09-27 Nec Corp テレビ信号符号化回路
JPH02312383A (ja) * 1989-05-26 1990-12-27 Canon Inc 符号化及び復号化装置
US20090135921A1 (en) * 2007-11-28 2009-05-28 Shawmin Lei Two-Dimensional DPCM with PCM Escape Mode
JP2012114876A (ja) * 2010-11-29 2012-06-14 Sharp Corp 画像符号化装置、画像符号化方法
JP2013126139A (ja) * 2011-12-15 2013-06-24 Sharp Corp 画像符号化装置、画像復号化装置、画像符復号化システム、画像符号化方法及び画像復号化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3125543B2 (ja) * 1993-11-29 2001-01-22 ソニー株式会社 信号符号化方法及び装置、信号復号化方法及び装置、並びに記録媒体
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
JP4410989B2 (ja) * 2002-12-12 2010-02-10 キヤノン株式会社 画像処理装置及び画像復号処理装置
JP4612716B2 (ja) 2007-10-01 2011-01-12 シャープ株式会社 画像符号化装置、画像符号化方法、画像符復号化システム
CN102648627B (zh) 2009-09-10 2015-03-04 杜比实验室特许公司 率失真优化量化的加速技术

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02243080A (ja) * 1989-03-16 1990-09-27 Nec Corp テレビ信号符号化回路
US5191422A (en) * 1989-03-16 1993-03-02 Nec Corporation Clamp level setting method for television signals
JPH02312383A (ja) * 1989-05-26 1990-12-27 Canon Inc 符号化及び復号化装置
US20090135921A1 (en) * 2007-11-28 2009-05-28 Shawmin Lei Two-Dimensional DPCM with PCM Escape Mode
JP2012114876A (ja) * 2010-11-29 2012-06-14 Sharp Corp 画像符号化装置、画像符号化方法
JP2013126139A (ja) * 2011-12-15 2013-06-24 Sharp Corp 画像符号化装置、画像復号化装置、画像符復号化システム、画像符号化方法及び画像復号化方法

Also Published As

Publication number Publication date
GB2541088B (en) 2017-11-29
GB201609994D0 (en) 2016-07-20
US20160360196A1 (en) 2016-12-08
GB2541088A (en) 2017-02-08
US10027958B2 (en) 2018-07-17
JP6502753B2 (ja) 2019-04-17
DE102016110417A1 (de) 2016-12-08

Similar Documents

Publication Publication Date Title
JP6512928B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
JP6626295B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
KR20220104140A (ko) 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치
JP4732203B2 (ja) 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US20120128064A1 (en) Image processing device and method
JP6502753B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
US8780980B2 (en) Video image encoding device
US11223827B2 (en) Image encoding device, image decoding device, and the programs thereof
JP2005348390A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP6502739B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
JPWO2010035433A1 (ja) 画像符号化装置、デジタルスチルカメラ、デジタルビデオカメラ、撮像素子、および画像符号化方法
JP5759387B2 (ja) 符号化装置および復号装置
KR20130099852A (ko) 화면 내 예측 모드의 부호화 방법 및 복호화 방법
CN116489360A (zh) 一种图像编解码方法及装置
CN110087074B (zh) 图像处理装置和用于操作图像处理装置的方法
JP6985924B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
US20130279818A1 (en) Image encoding apparatus and method, image decoding apparatus and method, and non-transitory computer readable medium
US11503296B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US9420292B2 (en) Content adaptive compression system
JP7121584B2 (ja) 画像符号化装置及びその制御方法及びプログラム
JP5591838B2 (ja) 画像符号化装置、及び方法
JP7444541B2 (ja) 画像符号化装置、画像復号化装置、撮像装置、画像符号化方法、画像復号化方法、及びプログラム
JP7340658B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
CN117203960A (zh) 视频编码中的旁路对齐
JP2009004878A (ja) 画像処理装置、画像処理方法および画像処理プログラム、並びに撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190322

R151 Written notification of patent or utility model registration

Ref document number: 6502753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151