JP2021103875A - 画像符号化装置及び画像復号装置、並びにそれらの制御方法及びプログラム、及び、撮像装置 - Google Patents

画像符号化装置及び画像復号装置、並びにそれらの制御方法及びプログラム、及び、撮像装置 Download PDF

Info

Publication number
JP2021103875A
JP2021103875A JP2020176235A JP2020176235A JP2021103875A JP 2021103875 A JP2021103875 A JP 2021103875A JP 2020176235 A JP2020176235 A JP 2020176235A JP 2020176235 A JP2020176235 A JP 2020176235A JP 2021103875 A JP2021103875 A JP 2021103875A
Authority
JP
Japan
Prior art keywords
image
pixel
data
unit
coding
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.)
Pending
Application number
JP2020176235A
Other languages
English (en)
Other versions
JP2021103875A5 (ja
Inventor
祐輔 堀下
Yusuke Horishita
祐輔 堀下
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
Publication of JP2021103875A publication Critical patent/JP2021103875A/ja
Publication of JP2021103875A5 publication Critical patent/JP2021103875A5/ja
Pending legal-status Critical Current

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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/182Methods 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 a pixel
    • 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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】固定長の符号化データを生成しながら、画質劣化を抑制した符号化データを生成する。【解決手段】画像符号化装置は、ブロックの画像データを取得する取得部と、取得した画像データを符号化し、固定長を超えない符号量の符号化データを生成し、固定長となるための不足分のビットを付加して出力する画像符号化部を有する。画像符号化部20は、着目ブロックの符号量が固定長以下となるように、着目ブロックに含まれる各画素を量子化し、可変長符号化する符号化部と、符号化部で得た着目ブロックの符号量と固定長との差から、固定長となるための空き領域のサイズを判定する判定部と、着目ブロックの各画素の量子化データを解析し、各画素の重要度を示す指標値を算出する解析部と、指標値が示す重要度が大きい画素ほど量子化で損失した多くのビットの値を空き領域に格納して、符号化データと量子化で損失したビットとを多重化する多重化部とを含む。【選択図】図2

Description

本発明は、画像の符号化、復号技術に関するものである。
近年、デジタルビデオカメラなどの撮像装置は、高解像度化、高フレームレート化に伴って、システムで扱う単位時間当たりの画像データ量が著しく増加している。このため、装置内の画像メモリやバスインタフェース回路の高速化が要求されている。これに対し、画像メモリやバスインタフェースの前後で画像の圧縮符号化を行うことが考えられる。すなわち、バスインタフェース上の単位時間当たりのデータ量を抑制することで、回路の高速化の要求度合いを緩和するものである。
この場合、圧縮符号化のための符号化方式は、回路規模及び符号化遅延の小さいことが望まれる。そのため、従来のJPEGやMPEG2に代表されるDCTベースの符号化方式は不向きである。そこで、DPCM(Differential Pulse Code Modulation:差分パルス符号変調)ベースの予測符号化方式での圧縮符号化が提案されている(例えば特許文献1)。
特開2016−213528号公報
ところで、符号化対象の画素ブロック内に急峻なエッジが存在し、そのエッジの存在を保持するためにはエッジ成分に大きな符号長を割り当てる必要がある。しかし、その画素ブロックの符号量を固定とするためには、その画素ブロック全体に対する量子化ステップを大きくする必要がある。その結果、エッジ成分は維持されるようになるものの、元の画素データのディテールが失われ、大きな画質劣化の原因となる。
本発明は上記課題に鑑みてなされたものであり、固定長の符号化データを生成しながらも、符号化ブロック内に急峻なエッジなど複雑な画像が存在した場合にこれまでよりも画質劣化を抑制した符号化データを生成する技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
所定の画素数で構成されるブロックを単位として符号化し、予め設定された固定長の符号化データを生成し、出力する画像符号化装置であって、
画像発生源から、前記ブロックの画像データを取得する取得手段と、
該取得手段で取得した画像データを符号化し、前記固定長を超えない符号量の符号化データを生成し、前記固定長となるための不足分のビットを付加して出力する符号化処理手段とを有し、
前記符号化処理手段は、
着目ブロックの符号量が前記固定長以下となるように、当該着目ブロックに含まれる各画素を量子化し、当該量子化で得た量子化データを可変長符号化する可変長符号化手段と、
該可変長符号化手段で得た前記着目ブロックの符号量と前記固定長との差から、当該固定長となるための空き領域のサイズを判定する判定手段と、
前記着目ブロックの各画素の量子化データを解析し、各画素の重要度を示す指標値を算出する解析手段と、
前記指標値が示す重要度が大きい画素ほど前記量子化で損失した多くのビットの値を前記空き領域に格納することで、前記可変長符号化手段で得た符号化データと量子化で損失したビットとを多重化し、前記固定長のデータを生成する多重化手段とを含むことを特徴とする。
本発明によれば、固定長の符号化データを生成しながらも、符号化ブロック内に急峻なエッジなど複雑な画像が存在した場合であっても、これまでよりも画質劣化を抑制した符号化データを生成することが可能になる。
実施形態における画像処理装置のブロック構成図。 画像符号化部のブロック構成図。 画像復号化部のブロック構成図。 符号化部の詳細を示すブロック構成図。 符号化対象となる画像データの形式を示す図。 量子化データと損失ビットについての説明するための図。 符号化モード及び適用QPの決定処理のフローチャート。 図7のS704の処理の詳細を示すフローチャート。 ブロック符号長と劣化度の関係の具体例を示す図。 特徴解析処理を示すフローチャート。 図10のS1004の特徴分類方法を示すフローチャート。 DPCMモードにおける符号化データのフォーマットを示す図。 DPCMモードにおいて損失ビットを格納する方法の説明図。 PCMモードにおける符号化データのフォーマットを示す図。 第2の実施形態における特徴解析部における特徴解析処理を示すフローチャート。 第2の実施形態における特徴解析処理で生成される各サブバンドの具体例を示す図。 第3の実施形態における符号化モード及び適用QPの決定処理のフローチャート。 第3の実施形態におけるPCMモードでの符号化データのフォーマットを示す図。 第3の実施形態におけるPCMモードにおいて損失ビットを格納する方法の説明図。 第4の実施形態における画像処理装置のブロック構成図。 第4の実施形態における撮像部のブロック構成図。 第4の実施形態における画素部から水平転送回路までの信号の流れを示す図。 第4の実施形態における画素部の画素配列を示す図。 第4の実施形態における画素部の露光時間の設定を示す図。 第4の実施形態における撮像部が通常モードで動作する場合の画像の出力形式を示す図。 第4の実施形態における撮像部がHDRモードで動作する場合の画像の出力形式を示す図。 第4の実施形態における画像合成部のブロック構成図。 第4の実施形態におけるゲイン補正部の行う補正の詳細を示す図。 第4の実施形態における合成部が行う低感度画像と高感度画像の合成方法の一例を示す図。 第4の実施形態における撮像部がHDRモードで動作する場合の、特徴解析部における特徴解析処理の概要を示すフローチャート。 第4の実施形態における撮像部がHDRモードで動作する場合の、特徴解析部における特徴解析処理の詳細を示すフローチャート。 第4の実施形態における撮像部がHDRモードで動作する場合の、特徴解析部における特徴解析処理の詳細を示すフローチャート。 第4の実施形態における撮像部がHDRモードで動作する場合の、特徴解析部における特徴解析処理の詳細を示すフローチャート。 第4の実施形態における撮像部がHDRモードで動作する場合の、特徴解析部における特徴解析処理の詳細を示すフローチャート。 第5の実施形態における列アンプのうち、ある列だけを抜き出した回路の構成を示す図。 第6の実施形態における撮像部の動作タイミング例を示す図。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
<画像処理装置の全体の説明>
図1は、画像符号化装置及び画像復号化装置の機能を持つ画像処理装置100の構成を示すブロック図である。画像処理装置100は、取得部10、画像符号化部20、メモリ30、画像復号部40を有する。
画像処理装置100の各ブロックの機能は、撮像素子やメモリ30の記憶素子のような物理的デバイスを除き、ソフトウェア及びハードウェアのいずれによって実装されていてもよい。例えば、各ブロックの機能は、専用のデバイス、ロジック回路、及びメモリなどのハードウェアにより実装されてもよい。或いは、各ブロックの機能は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するCPU等のコンピュータにより実装されてもよい。画像処理装置100は、例えばデジタルカメラとして実施することができるが、それ以外の装置として実施することもできる。例えば、画像処理装置100は、パーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末又は撮像装置として実施することができる。
取得部10は、画像発生源から画像データを取得する機能を有する。画像発生源は、例えば、撮像素子を備える撮像部であってもよいし、外部から伝送路を介して画像データを受信する通信部であってもよい。或いは、取得部10は、記録媒体などから画像データを読み出すインタフェースを介して取得してもよい。また、取得される画像データは、静止画データであってもよいし、動画データであってもよい。取得部10が取得する画像データが動画データの場合、複数のフレームが連続的に取得されてもよい。取得部10は、取得した画像データを、画像符号化部20に供給する。
画像符号化部20は、取得部10から供給される画像データを、後述する符号化方式に従って符号化し、情報量が圧縮された符号化データを出力する。出力された符号化データは、メモリ30に記憶される。このメモリ30は、バッファメモリとして機能し、画像符号化部20から出力された符号化データを記憶するために必要な記憶容量を有する。
画像復号部40は、メモリ30に保持された符号化データを読み出し、後述する復号方式により画像データに復号し、復号化画像データを後段の処理部(不図示)に出力する。
なお、図1では、取得部10、画像符号化部20、メモリ30、及び画像復号部40の各々を独立して図示しているが、これらのブロックの一部又は全部が1チップに統合されていてもよい。
<画像符号化部の説明>
本実施形態の画像符号化部20は、所定の画素数で構成される着目ブロックに含まれる各画素を符号化し、予め設定された固定長以下の符号量の符号化データを生成し、固定長となるための不足分のビット(後述する損失ビット)を付加して出力する。図2は、本実施形態の画像符号化部20のブロック構成図である。以下、同図を参照してその構成と動作を説明する。
画像符号化部20は、仮符号化系210及び本符号化系220を含む。仮符号化系210は、符号化部211A〜211D及びQP決定部215を含み、本符号化系220が本符号化を行う際に使用する符号化モード及び量子化パラメータ(QP)を決定するように動作する。本符号化系220は、遅延部221、符号化部211E、多重化部223、逆量子化部224、及び特徴解析部225を含む。そして、本符号化系220は、仮符号化系210で決定された符号化モード及びQPに従って、量子化処理を含む本符号化を実行するように動作する。なお、以下の説明においては、符号化部211A〜211Eは、その内部構成が同じであるので、これらを総称して符号化部211と呼ぶ場合がある。
画像符号化部20は、専用のデバイス、ロジック回路、及びメモリなどを含む一体的なハードウェアとして構成されてもよいし、複数のデバイス等で分散して構成されてもよい。或いは、画像符号化部20は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するCPU等のコンピュータにより実装されてもよい。
画像符号化部20は、取得部10が取得した符号化対象となる画像データを、入力端子201を介して入力する。以下の説明においては、画像データの形式として、図5(a)に示すRGB形式を例として用いるものとする。また、画像データは、ラスタースキャン順に入力され、各カラー要素であるR(赤)、G(緑)、B(青)の各画素データは、時分割に多重されており順次入力されるものとする。また、本実施形態における各画素のビット深度は10ビットであるものとする。なお、画像データの形式やビット深度は図5(a)に示すRGB形式に限定されない。なお、入力する画像データの形式は、図5(b)に示すYCbCr4:2:2の形式であってもよいし、図5(c)に示すベイヤー配列の形式であってもよい。さらに、画像データのビット深度は8ビットや12ビットなどであってもよい。
<符号化ブロックの説明>
本実施形態において画像符号化部20が実行する画像符号化処理では、符号化対象の画像データは、所定サイズ(画素数)を有するブロック(符号化ブロック)に分割され、符号化ブロック単位に符号化が行われるものとする。以下の説明においては、図5(a)に示すように、符号化ブロックは水平8画素×垂直1画素×3色成分=24個のデータにより構成されるものとする。図5(a)に示すように、符号化ブロックは、R、G、Bの各色成分を持つ計8画素で構成され、ラスタースキャン順にR0、G0、B0、R1、G1、B1、…の順に並んでいる。R0、G0,B0は1つの画素を構成する色成分を表すが、実施形態では、個々の色成分を便宜的に「画素」と言う。故に、図5(a)では、24個のデータについても0乃至23の画素番号を割り当てている。そして、符号化は、符号化ブロック内の画素番号が小さいものから順に処理されるものとする。
なお、符号化ブロックの構成は、図5(a)に示す構成に限定されない。例えば、前述したYCbCr4:2:2の形式の画像データの場合、図5(b)に示すように、符号化ブロックは、Yが16個、Cbが8個、Crが8個の計32個のデータから構成されてもよい。図5(b)の場合、画素番号は0乃至31が割り当てられることになる。
或いは、前述したベイヤー配列の形式の画像データの場合、図5(c)に示すように、符号化ブロックは、Grが8個、Gbが8個、Rが8個、Bが8個の計32個から構成されてもよい。図5(c)は、画素番号は0乃至31が割り当てられることになる。なお、或いは、ベイヤー配列の場合、水平24画素、垂直2画素のように2次元構造であってもよい。
本実施形態では、図5(a)に示す符号化ブロックに対する圧縮率は、6/10として説明を行う。符号化前の画像データの情報量は、符号化ブロックあたり24画素×10ビット=240ビットであるため、各符号化ブロックの目標符号量は144ビットとなる。また、画像符号化部20は、各符号化ブロックについて、前述の目標符号量を上回らないように符号化モード及びQPを選択する。符号化モードには、量子化された画像データを符号データとして用いるPCMモードと、画像データを量子化した後に予測値との差分値を符号化するDPCMモードとがある。なお、目標符号量の144ビットは、あくまで、理解を容易にするための例示であると理解されたい。
<符号化部211の詳細>
図3は、符号化部211(符号化部211A乃至211E)の詳細な構成を示すブロック図である。図3に示すように、符号化部211は、量子化部301、予測部302、減算器303、可変長符号化部304、符号長算出部305、セレクタ307、及びセレクタ308を含む。
符号化部211には、符号化ブロック単位の画像データ、符号化モードフラグ、及び量子化パラメータQPが与えられる。仮符号化系210の場合、QPは符号化部211A〜211Dのそれぞれに対して固定値として予め割り当てられている。実施形態では、図2に示すように、符号化部211Aから211Dの順に、QPとして0、1、2、3がそれぞれ割り当てられている。仮符号化系210の場合、符号化部211A〜211Dの各々が予めQPの値を保持していてもよい。また、仮符号化系210の場合、符号化モードフラグは、DPCMモードを示す固定値として入力される。仮符号化系210で決定された符号化モードフラグ及びQPは、QP決定部215から、本符号化系220の符号化部211Eに、遅延部221を介して供給される。以下、符号化部211の具体的構成及びその動作について詳述する。
まず、符号化部211に入力された符号化ブロックの画像データ(実施形態では、図5(a)の24個の画素データ)は、量子化部301に入力される。量子化部301は、与えられたQPに従って入力画像データの各画素データを量子化し、量子化データと、量子化によって損失したビットデータ(損失ビットと呼ぶ)を生成する。そして、量子化部301は、生成した量子化データを、予測部302、減算器303、及び、符号化部211の外部それぞれに出力する。また、量子化部301は、生成した損失ビットを、符号化部211の外部に出力する。
本実施形態では、QPの値を、0を最小値とする整数値とし、0から3までの範囲で変更できるものとして説明を行う。しかしながら、より大きなQPの値を設定して更に大きな量子化ステップを使用してもよい。
本実施形態において、量子化部301は、QPが小さいほど量子化ステップを小さく(細かく)し、QPが大きいほど量子化ステップを大きく(粗く)する。具体的には、量子化データは式1で表される演算により生成され、損失ビットは式2で表される演算により生成される。
Quant= Data >> QP …(1)
Loss = Data − (Quant << QP) …(2)
ここで、Quantは量子化データ、Lossは損失ビット、Dataは入力画像データ、QPは量子化パラメータである。また、>>は右シフト算を示し、<<は左シフト算を示している。上記を別な言い方で表すとするなら、量子化データQuantは、画素データの値を2QPで除算した際の商であり、その有効ビット数が10ビットから10−QPビットに減じられることを示している。また、損失ビットLossはその除算にて切り捨てられる余りを表し、そのビット数はQPであることを示している。
ここで、図6(a)〜(d)を参照して、量子化データと損失ビットについて説明する。図6(a)〜(d)は、画像データの符号化ブロックの全ビットを示す図であって、水平方向に24個の画素データの並びを表しており、垂直方向に10ビットのビット深度(bit0〜bit9)を表している。
図6(a)は、QP=0に対応する量子化データ(符号化部211Aの量子化部301の出力)を表しており、入力データは量子化されずにそのまま出力されることを示している。この場合、損失ビットは存在しない。
図6(b)は、QP=1に対応する量子化データ及び損失ビット(符号化部211Bの量子化部301の出力)を表しており、上位9ビットが量子化データとして出力され、下位1ビットが損失ビットとして出力されることを示している。
図6(c)は、QP=2に対応する量子化データ及び損失ビット(符号化部211Cの量子化部301の出力)を表しており、上位8ビットが量子化データとして出力され、下位2ビットが損失ビットとして出力されることを示している。
図6(d)は、QP=3に対応する量子化データ及び損失ビット(符号化部211Dの量子化部301の出力)を表しており、上位7ビットが量子化データとして出力され、下位3ビットが損失ビットとして出力されることを示している。
本実施形態において、例えばQPを“A”から“A+1”(実施形態ではAは0,1,2のいずれか)に1つ増加させることを、量子化ステップを1段上げる、1段大きくする、もしくは、1段粗くする等と表現する。逆に、QPを“B”から“B−1”(実施形態ではBは、1,2,3のいずれか)に1つ減少させることを、量子化ステップを1段下げる、1段小さくする、もしくは1段細かくする等と表現する。
なお、本実施形態ではQPが1増える毎に、量子化データが1ビット減少するような量子化を行ったが、必ずしもこの方法に限定されない。例えば、量子化部301は、非線形量子化を行うこともできる。
符号長算出部305は、量子化部301から出力された1画素当たりの量子化データの符号長を、画像データのビット深度(本実施形態では10ビット)とQPから、次式(3)を用いて決定する。
量子化データ長=画像データのビット深度−QP …(3)
本実施形態では、QPの値が1増える毎に、量子化データの符号長が1ビットずつ減少する。よって、QP=0を初期値として、QPが1増える毎に、量子化データの符号長は10ビットから1ビットずつ短くなる。ここで、仮符号化系210では、QPの値は符号化部211A〜211Dのそれぞれについて固定的に割り当てられているので、量子化データ符号長も固定値となる。よって、符号長算出部305は、式3の演算により量子化データ符号長を算出するのではなく、割り当てられたQPの値に基づく量子化データ符号長の固定値を保持して出力する構成であってもよい。符号長算出部305は、決定した量子化データ符号長をセレクタ308に出力する。
次に、予測部302の動作を説明する。予測部302は、周辺の量子化データを用いて現在の量子化データの予測データ(現在の画素の量子化値の予測値)を生成する。簡易な方法としては、同じ色成分の前画素をそのまま予測データとする方法がある。例えば、本実施形態では、図5(a)に示すようにRGBの各カラー要素の画像データが順に入力され、画像データG0の符号化後、次にG1を符号化するまでに、画像データB0、R1を先に符号化する。よって、予測部302は、量子化データを3画素分遅延させて予測データとして出力する。また、予測部302は、同じ色成分の複数の前画素を用いて、線形予測などの演算を行ってもよい。あるいは、符号化ブロックが2次元構造であれば、同じ色成分の周辺画素による平面予測や、JPEG−LSで採用されているMED予測などの演算を行ってもよい。なお、各色成分の符号化ブロックの最初の3画素(R0、G0、B0)については、前画素が存在しない。そのため、予測部302は、符号化ブロックの最初の3画素については、所定の値(たとえば0)を予測データとして減算器303に出力する。
減算器303は、量子化部301からの量子化データと、予測部302からの予測データとの差分を予測差分データとして、可変長符号化部304へ出力する。予測差分データは正負の値を持つデータであり、画像データの変動の小さい平坦な部分では0付近の値となり、変動の大きいエッジ部分などでは大きな値になる。予測差分データは、一般に0を中心としたラプラス分布の特性を持つ。
可変長符号化部304は、入力された予測差分データに対して所定の可変長符号化方式による符号化を行って、1画素毎に可変長符号データと可変長符号データ符号長を生成する。そして、可変長符号化部304は、生成した可変長符号データをセレクタ307へ出力し、可変長符号データ符号長をセレクタ308に出力する。可変長符号化方式としては、例えばハフマン符号、ゴロム符号などを使用することができる。可変長符号化部304が実行する可変長符号化方式では、入力値が0の場合に最も短い符号長の符号データが割り当てられており、入力値の絶対値が大きくなるほど、符号データの符号長は長くなる。
セレクタ307は、量子化データと可変長符号データを入力し、符号化モードフラグに従っていずれか一方を選択し、選択したデータを符号化データとして符号化部211の外部へ出力する。実施形態のセレクタ307は、符号化モードフラグの値が0の場合は可変長符号データを選択し、符号化モードフラグの値が1の場合は量子化データを選択する。
セレクタ308は、量子化データ符号長と可変長符号データ符号長を入力し、符号化モードフラグに従っていずれか一方を選択し、選択した符号長を符号化部211の外部へ出力する。実施形態のセレクタ308は、符号化モードフラグの値が0の場合は、可変長符号データ符号長を選択し、符号化モードフラグの値が1の場合は量子化データ符号長を選択する。
ここで、符号化モードについて説明する。符号化部211は、符号化モードを表す符号化モードフラグに応じて、DPCMモードとPCMモードを切り替えて動作する。DPCMモードは、量子化部301で量子化された量子化データと予測部302で生成された予測データを用いて減算器303により予測差分データを生成し、可変長符号化部304により可変長符号化を行うモードである。DPCMモードの場合、画像データやQPによって可変長符号データが生成される。DPCMモードでは、符号化モードフラグは“0”となる。一方、PCMモードは、入力された画像データをそのまま量子化部301により量子化して量子化データとして出力するモードである。PCMモードの場合、QPによって定まる固定長の符号データが生成される。DPCMモードでは、符号化モードフラグは“1”となる。
なお、PCMモードにおいては、後述する符号データの多重化において、符号データがPCMモードで生成されたものであることを示す1ビットのフラグを多重化する必要がある。そのため、符号化ブロックの画素のうち所定の1画素はQPを1段上げて量子化し、他の画素より1ビット少ない符号データ及び符号長を出力するように動作する。所定の1画素は、例えば符号化ブロックの左端(最初)に位置する画素とする。
<仮符号化系の説明>
ここで再び図2の画像符号化部20を参照して、仮符号化系210における仮符号化処理について説明する。図2の仮符号化系210に入力された画像データは、複数の符号化部211A〜211Dによって、符号化モードがDPCMで、且つ、QPが0〜3でそれぞれ仮符号化が行われる。そして、符号化部211A〜211Dは、符号化結果をQP決定部215に出力する。符号化部211A〜211Dから出力される信号には、図3に示すように、符号データ、符号長、量子化データ、及び損失ビットの出力信号が存在するが、この仮符号化系210では符号長(可変長符号データの符号長)のみを使用することとする。
なお、本実施形態では符号化に用いるQPの範囲として0〜3としたため、仮符号化系210は4つの符号化部211A〜211Dを備えている。しかし、これは説明を具現化し、単純化するためであり、符号化に用いるQPの範囲に応じて、符号化部211の数を変更することができる。
QP決定部215は、前段の符号化部211A〜211Dから入力されたQP毎の、1符号化ブロック分の符号長の情報に基づき、本符号化系220における着目符号化ブロックのQP(適用QPと呼ぶ)を決定する。なお実施形態におけるQP決定部215は、符号化部211A〜211Dそれぞれから入力するデータを一時的に格納するバッファを内蔵しているものとする。以下、QP決定部215における適用QPの決定方法の詳細を説明する。
図7を参照して、QP決定部215における適用QPの決定処理の詳細を説明する。
まず、S701にて、QP決定部215は、符号化部211A〜211Dから、各符号化部に割り当てられたQP毎に算出された符号長の情報を、画素単位で取得する。
S702にて、QP決定部215は、取得した画素単位の符号長の合計を用いて、QP毎に、符号化ブロック全体の符号長(以下、ブロック符号長)を算出する。実施形態では、仮符号化系210には、4つの符号化部211A〜211Dが存在するので、QP決定部215は、4つのブロック符号長を算出することになる。なおブロック符号長の算出に際しては、符号化データに多重するヘッダ情報の符号長を加味する必要がある。ヘッダ情報とは、復号時に必要な符号化ブロック毎の情報である。ヘッダ情報の符号長は、本実施形態ではQP(0〜3)の表現のための2ビットと、符号化モードフラグのための1ビットの合計3ビットとなる。従って、S702にて、QP決定部215は、ヘッダ情報の符号長hd_size(=3ビット)と、画素単位の符号長の合計とを加算することにより、ブロック符号長bl_size[qp]の算出を行う(ここで、qpは、QPに対応する値である)。なお、QPの表現のためのビット数は、符号化に用いるQPの範囲に応じて変更することができる。
S703にて、QP決定部215は、目標符号量target_size(実施形態では、144ビット)と、QP毎のブロック符号長bl_size[qp]とを用いて、空きビット数free_num[qp]と、損失ビット数loss_num[qp]とをQP毎に算出する。また、QP決定部215は、空きビット数free_num[qp]と、損失ビット数loss_num[qp]とを用いて、劣化度bl_dist[qp]をQP毎に算出する。
空きビット数free_num[qp]は、次式(4)により算出される。
free_num[qp] = target_size - bl_size[qp] …(4)
空きビット数は、式4に示されるように、目標符号量からブロック符号長を減算した値である。空きビット数が正の値の場合、対応するQPでのブロック符号長が目標符号量より小さいことを示している。空きビット数が負の値の場合、対応するQPでのブロック符号長が目標符号量より大きいことを示している。
損失ビット数loss_num[qp]は、次式(5)により算出される。
loss_num[qp] = qp × pix_num …(5)
ここで、pix_numは、符号化ブロックの画素数(実施形態では“24”)である。
損失ビット数loss_num[qp]は、量子化により損失するビット数を示しており、QPと符号化ブロックの画素数とにより一意に定まる値である。ここで、本実施形態の符号化ブロックの画素数pix_num=24であるため、QP=2の場合の損失ビット数loss_num[2]は48となる。
劣化度bl_dist[qp]は次式(6)により算出される。
bl_dist[qp] = loss_num[qp] - free_num[qp] …(6)
劣化度bl_dist[qp]は、符号化劣化の度合いを示している。本実施形態では、ブロック符号長が目標符号量より小さい場合、量子化により損失したビットデータ(損失ビット)を空きビット領域にできるだけ格納するように符号化が行われる。復号時には、空きビット領域に格納された損失ビットを復元することによって量子化による劣化が低減される。そのため、最終的な劣化の度合いは、損失ビット数から空きビット数を減算した値となる。
S704で、QP決定部215は、S702で算出したbl_size[qp]と、S703で算出したbl_dist[qp]とを用いて、符号化モード及び適用QPを決定する。
ここで図8を参照して、S704の処理の詳細について説明する。
S801にて、QP決定部215は、いくつかの変数を初期化する。具体的には、QP決定部215は、qp(QPの値)を0に初期化し、min_dist(最小劣化度の値)を予め設定されたMAX_DISTに初期化する。また、QP決定部215は、sel_qp(適用QP)をMAX_QP+1の値に初期化する。ここで、MAX_DISTは、符号化ブロックの劣化度として取りうる最大の値であり、符号化前の画像データの情報量から目標符号量を減じた値となる。本実施形態では、MAX_DIST=240−144=96である。また、MAX_QPは、符号化に用いるQPの最大値である。本実施形態ではMAX_QPは3であるため、sel_qpは4に初期化される。sel_qpの初期値は、以下に説明する適用QPを選定する条件がいずれのQPでも満たされない場合に適用されるQPとして初期化される。
S802で、QP決定部215は、現在のQP(変数qp)における符号化ブロックの符号長bl_size[qp]が目標符号量target_size以下であって、かつ、符号化ブロックの劣化度bl_dist[qp]がmin_distより小さいという条件が成立しているか否かを判定する。この条件が成立している場合、QP決定部215は処理をS803に進め、成立しない場合は処理をS804に進める。
S803で、QP決定部215は、選定すべきQPの候補として、qpをsel_qpに代入する。また、QP決定部215は、劣化度bl_dist[qp]をmin_distに代入する。また、この時点で符号化モードとしてDPCMモードを使用することが決定するので、QP決定部215は、enc_modeをDPCMモードに設定する。
S804で、QP決定部215は、現在のQP(変数qp)の値が最大値MAX_QPよりも小さいか否かを判定する。qp<MAX_QPの場合、処理はS805に進み、そうでない場合、本フローチャートの処理は終了する。
S805で、QP決定部215は、qpに1を加算する。その後、再びS802から、次のQP値について同様の処理が行われる。
なお、S802において一度も「YES」と判定されずに、S804において「NO」と判定された場合、DPCMモードでは目標符号量より小さいブロック符号長を持つQPが存在せず、ブロック符号長を目標符号量に収めることができないことを意味する。この場合、enc_mode及びsel_qpがそれぞれS801で初期化したPCMモード及び4(=MAX_QP+1)のまま、図8の処理が終了する。
上記の結果、ブロック符号長bl_size[qp]のいずれかが目標符号量以下であった場合、DPCMモードが選択され、符号化ブロックの劣化度bl_dist[qp]が最小となるQPが適用QPとして選択されることになる。また、ブロック符号長bl_size[qp]のいずれもが目標符号量を超えた場合はPCMモードが選択され、QP値の最大値(MAX_QP)に1加算したqp値“4”が適用QPとして使用される。
図9は、bl_size[qp]とbl_dist[qp]との関係の具体例を示す図である。図9(a)の例は、QP=3の場合に、ブロック符号長bl_size[3]=92ビットが目標符号量144ビット以下であり、劣化度bl_dist[3]=20が最小である。そのため、図9(a)の場合、QP=3が適用QPとして選択され、符号化モードとしてDPCMモードが選択されることになる。図9(b)の例では、いずれのQPについてもブロック符号長が目標符号量を超えている。そのため、適用QPとして“4”が選択され、符号化モードとしてPCMモードが選択される。
なお、式(6)を参照して説明した通り、劣化度bl_dist[qp]は、損失ビット数loss_num[qp]から空きビット数free_num[qp]を引いた値である。ここで、式(6)の空きビット数free_num[qp]に式(4)の右辺を代入すると、下記の式(7)が得られる。
bl_dist[qp] = loss_num[qp] - (target_size - bl_size[qp])
= loss_num[qp] + bl_size[qp] - target_size …(7)
式(7)において、target_sizeはQPの値に関わらず一定であり、ブロック符号長bl_size[qp]のうちのヘッダ情報に対応する符号長もQPの値に関わらず一定である。そのため、QP間の劣化度の大小関係は、符号化部211が出力した符号長の合計(ブロック符号長)及び損失ビット数loss_num[qp]によって定まる。従って、QP決定部215は、劣化度を算出しなくても、符号長及び損失ビット数に基づいて適用QP及び符号化モードを決定することができる。図9(a)の例では、QP=3の場合に符号長及び損失ビット数の和が最小値となるため、QP=3が適用QPとして決定される。また、図9(b)の例では、各QPに対応する符号長のいずれも目標符号量を超えている。従って、符号化ブロックの符号量が目標符号量以下となるよう、QP=4が適用QPとして決定される。
<本符号化系220における符号化処理>
ここで再び図2を参照して、本符号化系220における符号化処理について説明する。
本符号化系220には、仮符号化系210に入力された符号化ブロックの画像データと同一の画像データが入力される。しかしながら、本符号化系220の符号化処理は、仮符号化系210のQP決定部215が符号化モード及び適用QPを決定して出力するまで開始することができない。そこで、符号化ブロックの入力画像データは最初に遅延部221に入力され、仮符号化系210が符号化モード及び適用QPを決定するために必要な処理サイクル分だけ遅延される。遅延した符号化ブロックの画像データは、遅延部221から符号化部211Eへ入力される。これにより、符号化部211Eは、仮符号化系210により決定された符号化モード及び適用QPを用いて符号化を行うことができる。
符号化部211Eには、遅延した符号化ブロックの画像データ、QP決定部215が決定した符号化モードフラグ、及び適用QPが供給される。そして、符号化部211Eは、入力された符号化モードフラグ、及び適用QPに従って、遅延した画像データに対する本符号化を行う。これにより、QP決定部215が決定したブロック符号長と同じ符号長の符号データが生成される。符号化部211Eは、生成した符号データを、符号長及び損失ビットと共に多重化部223に出力する。また、符号化部211Eは、適用QPに従って量子化された量子化データを逆量子化部224へ出力する。
逆量子化部224は、QP決定部215が出力した適用QPを用いて、符号化部211Eからの量子化データを逆量子化することにより、逆量子化データを生成する。また、逆量子化部224は、逆量子化データを特徴解析部225へ出力する。
ここで、適用QPを用いて逆量子化した逆量子化データのビット深度は、常に入力画像データと同じビット深度となる。よって、本実施形態における特徴解析部225は、常に入力画像データのビット深度と同じ10ビットのデータに対して特徴解析を行う。しかしながら、特徴解析部225があらゆるビット深度の処理に対応している場合は、必ずしも本実施形態のように逆量子化部224を設ける必要はない。その場合、符号化部211Eから出力された量子化データを、そのまま特徴解析部225が解析する構成であってもよい。
特徴解析部225は、逆量子化部224から出力される複数の逆量子化データを解析し、符号化ブロック内で人間の視覚的に劣化が目立ちやすい箇所を検出する。本実施形態では、画像中の暗部、もしくは平坦部を劣化が目立ちやすい箇所として扱う。
具体例を示すのであれば、実施形態の場合、各画素はRGBの明るさをベースにしている。そこで、特徴解析部225は、“逆量子化後のデータ<暗部判定の閾値”を満たす画素数を計数し、この計数値が所定数以上ある場合に暗部と判定し、計数値が所定数に満たない場合には非暗部と判定する。
また、平坦部であるか否かの判定は、例えば、逆量子化データの最大値と最小値との差を求め、その差が平坦度判定の閾値以下であれば平坦と判定し、その差が閾値を超える場合は非平坦と判定する。また、多少時間を要するが、逆量子化データの分散を求め、閾値と比較することで平坦/非平坦を判定しても構わない。
なお、上記の特徴解析方法はあくまで一例であって、この方法に限定されない。例えば、画像中のエッジ(明暗の切り替わる部分)や、エッジに隣接する平坦部、符号化ブロックの境界部分等を、劣化が目立ちやすい箇所として扱うこともできる。また、符号化対象の画像や、符号化方式に依って劣化が目立ちやすい箇所が異なる場合は、それらに合わせて適応的に特徴解析方法を変更することも可能である。
以降、複数の逆量子化データから構成される所定のサイズ(画素数)を有するブロックを、逆量子化ブロックと呼ぶ。よって、特徴解析部225は、逆量子化ブロック単位で処理を行う。以下、特徴解析部225における特徴解析方法の詳細を、フローチャートを用いて説明する。なお、実施形態では、逆量子化ブロックのサイズ(その中に含まれる逆量子化データの個数)は、符号化ブロックのサイズ(その中に含まれる画素数)と同じとする。
<特徴解析部225における特徴解析方法の説明>
図10は、実施形態における特徴解析部225における特徴解析処理の手順を示すフローチャートである。以下、同図を参照して、特徴解析部225の処理を説明する。
S1001にて、特徴解析部225は、逆量子化部224から逆量子化データを画素単位で取得し、当該画素の明るさを算出する。
一般的に人間の視覚特性は暗い部分の変化に気づきやすく、明るい部分の変化に気づきにくいという性質を持つ。本実施形態ではこの性質を利用し、明るさが小さい画素ほど符号化による劣化が目立ちやすい画素になるものとし、当該画素に対する劣化を低減する施策を行う。
また、本実施形態では、逆量子化データのレベル値を、明るさを示す指標として用いる(レベル値が小さい=暗い、レベル値が大きい=明るい)。なお、本実施形態の明るさを示す指標としてはこの方法に限定されず、例えば、RGB形式の逆量子化データをさらにYUV形式に色空間変換し、Y成分のレベル値を用いてもよい。或いは、逆量子化ブロックを複数の領域に分割し、それぞれの分割領域における逆量子化データのレベル値の平均値を用いてもよい。
S1002で、特徴解析部225は、逆量子化ブロックを複数の領域に分割し、それぞれの分割領域に対して平坦度を算出する。
一般的に人間の視覚特性は平坦な部分の変化に気づきやすく、複雑な部分の変化に気づきにくいという性質を持つ。本実施形態ではこの性質を利用し、平坦度が大きい画素ほど符号化による劣化が目立ちやすい画素になるものとし、当該画素に対する劣化を低減する施策を行う。
また、本実施形態では、前述した分割領域内の分散値(逆量子化データのレベル値のばらつき具合)を、平坦度を示す指標として用いる(分散が閾値より大きい=平坦でない、分散が閾値以下=平坦である)。なお、本実施形態の平坦度を示す指標としてはこの方法に限定されず、例えば、各分割領域内のダイナミックレンジ(逆量子化データのレベル値の最大値と最小値の差)を用いてもよい。
S1003で、特徴解析部225は、逆量子化ブロック全体の特徴を示す複雑度判定処理を行う。本実施形態では、逆量子化ブロックに含まれるエッジ数を、複雑度を示す指標として用いる(エッジ数が閾値より多い=複雑である、エッジ数が閾値以下=複雑でない)。また、特徴解析部225は、同じ色成分の隣接する逆量子化データどうしの差分値が、所定の閾値より大きな値である場合に、エッジが1つ存在すると判断する。なお、本実施形態の複雑度を示す指標としてはこの方法に限定されず、例えば逆量子化ブロックの分散値を用いてもよい。
S1004で、特徴解析部225は、S1001〜S1003で取得した特徴量を用いて、画素単位で特徴分類を行う。詳細は後述するが、特徴分類結果(rank)は1〜4の値を持ち、値が大きい画素ほど、人間の視覚的に劣化の目立ちやすい画素であるものとする。つまり、特徴分類結果で得られるrankは、劣化の目立ちやすさを示す指標値、もしくは重要度の度合いを示す指標値と言うことができる。
ここで、図11を参照して、S1004の各画素に対する特徴分類方法について説明する。
S1101にて、特徴解析部225は、いくつかの変数を初期化する。具体的には、特徴解析部225は、S1001で取得した着目画素の明るさを変数brightness、S1002で取得した、着目画素が属する分割領域の平坦度を変数flatness、及びS1003で取得した着目画素が属する逆量子化ブロックの複雑度を変数complexityにそれぞれ代入する。
S1102にて、特徴解析部225は、複雑度complexityが、予め設定された複雑度閾値th_compよりも大きいか否か判定する。特徴解析部225は、着目画素が属する逆量子化ブロックの複雑度が閾値th_compより大きいと判定した場合(S1102がYesの場合)、処理をS1103に進める。このS1103にて、特徴解析部225は、逆量子化ブロック内に存在する平坦部をより重視するため、着目画素が属する「平坦度」のみの特徴量を用いて特徴分類を行う。一方、特徴解析部225は、逆量子化ブロックの複雑度が閾値th_comp以下であると判定した場合(S1102がNoの場合)、S1106〜S1108にて、「明るさ」と「平坦度」の2つの特徴量を用いて特徴分類を行う。
なお、本実施形態では、特徴解析部225は複数の特徴量の中から当該画素に対して使用する特徴量を選択可能な構成としたが、必ず同一の特徴量を使用(例えば、明るさのみを使用)してもよい。
S1102の条件が成立している場合、特徴解析部225は、S1103で着目画素が属する分割領域の平坦度flatnessが、予め設定された平坦度閾値th_flatよりも大きいか否か判定する。S1103の条件が成立している場合、特徴解析部225は、S1104にて、着目画素の特徴分類結果rankに“4”を代入する。S1103の条件が成立していない場合、特徴解析部225は、S1105にて、着目画素の特徴分類結果rankに“1”を代入する。
一方、S1102の条件が成立していない場合、特徴解析部225は、S1106にて、着目画素の明るさbrightnessが、予め設定された明るさ閾値th_bright以下であるか否か判定する。また、S1106の条件が成立している場合と、成立していない場合それぞれに対して、特徴解析部225は、S1107〜S1108で、着目画素が属する分割領域の平坦度flatnessが、予め設定された平坦度閾値th_flatよりも大きいか否か判定する。さらに、特徴解析部225は、S1107、もしくはS1108の判定結果に応じて、S1109〜S1112で着目画素の特徴分類結果rankに“1”〜“4”を代入する。
前述のとおり、特徴分類結果rankは、人間の視覚的な劣化の目立ちやすさを示すものである。例えば、逆量子化ブロックの「複雑度」が小さい場合(S1102がNoの場合)、rank=1の画素は明るく(brightnessが大きい)、平坦でない(flatnessが小さい)ことから、劣化は目立ちにくい画素となる。一方、rank=4の画素は暗く(brightnessが小さい)、平坦である(flatnessが大きい)ことから、劣化が目立ちやすい画素となる。
なお、本実施形態では、各色成分の画素に対して同一の閾値値(th_flat、th_bright)を使用しているが、これらの閾値は色成分毎に別々の値を持つ構成であってもよい。また、本実施形態では、閾値処理により各画素に対して特徴分類を行う例を示したが、特徴分類方法は必ずしもこれに限定されず、パターンマッチングや機械学習等の手法を使って各画素に対して特徴分類を行うこともできる。
このようにして、特徴解析部225は各画素に対して特徴分類を行い、特徴分類結果を多重化部223へ出力する。
<本符号化系220における多重化部の説明>
ここで、再び図2を参照して、本符号化系220における多重化部223の説明を行う。多重化部223には、符号化部211Eからの符号データ、符号長、損失ビット、及びQP決定部215からの符号化モードフラグと、適用QPが入力される。さらに、多重化部223には、特徴解析部225からの特徴分類結果が入力される。そして、多重化部223は、符号化ブロック毎に所定のフォーマットでこれらのデータの多重化を行う。
ここで、図12を参照して、DPCMモードの場合の符号化フォーマットについて説明する。前述のとおり、本実施形態では符号化ブロックに対する圧縮率を6/10としているため、図12に示す符号化ブロック1201のサイズは、目標符号量144ビットと等しい。
符号化ブロック1201は、ヘッダ部1202(3ビット)と画素データ部1203(141ビット)とを含む。ヘッダ部1202は、符号化モードを示す符号化モードフラグ1204(1ビット)と、QPを示すQP値部1205(2ビット)とを含む。画素データ部1203は、可変長符号データ部1206、損失ビット部1207、及びスタッフィング部1208を含む。なお、スタッフィング部1208は存在しない場合もある。
QP決定部215から出力される符号化モードフラグ及びQPは、符号化モードフラグ1204(1ビット)と、ヘッダ部1202のQP値部1205(2ビット)とにそれぞれ格納される。本実施形態において、DPCMモードを表す符号化モードフラグの値は0であるものとする。符号化部211Eからの可変長符号データ(24画素分)は、画素毎の符号長を用いてビット単位で順にパッキングされて可変長符号データ部1206に格納される。
符号化部211Eから出力される損失ビットは、符号化ブロック1201の損失ビット部1207に順に格納される。損失ビット部1207は、可変長符号データ部1206の直後に続く領域である。損失ビットの格納方法の詳細は後述する。
なお、可変長符号データ部1206の可変長符号データ量が画素データ部1203と同じサイズである場合は、符号化ブロック1201には損失ビットを格納する領域が残らない。この場合、損失ビットは符号化ブロック1201に格納されない。また、ヘッダ部1202、可変長符号データ部1206、損失ビット部1207を合計した領域のサイズが目標符号量に満たない場合、残った領域にはスタッフィング部1208(ダミービット)で埋められる。
ここで、図13(a)〜(c)を参照して、DPCMモードにおいて損失ビットを格納する方法について説明する。簡単のため、図13(a)〜(c)は、QP=3が選択された場合の符号化ブロックの画像データの全ビットを示す図であって、水平方向に24個の画素データの並びを表しており、垂直方向に10ビットのビット深度を表している。また、図13(a)〜(c)は、各画素の特徴分類結果、及び各画素における損失ビットの格納数を併せて示しており、rank=1が7画素、rank=2が6画素、rank=3が5画素、rank=4が6画素、であった場合の例を示している。
図13(a)は、多重化部223が損失ビットを格納する前の符号化ブロックの全ビットを示しており、各画素の上位7ビットが量子化データ、下位3ビットが損失ビットである。
多重化部223は、各画素について特徴分類結果に応じた損失ビット格納数を決定し、図13(a)に示した損失ビット領域に対して、損失ビットを格納する。本実施形態では、各画素の損失ビット格納数store_bits[pix]を、下記の式(8)により求める。
store_bits[pix] = free_num[qp] × weight[pix] …(8)
ここで、pixは、符号化ブロック内の画素番号(実施形態では0乃至23のいずれか)を示す。また、free_num[qp]は選択されたQPにおける空きビット数を示す。また、weight[pix]は各画素の劣化の目立ちやすさの度合いを示す1以下の小数(重み係数と呼ぶ)である。つまり、式(8)は、重み係数weight[pix]に応じて、空きビット数free_num[qp]を各画素に割り当てていくことを意味している。
また、本実施形態では、重み係数weight[pix]を次式(9)により求める。
weight[pix] = rank[pix] / SUM(rank(pix)) …(9)
ここで、rank[pix]は各画素の特徴分類結果であり、SUM(rank[pix])は符号化ブロック内の全画素におけるrank[pix]の合計値である。
なお、多重化部223は、式(8)及び式(9)で算出した損失ビット格納数store_bits[pix]の値がQPの値を超える場合、store_bits[pix]の値をQPの値にクリップすることとする。これは、QPの値以上(本具体例では3以上)に各画素に損失ビットを格納することはできないからである。
上記は、要するに、固定長に対する符号化データを格納した際の空きビット数はfree_num[qp]で得られる。この空きビット数を、ランクが高い画素ほど、その損失ビットを保持するために多くのビットを割り当てることを意味する。
前述した各画素の損失ビット格納数の算出方法や、重み係数の算出方法はあくまで一例であって、この方法に限定されるものではない。例えば、rank=1の画素は1ビットを格納、rank=3の画素は3ビット格納、というように、各画素の特徴分類結果に応じた損失ビット格納数を、予め定めておいてもよい。また、本実施形態では重み係数を各画素の特徴分類結果のみを用いて算出したが、符号化ブロックの境界部分で劣化が目立ちやすいことを考慮し、符号化ブロックの両端に近い画素ほど重み係数が大きくなるように調整することも可能である。
図13(b)は、多重化部223が損失ビットを格納した後の符号化ブロックの全ビットを示す図である。また、図13(b)は、空きビット数free_num[qp(=3)]が“52”であった場合の例を示している。rank=4の画素は3ビット、rank=3の画素は2ビット、rank=2の画素は1ビット、rank=1の画素は0ビット、というように、劣化が目立ちやすい画素ほど損失ビットが格納されていることがわかる。
ここで、図13(b)に示す符号化ブロック内の全画素における損失ビット格納数store_bits[pix]の合計値は、必ずしも空きビット数free_num[qp]と等しいわけではないことに留意する必要がある。これは、式(8)の右辺であるstore_bits[pix]が整数であるため、式(8)の左辺であるfree_num[qp]×weight[pix]の小数点以下の値が切り捨てられてしまうからである。
よって、空きビット数free_num[qp]の全ビットを漏れなく符号化ブロックに格納するためには、式(8)の計算誤差により生じる余りビット(residual_lossと呼ぶ)を、さらに損失ビット領域に格納する必要がある。本実施形態では、余りビットresidual_lossを次式(10)により求める。
residual_loss = free_num[qp] - SUM(store_bits[pix]) …(10)
ここで、SUM(rank[pix])は符号化ブロック内の全画素におけるstore_bits[pix]の合計値である。
多重化部223は、式(10)により算出した余りビットresidual_lossを、図13(b)に示す損失ビット領域にさらに格納していく。以下、損失ビット領域に対する、多重化部223の余りビットの格納方法を説明する。
図13(c)は、多重化部223が式(10)により算出した余りビットを格納した後の符号化ブロックの全ビットを示す図である。図13(c)は、余りビットresidual_loss=18であった場合の例を示しており、損失ビット格納部分に記された番号(0〜17)は、余りビットの格納優先度を示している。
多重化部223は、図13(b)で未だ損失ビットが格納されていない部分に対し、余りビットを格納する。このとき、画素番号0のbit1、画素番号23のbit0、画素番号1のbit0、というように、符号化ブロックの両端から中央に向かって、各画素の上位ビットほど余りビットが格納されるようにする。このようにすることで、符号化ブロックの境界部分における画像の劣化を低減することができる。
なお、余りビットの格納方法は前述した方法に限られない。例えば、符号化ブロックの中央から優先して余りビットを格納することも可能である。或いは、各画素の特徴分類結果に応じて、劣化が目立ちやすい画素を優先して余りビットを格納することも可能である。
このように、多重化部223は、図12に示す損失ビット部1207に対して、画像の劣化が目立ちやすい画素の損失ビットを優先的に格納することで、人間の視覚的な劣化を低減させることができる。
次に、図14を参照して、PCMモードの場合の符号化フォーマットについて説明する。本実施形態では、符号化ブロック1401のサイズはDPCMモードの場合と同様に、目標符号量である144ビットとなる。
符号化ブロック1401は、符号化モードを示す符号化モードフラグ1402(1ビット)と量子化データ部1403(143ビット)とを含む。QP決定部215からの符号化モードフラグは、符号化モードフラグ1402(1ビット)に格納される。本実施形態において、PCMモードを表す符号化モードフラグの値は1であるものとする。符号化部211Eからの量子化データ(24画素分)は、画素毎の符号長を用いてビット単位で順にパッキングされた量子化データ部1403に格納される。本実施形態において、PCMモード時のQPは4であるが、前述したように符号化ブロックの画素のうち1画素はQPを1段上げてQP=5で量子化されている。そのため、24画素中の23画素は画素あたり6ビットに量子化され、1画素は5ビットに量子化されている。従って、合計23×6+5=143ビットの量子化データが量子化データ部1403に格納される。
このようにして、符号化ブロックごとの符号化モードに応じて多重化された符号化データは、ストリームデータとして出力端子202に出力され、メモリ30に入力される。
以上説明したように、実施形態における画像符号化部20は、1符号化ブロックの画素単位の符号化で得た符号量が固定長に満たない場合は、符号化により劣化が目立ち易い画素ほど、量子化により損失したビットを、空き領域に格納する。この結果、これまでと比較して、画質劣化を抑制できるようになる。
<画像復号部40の詳細>
図4を参照して、画像符号化部20で生成された符号化データを復号する画像復号部40の構成と動作を説明する。図4は、画像復号部40の詳細な構成を示すブロック図である。画像復号部40は、メモリ30に保持された符号化データを復号することができる。
図4に示す画像復号部40は、分離部403、可変長復号部404、加算器405、セレクタ406、逆量子化部407、予測部408、特徴解析部409、及び損失ビット付加部410を含む。画像復号部40は、専用のデバイス、ロジック回路、及びメモリなどを含む一体的なハードウェアとして構成されてもよいし、複数のデバイス等で分散して構成されてもよい。或いは、画像復号部40は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するCPU等のコンピュータにより実装されてもよい。
画像符号化部20で生成されてメモリ30に一時的に格納されたストリームデータ(符号化ブロック毎の符号化データ)は、入力端子401を介して分離部403に入力される。
分離部403は、入力されたストリームデータの先頭の符号化モードフラグ、QP、符号データ、及び損失ビットを分離し、処理サイクル毎に順次出力する。
分離部403は、符号データ(PCMの場合は量子化データとなる)を、可変長復号部404及びセレクタ406に出力する。可変長復号部404は、入力された符号データの可変長復号を行い、復号化されたデータを加算器405に出力すると共に、その際の符号の符号長を分離部403に出力する。分離部403は、可変長復号部404が、1符号化ブロックに含まれる24画素分の可変長復号するまで、その符号長を累積加算する。そして、分離部403は、固定長から累積加算した値を減じることで、固定長データにおける損失ビット部の格納位置(正確には損失ビット部1207+スタッフィング部1208の合計サイズ)を確定し、損失ビット部を含むデータを損失ビット付加部410に出力する。
加算器405は、後述の予測部408からの予測データと復号されたデータとを加算して復号値を得て、セレクタ406及び予測部408に出力する。
予測部408は、加算器405からの復号値を用いて現在の画像データの予測データを生成する。予測データの生成方法は、前述した符号化部211の予測部302における予測データの生成方法と同様である。
セレクタ406は、符号化モードフラグに応じて、PCMモード時は分離部403からの符号データを選択し、DPCMモード時は加算器405から出力されたデータを選択し、量子化データとして逆量子化部407へ出力する。
逆量子化部407は、分離部403から入力されたQPを用いて、セレクタ406からの量子化データを逆量子化することにより逆量子化データを生成し、特徴解析部409、及び損失ビット付加部410へ出力する。なお、符号化モードがPCMの場合、分離部403は、QPを“4”として出力する。
特徴解析部409は、内部に1符号化ブロック分の逆量子化データを格納するバッファメモリを有する。そして、特徴解析部409は、本符号化系220の特徴解析部225と同様の方法で、バッファ内に格納されや逆量子化データに対して特徴解析を行い、各画素の特徴を分類する。また、特徴解析部409は、特徴分類結果を損失ビット付加部410へ出力する。
損失ビット付加部410も、内部に符号化ブロック分の逆量子化データ及び損失ビットを格納するバッファメモリを有する。そして、損失ビット付加部410は、逆量子化データに対して、分離部403から出力された損失ビットを付加し、復号化画像データを生成する。損失ビットの付加方法は、本符号化系220の多重化部223と同様の方法である(本実施形態では、図13(c)の非損失ビット部分が復号される)。
ここで、損失ビット付加部410の損失ビット付加処理の具体例を説明する。今、復号する画素が、図13(c)の最初の画素であるものとする。逆量子化により10ビット中上位の7ビットが逆量子化により得られている。そこで、損失ビット付加部410は、特徴解析部409からの特徴分類結果に基づき該当する画素には2ビットを付加することを判定できる。損失ビット付加部410は、バッファから該当する2ビットを読み出し、着目画素の損失ビット数“3”に対して支配的な上位の2ビット(bit2、bi1)に補充する。また、損失ビット付加部410は、補充できない最下位ビットのbit0には予め設定された値(例えば“0”)を付加する。これにより、損失ビット付加部410は、着目画素の10ビットの画素データを復号することができる。損失ビット付加部410は、補充後の着目画素を表す10ビットのデータを出力端子402に出力する。
以上説明したように、本実施形態によれば、符号化対象の画像データに急峻なエッジ等が存在し、当該エッジ成分に大きな符号長を割り当てる必要がある場合でも、画像の劣化が目立ちやすい画素に対して優先的に損失ビットを格納することで、人間の視覚的な劣化を低減させることができる。
なお、画像符号化部20は、仮符号化系210による仮符号化を行わずに本符号化系220による本符号化を行ってもよい。この場合、本符号化系220の符号化部211Eは、例えば予め決められた量子化パラメータに従って量子化を行ってもよい。予め決められた量子化パラメータに従う量子化が行われる場合、画像復号部40も同じ量子化パラメータに従って逆量子化を行えばよい。
また、上記実施形態では、仮符号化系210は4つの符号化部211A乃至211Dを有し、それぞれがQP=0,1,2,3のDPCMモードで符号化を行うものとした。そして、QP=3でも目標符号量を超える場合には、本符号化系220にて、QP=4のPCMモードで符号化を行うものとした。しかしPCM符号化は必ずしも必須ではない。例えば、1画素のビット深度をM,1符号化ブロックの目標符号量をCtargetと定義する。また、DPCMモードでの1符号化ブロック当たりの総符号量が最悪でも目標符号量以下となるためのQPの値が仮に“N”(N<M−1)であるとする。そして、QP=NのDPCMモードの符号化データを最終データとして許容するのであれば、仮符号化系210はQP=0〜NのN+1個の符号化部を備えるようにする。そして、QP決定部215は、N+1個の符号化部それぞれの符号量を判定し、1符号化ブロックの総符号量が目標符号量Ctarget以下で、最大のQPを適用QPとして決定する。本符号化系220は、決定した適用QPに従って、DPCMモードに従って符号化を行えばよい。
また、上記実施形態では、劣化の目立ち易さを表す指標値(rank)を、明るさ、平坦度、複雑度の3つから判定するものとしたが、処理を単純化するためいずれか1つでも良い。例えば明るさが低いほどrankの値を大きくしても良い。また、平坦度の度合いが高いほどrankの値を大きくしても良い。
また、上記実施形態をデジタルカメラやビデオカメラに代表される撮像装置に適用することが望ましい。例えば撮像部側に画像符号化部20を含む制御回路を搭載し、撮像結果を受けて各種画像処理する側には画像復号部40を含む制御回路を搭載する。この結果、撮像解像度が高くなったとしても、両制御回路間の通信帯域を逼迫することなく正常な通信を行うことができる。
[第2の実施形態]
第2の実施形態に係る特徴解析部225は、1回の処理で明るさ、及び平坦度を示す指標を得ることができる。具体的には、第2の実施形態に係る特徴解析部225は、複数の逆量子化データから構成される逆量子化ブロックに対して周波数変換を行い、周波数変換後の係数を用いて特徴分類を行う。
なお、本第2の実施形態についても第1の実施形態と同様に、画像の劣化が目立ちやすい画素に対して優先的に損失ビットを格納することで、人間の視覚的な劣化を低減させることができる。また、第2の実施形態は第1の実施形態との差分が生じている箇所について説明し、第1の実施形態と同様の箇所については説明を省略する。
図15を参照して、本第2の実施形態における特徴解析部225における特徴解析の方法について説明する。
S1501で、特徴解析部225は、逆量子化部224から逆量子化データを取得し、複数の逆量子化データから構成される逆量子化ブロックを生成する。
S1502で、特徴解析部225は、S1501で生成した逆量子化ブロックに対し、水平方向に1回のウェーブレット変換を行い、逆量子化ブロックをLバンド(Lは低周波成分を意味する)と、Hバンド(Hは高周波成分を意味する)に分割する。本実施形態では、実装が容易なHaarウェーブレット変換を用いることとするが、ウェーブレット変換の回数や方向、方式等は前述の方法に限られない。例えば、水平方向に複数回ウェーブレット変換を行い、逆量子化ブロックをさらに細かいサブバンドに分解してもよい。また、符号化ブロックの形状が2次元である場合は、JPEG2000に採用されている5×3タップフィルタを用いたDWT等を用いることもできる。
ここで、図16を参照して、特徴解析部225が生成する各サブバンドの具体例について説明する。
図16(a)は、本実施形態の符号化対象となる画像データ(符号化ブロック)を示した図であり、図5(a)で示した図と同様に、ラスタースキャン順にR0、G0、B0、R1、G1、B1・・・の順に、画素番号0から23が割り当てられている。
図16(b)は、図16(a)に示した符号化ブロックに対し、特徴解析部225によるウェーブレット変換を施した後の符号化ブロックを示す図である。このとき、特徴解析部225は、各サブバンドにおける係数を下記の式(11)、及び式(12)により求める。なお、本実施形態の場合、式(11)、及び式(12)のCは、R、G、もしくはBのいずれかの色成分を意味し、画素番号pixは0から6の偶数である。
LC[pix] = (C[pix] + C[pix+1]) / 2 …(11)
HC[pix] = (C[pix] - C[pix+1]) / 2 …(12)
第2の実施形態に係る特徴解析部225は、図16(b)に示すLバンドの係数(低周波成分)を各画素の明るさを示す指標として用い、Hバンドの係数(高周波成分)を各画素の平坦度を示す指標として用いる。なお、式(11)、及び式(12)は隣接する2画素に対して、Lバンドの係数、及びHバンドの係数をそれぞれ1つずつ算出している。よって、第2の実施形態に係る特徴解析部225は、隣接する2画素に対して同じ値の特徴量(明るさ、及び平坦度)を持つ。
このように、S1502で、特徴解析部225は各画素の明るさ、及び平坦度の特徴量を算出する。
S1503で、特徴解析部225は、算出した特徴量を用いて特徴分類を行う。特徴分類方法は、図11に示した方法と同様である。
本実施形態では、特徴解析部225が行う周波数変換方式としてウェーブレット変換を用いた例について説明したが、必ずしもこれに限定されない。例えば、特徴解析部225は、逆量子化ブロックに対してDCT(離散コサイン変換)や、KLT変換等の直交変換を実行し、得られた係数を特徴量の一つとして用いることもできる。
[第3の実施形態]
先に説明した第1の実施形態では、符号化モードがDPCMの場合は、着目符号化ブロック(24画素)QP=0〜3のいずれかで量子化し、可変長符号化を行った。そして、得られた符号量が目標符号量(144ビット)よりも少なく、目標符号量に対して空き領域が存在する場合は、その空き領域に劣化が目立ち易い画素の量子化により損失したビットを優先的に格納した。また、符号化モードがPCMの場合は、QP=4として、量子化した。そして、符号化モードがPCMであることを示す1ビット、24画素中の1画素を5ビット、他の23画素を6ビットの計144ビットの固定長データを生成した。つまり、符号化モードがPCMの場合は、各画素の劣化の目立ち易さは考慮されていないことになる。
本第3の実施形態では、符号化モードがPCMとなった場合においても、劣化の目立ち易さを考慮した固定長の符号データを生成する例を説明する。なお、装置構成は図2と同じであり、異なる点は、仮符号化系210のQP決定部215、本符号化系220の符号化部213E及び多重化部223であり、それ以外は第1の実施形態と同じである。また、符号化モードがDPCMの場合の符号化内容も第1の実施形態と同じであり、且つ、その場合に生成される符号データのデータ構造も図12と同じであるので、その説明については省略する。
図17は、本第3の実施形態における、仮符号化系210内のQP決定部215による符号化モード及びQPの決定処理のフローチャートを示している。第1の実施形態における図8との違いは、S801’のみであり、それ以外は同じである。第1の実施形態では、変数sel_qpにMAX_QP+1を代入したのに対し、本第3の実施形態では変数sel_qpにMAX_QP+3を代入した点が異なる。MAX_QPは“3”であるので、変数sel_qpは“6”で初期化されることになる。なお、変数sel_qpを初期化する値は、MAX_QP+1より大きく、画像データのビット深度である10より小さければ良い。したがって、ここで示した“+3”はあくまで例示であると理解されたい。
さて、QP決定部215が図17の処理を行い、S803の処理を一度も実行しなかった場合、着目符号化ブロックに対する符号化モードはPCMとなり、その際の適用QP=6として決定されるのは、これまでの説明から理解できよう。
したがって、本符号化系220における符号化部211Eは、符号化ブロック内の各画素を26で量子化し、量子化後のデータ(4ビット)を符号データとして多重化部223に出力する。また、符号化部211Eは、損失ビット(6ビット)を多重化部223に出力することになる。
本第3の実施形態における符号化ブロックに対する符号化モードがPCMモードの場合の符号化データフォーマットは、図18に示すような構造となる。以下、同図を参照して、PCMモードの場合の符号化フォーマットについて説明する。本第3の実施形態では、符号化ブロック1401のサイズはDPCMモードの場合と同様に、目標符号量である144ビットとなる。
符号化ブロック1401は、符号化モードを示す符号化モードフラグ1402(1ビット)と、画素データ部1404(143ビット)で構成される。QP決定部215から
の符号化モードフラグは、符号化モードフラグ1402(1ビット)に格納される。本実施形態において、PCMモードを表す符号化モードフラグの値は、第1の実施形態と同様に1である。符号化部211Eからの量子化データ(24画素分)は、画素毎の符号長を用いてビット単位で順にパッキングされた量子化データ部1403に格納される。本第3の実施形態において、PCMモード時のQPは6であるが、前述したように符号化ブロックの画素ブロック内のうち1画素はQPを1段上げてQP=7で量子化される。そのため、24画素中の1画素は3ビットに量子化され、残りの23画素は4ビットに量子化されている。従って、合計3+23×4=95ビットの量子化データが量子化データ部1403に格納される。
DPCMモードの場合と同様に、符号化部211Eから出力される損失ビットは、符号化ブロック1401の損失ビット部1405に順に格納される。PCMモードの場合、量子化データ部1403と同様に、損失ビット部1405のサイズはQPに応じて固定的に決まる。本第3の実施形態の場合、画素データ部1404(143ビット)から量子化データ部1403(95ビット)を差し引いた48ビットが、損失ビット部1405のサイズとなる。また、PCMモードの場合、目標符号量に対する空きビット数free_num[qp]は、損失ビット部1405のサイズと等しく、前述のとおり48ビットとなる。
ここで、図19(a)〜(c)を参照して、本第3の実施形態におけるPCMモードにおいて損失ビットを格納する方法について説明する。図19(a)〜(c)は、QP=6が選択された場合の符号化ブロックの画像データの全ビットを示す図であって、前述のとおり符号化ブロックの左端に位置する1画素は、1段上げてQP=7として量子化されている。
図19(a)〜(c)は、図13(a)〜(c)と同様に、水平方向に24個の画素データの並びを表しており、垂直方向に10ビットのビット深度を表している。また、図19(a)〜(c)は、各画素の特徴分類結果、及び各画素における損失ビットの格納数を併せて示しており、複雑度を表す指標であるrank=1が7画素、rank=2が6画素、rank=3が5画素、rank=4が6画素、であった場合の例を示している。
図19(a)は、多重化部223が損失ビットを格納する前の符号化ブロックの全ビットを示しており、各画素の上位4ビットが量子化データ、下位6ビットが損失ビットである。なお、符号化ブロックの左端に位置する1画素は上位3ビットが量子化データ、下位7ビットが損失ビットである。
多重化部223は、DPCMモードの場合と同様に、各画素について特徴分類結果に応じた損失ビット格納数を決定し、図19(a)に示した損失ビット領域に対して、損失ビットを格納する。すなわち、多重化部223は、式(8)及び式(9)を用いて各画素の損失ビット格納数store_bits[pix]を決定する。
図19(b)は、多重化部223が損失ビットを格納した後の符号化ブロックの全ビットを示す図である。また、図19(b)は、空きビット数free_num[qp(=6)]が48であった場合の例を示している。rank=4の画素は3ビット、rank=3の画素は2ビット、rank=2の画素は1ビット、rank=1の画素は0ビット、というように、劣化が目立ちやすい画素ほど損失ビットが格納されていることがわかる。
DPCMモードの場合と同様に、多重化部223は、式(10)により算出した余りビットresidual_lossを、図19(b)に示す損失ビット領域にさらに加えていく。以下、損失ビット領域に対する、多重化部223の余りビットの格納方法を説明する。
図19(c)は、多重化部223が式(10)により算出した余りビットを格納した後の符号化ブロックの全ビットを示す図である。図19(c)は、余りビットresidual_loss=14であった場合の例を示しており、損失ビット格納部分に記された番号(0〜17)は、余りビットの格納優先度を示している。
多重化部223は、図19(b)で未だ損失ビットが格納されていない部分に対し、余りビットを格納する。このとき、画素番号0のbit5、画素番号23のbit3、画素番号1のbit5、というように、符号化ブロックの両端から中央に向かって、各画素の上位ビット位置に優先して余りビットを格納する。このようにすることで、符号化ブロックの境界部分における画像の劣化を低減することができる。
なお、余りビットの格納方法は前述した方法に限られない。例えば、符号化ブロックの中央から優先して余りビットを格納することも可能である。或いは、各画素の特徴分類結果に応じて、劣化が目立ちやすい画素を優先して余りビットを格納することも可能である。
このように、多重化部223は、図14に示す損失ビット部1405に対して、画像の劣化が目立ちやすい画素の損失ビットを優先的に格納することで、人間の視覚的な劣化を低減させることができる。
以上、第3の実施形態における画像符号化部20の処理を説明した。本第3の実施形態における符号化モードがDPCMの場合の画像復号部40の復号処理は、第1の実施形態と同じである。また、符号化モードがPCMの場合は、画像復号部40は量子化データに対して、DPCMのときと同様に損失ビットを付加する処理が追加されるだけであるので、その説明は省略する。
また、仮符号化系や本符号化系の予測部や可変長符号化部等のハード規模を削減するために、より簡易的にPCMモードのみで符号化してもよい。
以上説明したように本第3の実施形態によれば、第1の実施形態と比較して、符号化モードがPCMとなった場合の画質改善が期待できる。理由は、本第3の実施形態によれば、符号化モードがPCMとなった場合でも、着目符号化ブロック内の各画素の劣化が目立ち易さを考慮して符号化されるからである。
なお、本第3の実施形態に対しても、先に説明した第2の実施形態を適用することができる。
[第4の実施形態]
近年、画素毎に露光時間の制御が可能であり、露光時間の長短に応じて複数の感度の異なる画像を出力可能な撮像デバイスが知られている。本撮像デバイスから得られる複数の感度毎の異なる画像を合成することにより、従来の撮像デバイスよりも広ダイナミックレンジの画像を1度の撮影で得ることができる。第4の実施形態では、このような撮像デバイスから得られる画像を符号化対象とした場合の説明を行う。
図20は、上述の撮像デバイスを備える画像処理装置200の構成を示すブロック図である。画像処理装置200は、撮像部50、画像符号化部20、メモリ30、画像復号部40、画像合成部60、現像処理部70、記録処理部80、記録媒体90を有する。
画像処理装置200の各ブロックの機能は、撮像部50やメモリ30、記録媒体90のような物理的デバイスを除き、ソフトウェア及びハードウェアのいずれによって実装されていてもよい。例えば、各ブロックの機能は、専用のデバイス、ロジック回路、及びメモリなどのハードウェアにより実装されてもよい。或いは、各ブロックの機能は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するCPU等のコンピュータにより実装されてもよい。画像処理装置200は、例えばデジタルカメラとして実施することができるが、それ以外の装置として実施することもできる。例えば、画像処理装置200は、パーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末又は撮像装置として実施することができる。
撮像部50は、例えばCCDやCMOSセンサ等のイメージセンサであり、光学系(図示せず)を介して撮像素子上に結像された光学像を光電変換し、得られたアナログ信号をA/D変換することでデジタル画像信号(すなわちRAWデータ)を出力する。
撮像部50は、各画素の露光時間が全て同じとなる動作モード(通常モード)と、露光時間が画素毎に異なる動作モード(HDRモード)の2つの動作モードを有する。撮像部50が通常モードで動作する場合、撮像部50は1度の撮影で所定の感度を有する1種類の画像を出力する。撮像部50がHDRモードで動作する場合、撮像部50は1度の撮影で複数の感度毎に異なる種類の画像を出力する。これらの感度や動作モードは、画像処理装置200内に備えられているCPU(図示せず)等が制御可能である。また、画像処理装置200を操作するユーザーは、画像処理装置200内に備えられているCPU(図示せず)を介してこれらの感度や動作モードを変更可能である。
本実施形態では、撮像部50がHDRモードで動作する場合、短時間露光がなされた低感度画像、及び長時間露光がなされた高感度画像の2種類の画像が、撮像部50から出力されることとする。この場合、撮像部50から出力されるデータ量が通常モード時の2倍となるため、後段の処理ブロック(画像符号化部20等)に処理性能に応じて、これらの処理ブロックを複数有する構成であってもよい。また、撮像部50は、低感度画像、中感度画像、高感度画像などといったように、3種類以上の画像を出力可能な構成であってもよい。
なお、本実施形態では、撮像部50が、画像符号化部20やメモリ30等と分離されている構成を取っているが、例えば、撮像部50が内部に有するロジック回路部等に、画像処理装置200を構成するブロックの一部が搭載されている構成であってもよい。
画像符号化部20は、撮像部50が通常モードで動作する場合、第1〜第3の実施形態と同様に動作する。すなわち、画像符号化部20は、入力画像データに対して特徴解析を行い、画像中の暗部や平坦部などに含まれる画素の損失を低減することで、圧縮符号化後の画像の視覚的な劣化を目立ちにくくすることができる。
一方、詳細については後述するが、画像符号化部20は、撮像部50がHDRモードで動作する場合、撮像部50から出力された低感度画像、及び高感度画像をそれぞれ圧縮符号化する。さらに、画像符号化部20は、入力画像データの感度に応じた特徴解析を行うことで、第1〜第3の実施形態よりもさらに効果的に圧縮符号化後の画像の視覚的な劣化を目立ちにくくすることができる。
メモリ30は、撮像部50が通常モードで動作する場合、第1〜第3の実施形態と同様に画像符号化部20から出力された符号化データを格納する。撮像部50がHDRモードで動作する場合、メモリ30は、画像符号化部20から出力された低感度画像の符号化データ、及び高感度画像の符号化データをそれぞれ格納する。
画像復号部40は、撮像部50が通常モードで動作する場合、第1〜第3の実施形態と同様にメモリ30に保持された符号化データを読み出し、所定の復号方式により復号し、復号化画像データを後段へ出力する。撮像部50がHDRモードで動作する場合、画像復号部40は、メモリ30に保持された低感度画像の符号化データ、及び高感度画像の符号化データを読み出し、それぞれ低感度画像、高感度画像に復号して後段へ出力する。
画像合成部60は、撮像部50がHDRモードで動作する場合、画像復号部40から出力される低感度画像と、高感度画像を合成して広ダイナミックレンジ画像(HDR画像と呼ぶ)を生成する。撮像部50が通常モードで動作する場合、画像合成部60は、画像復号部40から出力された画像をそのまま後段へ出力する。
現像処理部70は、画像合成部60により出力された画像(RAWデータ)に対して現像処理を実行し、記録画像データを生成する。より具体的には、現像処理部70は、デベイヤ(デモザイク)処理と呼ばれる色補間処理、色空間変換処理、ノイズ抑制処理、光学的な歪補正、拡大・縮小処理等を実行し、YCbCr4:2:2等の輝度と色差で表される記録画像データを生成する。
なお、本実施形態では画像合成部60は画像復号部40から出力された画像に対して画像合成を行うが、例えば、画像合成部60が現像処理部70の後段に位置し、現像処理部70から出力された現像処理後の画像に対して画像合成を行う構成であってもよい。
記録処理部80は、現像処理部70から出力される記録画像データに対して圧縮処理を行い、圧縮された記録画像データを記録媒体90に格納する。例えば、記録画像データが静止画である場合、記録処理部80はJPEG圧縮やHEIF圧縮等を用いて記録画像データを圧縮する。記録画像データが動画である場合、記録処理部80はMPEG−2、H.264、H.265等を用いて記録画像データを圧縮する。
図21は、本実施形態における撮像部50の構成例を示す図である。
画素部500には、フォトダイオードなどの光電変換素子で形成されている複数の単位画素501が行列状に配置されている。本実施形態の画素部500は、後述するタイミング制御部508によって露光時間が画素単位で制御され、露光時間が長い設定とされる長時間露光画素、及び露光時間が短い設定とされる短時間露光画素、これらの2種類の画素が存在する。
垂直走査回路502は画素部500の画素信号を、1フレーム中に順次読み出すためのタイミング制御を行う。一般的に、画素信号は1フレーム期間中に上部の行から下部の行にかけて、行単位で順次読み出される。
列アンプ503は、画素部500の各列に対して構成された、複数の列アンプから成り、単位画素501から読み出された信号を電気的に増幅するために用いられる。列アンプ503で信号を増幅することにより、後段の列ADC504で発生するノイズに対して、画素の信号レベルを増幅し、等価的にS/N比を改善させることができる。
列ADC504は、画素部500の各列に対して構成された、複数の回路から成り、列アンプ503により増幅された信号をデジタル信号に変換する。デジタル信号に変換された画素信号は、水平転送回路505により順次読み出されて、信号処理部506に入力される。
信号処理部506はデジタル的に信号処理を行う回路であり、デジタル処理で一定のオフセット値を加える処理の他に、シフト演算や乗算を行うことで、簡易にゲイン演算を行うことができる。また、画素部500が遮光された画素領域を有する構造の場合、これを利用したデジタルの黒レベルクランプ動作を行ってもよい。また、信号処理部506は、シリアライザー機能を有し、信号処理部506内の多ビットの入力パラレル信号を、シリアル信号に変換する。信号処理部506は、このシリアル信号をLVDS信号等に変換し、外部デバイスへの画素情報として出力する。
メモリ507は、画素部500から読み出され、列アンプ503、列ADC504、信号処理部506により処理された、信号を一時的に保持しておく機能を持つ。
タイミング制御部508は、撮像部50内の各ブロックに対する動作クロック信号やタイミング信号を供給して、撮像部50の全体動作を制御する。また、タイミング制御部508は、後述する制御信号516、517を制御することで、各画素の露光時間を制御することができる。
次に、図22を参照して、画素部500から水平転送回路505までの信号の流れについて説明する。
光電変換部513は、光電変換を行って光を電荷に変換する。転送スイッチ515は、光電変換部513で発生した電荷を後段の回路に転送する。
制御信号516、517はそれぞれ各画素の露光時間を制御するための制御信号であり、それぞれ短時間露光用の制御信号、及び長時間露光用の制御信号である。単位画素501につきこれらの2本の制御信号が配線され、制御信号516、もしくは517のどちらか一方が各単位画素の転送スイッチ515に接続されるものとする。図22に示した例では、転送スイッチ515に短時間露光用の制御信号516が接続されているため、図22に示す単位画素501は短時間露光画素である。タイミング制御部508は、これらの2本の信号のON/OFFの間隔を制御することで、画素単位の露光時間を制御することができる。
電荷保持部518は、光電変換部513で発生した電荷を一時的に保持する。画素アンプ519は、電荷保持部518に保持された電荷を電圧信号に変換し、垂直線520を通して列アンプ503へ出力する。電流制御部521は、垂直線520の電流を制御する。
列ADC504は、A/D変換部522、メモリ523、524、及び減算器525を備える。A/D変換部522は、列アンプ503の出力に対してA/D変換を行う。メモリ523、524は、A/D変換部522により変換されたデジタル信号を一時的に保持する。メモリ523は、光電変換部513から読みだされた画素信号と、読み出し回路部(電荷保持部518からA/D変換部522までの回路)のノイズ信号とを保持する。メモリ524は、読み出し回路部のノイズ信号を保持する。減算器525は、メモリ523の出力からメモリ524の出力を減算し、減算結果を画素信号として水平転送回路505へ出力する。
次に、画素部500の画素配列構造について図23を参照して説明する。図23に示す画素部500の画素配列は、2x2ごとにR画素、Gr画素、Gb画素、B画素となっており、同一の色が2x2に配置されているのが特徴である。これらの計4x4画素を最小単位として、この最小単位を繰り返し配置した構成を有する。
図23に示す画素配列における露光時間の設定について、図24を参照して説明する。図24に示すように、水平方向をx、垂直方向をyとして、列番号をx座標で表し、行番号をy座標で表している。括弧で示した数字は各画素の位置を示す座標を示している。また、図24において、灰色の画素が短時間露光画素、白色の画素が長時間露光画素を表している。本実施形態においては、図24に示すように列方向にジグザグ状に短時間露光画素と長時間露光画素が設定されている。
例えば、図24の左上端の4つのR画素の座標設定は以下のとおりである。
R(1,1):短時間露光画素
R(2,1):長時間露光画素
R(1,2):長時間露光画素
R(2,2):短時間露光画素
このように各列において短時間露光画素と長時間露光画素が交互に設定され、各行に短時間露光画素と長時間露光画素が交互に設定された構造となっている。第1列と、第2列においてy方向に短時間露光画素のみを辿ると、上から、
第1行では第1列が短時間露光画素、
第2行では第2列が短時間露光画素、
第3行では第1列が短時間露光画素、
第4行では第2列が短時間露光画素
というようにジグザグ状に短時間露光画素が配列されている。同様に、第1列と、第2列においてy方向に長時間露光画素のみを辿ると、上から、
第1行では第2列が長時間露光画素、
第2行では第1列が長時間露光画素、
第3行では第2列が長時間露光画素、
第4行では第1列が長時間露光画素
というようにジグザグ状に長時間露光画素が配列されている。
以上のように、画素配列とその露光時間の設定は、同一色の画素が2x2画素単位で設定され、この4画素中に2つの短時間露光画素と長時間露光画素が配置されている構造となっている。
次に、撮像部50が通常モードで動作する場合の画像の出力形式について図25を参照して説明する。
撮像部50が通常モードで動作する場合、各画素の露光時間が全て同じとなる。このとき、撮像部50は、図25(a)内の灰色のひし形で示している同一色2x2画素の平均値を出力する。より具体的には、図25(b)に示す撮像部50の出力は、以下ように導出可能である。
Figure 2021103875
図25(b)に示すように、撮像部50から出力される画像の形式は、一般的なベイヤー配列型のイメージセンサから出力されるRAWデータの形式と他ならない。よって、撮像部50の後段の画像符号化部20や画像復号部40は、第1〜第3の実施形態と同様の動作を行うことで、ベイヤー配列型のRAWデータの圧縮符号化時に生じる視覚的な劣化を低減することができる。
次に、撮像部50がHDRモードで動作する場合の画像の出力形式について図26を参照して説明する。
撮像部50がHDRモードで動作する場合、撮像部50は、図26(a)内の同一色2x2画素領域に含まれる、2画素の短時間露光画素の平均値、及び残りの2画素の長時間露光画素の平均値をそれぞれ出力する。本実施形態では、2画素の短時間露光画素の平均値を短時間露光のなされた低感度画像の画素とし、2画素の長時間露光画素の平均値を長時間露光画素のなされた高感度画像の画素とする。ここで、図26(b)に示す低感度画像の出力は以下のように導出可能である。
Figure 2021103875
一方、図26(b)に示す高感度画像の出力は以下のように導出可能である。
Figure 2021103875
撮像部50から出力される低感度画像、高感度画像の2種類の画像は、画像符号化部20でそれぞれ圧縮符号化され、メモリ30に格納される。さらに、画像復号部40で2種類の符号化データが復号され、復号された低感度画像、及び高感度画像が画像合成部60で合成され、HDR画像が生成される。ここで、画像合成部60におけるHDR画像の生成方法について、図27を用いて説明する。
図27は、画像合成部60のブロック構成図である。画像合成部60は低感度画像用のゲイン補正部601、高感度画像用のゲイン補正部602、セレクタ603、及び合成部604から構成される。
HDR画像の生成を行う際、一般的に低感度画像、高感度画像の2種類の画像のうち1つの画像は適正露出で撮影されたデータとなり、もう一方の画像がダイナミックレンジを拡張するための補助データとして用いられる。以降の説明では、高感度画像が適正露出で撮影された場合と、低感度画像が適正露出で撮影された場合の2つのケースに分けて説明する。
なお、画像処理装置200を操作するユーザーは、画像処理装置200内に備えられているCPU(図示せず)を介して、低感度画像と高感度画像のどちらの画像を適正露出とするか設定可能であるものとする。また、画像処理装置200内に備えられているCPU(図示せず)が、自動的にどちらの画像を適正露出とするか判定可能な構成であってもよい。
ゲイン補正部601、及びゲイン補正部602は、低感度画像と高感度画像の露出を揃えるために用いられる。ここで、ゲイン補正部601、及びゲイン補正部602の行う補正の詳細を、図28を用いて説明する。
図28(a)は、高感度画像を適正露出で撮影した場合のゲイン補正の一例を示している。被写体の明るさ(入力光量)がある閾値th_whiteを超えると、高感度画像の出力は白とびが発生し諧調が失われる。一方、低感度画像では、閾値th_whiteを超える明るさにおいても、白とびが発生せず諧調が残っている。この低感度画像に対し、ゲイン補正部601においてゲインアップを行うことで、高感度画像の白とび発生部分の画素値を推定する。さらに、後段の合成部604において、ゲインアップされた低感度画像と高感度画像を合成することで、白とび部分が補償されたHDR画像を生成することができる。なお、高感度画像を適正露出で撮影した場合、ゲイン補正部602において高感度画像に対するゲイン補正は行わなくてもよい。
図28(b)は、低感度画像を適正露出で撮影した場合のゲイン補正の一例を示している。被写体の明るさ(入力光量)がある閾値th_darkを下回ると、低感度画像の出力は黒つぶれが発生し諧調が失われる。一方、高感度画像では、閾値th_darkを下回る明るさにおいても、黒つぶれが発生せず諧調が残っている領域が存在する。この高感度画像に対し、ゲイン補正部602においてゲインダウンを行うことで、低感度画像の黒つぶれ発生部分の画素値を推定する。さらに、後段の合成部604において、ゲインダウンされた高感度画像と低感度画像を合成することで、黒つぶれ部分が補償されたHDR画像を生成することができる。なお、低感度画像を適正露出で撮影した場合、ゲイン補正部601において低感度画像に対するゲイン補正は行わなくてもよい。
なお、ゲイン補正部601、及びゲイン補正部602が行うゲイン補正の度合い(ゲイン値)は、低感度画像と高感度画像の感度比や、低感度画像と高感度画像の露光時間の比などから求めればよい。例えば、高感度画像を適正露出で撮影し、低感度画像と高感度画像の感度比が1:4である場合、低感度画像の画素値を4倍にすれば、高感度画像の白とび発生部分の画素値を推定することができる。
セレクタ603は、低感度画像と高感度画像のうち、適正露出で撮影された画像の画素値を合成部604へ出力する。
合成部604は、ゲイン補正された低感度画像、及び高感度画像を合成し、HDR画像を生成する。ここで、合成部604が行う低感度画像と高感度画像の合成方法の一例を、図29を用いて説明する。
図29の各グラフの横軸は、適正露出画像の明るさ(画素値)を示しており、セレクタ603から得られる画素値である。縦軸は低感度画像、もしくは高感度画像の合成割合を示している。
本実施形態では、画像の合成時に各画像の合成割合の合計が常に100%となるように設定している。つまり、合成部604から出力されるHDR画像の画素値hdr_img[pix]は以下の式で導出可能である。
hdr_img[pix]= α × main_img[pix] + (1-α) × sub_img[pix] …(25)
ここで、αは適正露出の画像の合成割合、main_img[pix]は適正露出の画像の画素値、sub_img[pix]は適正露出でない画像の画素値を示している。
図29(a)は、高感度画像を適正露出で撮影した場合の、各画像の合成割合の一例を示している。図28で示したように閾値th_whiteを超える明るさにおいては、高感度画像の白とびが発生するため、本実施形態では、閾値th_pre_whiteを境に、閾値th_whiteの時点で高感度画像の合成割合が0%まで減少するように推移させている。また、低感度画像の合成割合は、閾値th_pre_whiteを境に、閾値th_whiteの時点で100%まで増加するよう推移させている。このように合成割合を設定することで、白とび部分が補償された広ダイナミックレンジ画像を合成することができる。
図29(b)は、低感度画像を適正露出で撮影した場合の、各画像の合成割合の一例を示している。図28で示したように閾値th_darkを下回る明るさにおいては、低感度画像の黒つぶれが発生するため、本実施形態では、閾値th_pre_darkを境に、閾値th_darkの時点で低感度画像の合成割合が0%まで減少するように推移させている。また、高感度画像の合成割合は、閾値th_pre_darkを境に、閾値th_darkの時点で100%まで増加するよう推移させている。このように合成割合を設定することで、黒つぶれ部分が補償された広ダイナミックレンジ画像を合成することができる。
なお、本実施形態では説明の簡単化のため、合成割合がある閾値から変化する例を説明したが、合成処理のアルゴリズムはこれに限定されるものではない。
このように、画像合成部60がHDR画像を生成する際、画像が適正露出であるか否か、あるいは画素値の大きさ(明るさ)に応じて、各画像の合成割合が変化する。合成割合の大きさは画質への影響度であり、合成割合が大きい領域は画質への影響が大きく、合成割合が小さい領域は画質への影響は少ない。このことを踏まえると、画像符号化部20、及び画像復号部40において、後段の画像合成部60における合成割合が大きい領域ほど多くの符号量を割り当て、それ以外の領域は符号量を削減することで、より効果的に画像の視覚的な劣化を低減させることができる。このような符号量の柔軟な割り当てを、本実施形態では画像符号化部20内の特徴解析部225で実現する。以下、本実施形態の特徴解析部225における特徴解析方法の詳細を、フローチャートを用いて説明する。
図30は、本実施形態において撮像部50がHDRモードで動作する場合の、特徴解析部225における特徴解析処理の概要を示すフローチャートである。以下、同図を参照して、特徴解析部225の処理を説明する。
S3001にて、特徴解析部225は、図2に示す逆量子化部224から逆量子化データを画素単位で取得し、当該画素の明るさを算出する。なお、本実施形態では、実施形態1と同様に、逆量子化データのレベル値を、明るさを示す指標として用いる(レベル値が小さい=暗い、レベル値が大きい=明るい)。なお、本実施形態の明るさを示す指標としてはこの方法に限定されず、例えば、RGB形式の逆量子化データをさらにYUV形式に色空間変換し、Y成分のレベル値を用いてもよい。或いは、逆量子化ブロックを複数の領域に分割し、それぞれの分割領域における逆量子化データのレベル値の平均値を用いてもよい。
S3002〜S3004において、特徴解析部225は、適正露出画像が高感度画像であるか否か、及び符号化対象画像が高感度画像であるか否かに基づいて、実行する処理S3005〜S3008を切り替える。例えば、適正露出が高感度画像であり、かつ、符号化対象画像が高感度である場合、特徴解析部225はS3005を実行する。また、適正露出が低感度画像であり、かつ、符号化対象画像が低感度画像である場合、特徴解析部225はS3007を実行する。ここで、図31A乃至31Dを用いて特徴解析部225が実行するS3005〜S3008の詳細について説明する。
図31A乃至31Dは、本実施形態において撮像部50がHDRモードで動作する場合の、特徴解析部225が実行する特徴解析処理の詳細示すフローチャートである。以下、同図を参照して、特徴解析部225の処理を説明する。
図31Aは、適正露出が高感度画像であり、かつ、符号化対象画像が高感度画像である場合の、特徴解析部225の処理(S3005)を示すフローチャートである。
特徴解析部225は、S3101〜S3105の処理において、着目画素に対し特徴分類結果rankを算出する。実施形態1と同様に、rankは1〜4の値を持ち、値が大きい画素ほど、人間の視覚的に劣化の目立ちやすい画素、もしくは重要度の高い画素であるものとする。
S3101にて、特徴解析部225は着目画素の明るさbrightnessが閾値th_pre_white以下であるか否か判定する。図29(a)に示すように、着目画素の明るさbrightnessが閾値th_pre_white以下である場合、当該画素のHDR画像に対する合成割合は100%である。よって、当該画素のHDR画像における画質への影響は大きく、重要度が高い画素であるといえる。このような場合、S3102にて、特徴解析部225は着目画素の特徴分類結果rankに“4”を代入する。
着目画素の明るさbrightnessが閾値th_pre_whiteより大きい場合、特徴解析部225は、着目画素の明るさbrightnessが閾値th_white以下であるか否か判定する。図29(a)に示すように、着目画素の明るさbrightnessが閾値th_pre_whiteより大きく、閾値th_white以下である場合、当該画素のHDR画像に対する合成割合は100%〜0%の間の値を取る。よって、当該画素のHDR画像における画質への影響は必ずしも大きいとはいえないものの、本実施形態では当該画素を中程度の重要度として扱う。このような場合、S3104にて、特徴解析部225は着目画素の特徴分類結果rankに“3”を代入する。
一方、着目画素の明るさbrightnessが閾値th_whiteよりも大きい場合、図29(a)に示すように、当該画素のHDR画像に対する合成割合は0%である。よって、当該画素のHDR画像における画質への影響は小さく、重要度の低い画素であるといえる。このような場合、S3105にて、特徴解析部225は着目画素の特徴分類結果rankに“1”を代入する。
図31Bは、適正露出が高感度画像であり、かつ、符号化対象画像が低感度画像である場合の、特徴解析部225の処理(S3006)を示すフローチャートである。図28(a)で示した例と同様に、特徴解析部225は着目画素のHDR画像に対する合成割合に応じて、各画素に対してrankを判定する。
図31Aと異なり、特徴解析部225は、図31BではS3106、及びS3108における着目画素のrankの判定において、低感度画像の明るさbrightnessを用いている。ここで、画像符号化部20はゲイン補正部601の前段に位置しているため、この時点では低感度画像のゲイン補正が実行されておらず、適正露出の高感度画像と露出が揃っていない。よって、S3106、及びS3108では、低感度画像用の閾値th_pre_white´、及びth_white´を用いて、後段の画像合成部60における合成割合が変化する位置(明るさ)を判定することとする。ここで、閾値th_pre_white´、及びth_white´は、閾値th_pre_white、及びth_whiteを基準に、低感度画像と高感度画像の感度比や、低感度画像と高感度画像の露光時間の比などから求めればよい。例えば、高感度画像を適正露出で撮影し、低感度画像と高感度画像の感度比が1:4である場合、低感度画像用の閾値を1/4倍にすれば、後段の画像合成部60における閾値th_pre_white、及びth_white相当の位置(明るさ)を推定することができる。
図31Cは、適正露出が低感度画像であり、かつ、符号化対象画像が低感度画像である場合の、特徴解析部225の処理(S3007)を示すフローチャートである。
S3111にて、特徴解析部225は着目画素の明るさbrightnessが閾値th_pre_darkより大きいか否か判定する。図29(b)に示すように、着目画素の明るさbrightnessが閾値th_pre_darkより大きい場合、当該画素のHDR画像に対する合成割合は100%である。よって、当該画素のHDR画像における画質への影響は大きく、重要度が高い画素であるといえる。このような場合、S3112にて、特徴解析部225は着目画素の特徴分類結果rankに“4”を代入する。
着目画素の明るさbrightnessが閾値th_pre_dark以下である場合、特徴解析部225は、着目画素の明るさbrightnessが閾値th_darkよりも大きいか否か判定する。図29(b)に示すように、着目画素の明るさbrightnessが閾値th_pre_dark以下であり、閾値th_darkよりも大きい場合、当該画素のHDR画像に対する合成割合は100%〜0%の間の値を取る。よって、当該画素のHDR画像における画質への影響は必ずしも大きいとはいえないものの、本実施形態では当該画素を中程度の重要度として扱う。このような場合、S3114にて、特徴解析部225は着目画素の特徴分類結果rankに“3”を代入する。
一方、着目画素の明るさbrightnessが閾値th_whiteよりも大きい場合、図29(b)に示すように、当該画素のHDR画像に対する合成割合は0%である。よって、当該画素のHDR画像における画質への影響は小さく、重要度の低い画素であるといえる。このような場合、S3115にて、特徴解析部225は着目画素の特徴分類結果rankに“1”を代入する。
図31Dは、適正露出が低感度画像であり、かつ、符号化対象画像が高感度画像である場合の、特徴解析部225の処理(S3008)を示すフローチャートである。図31Cで示した例と同様に、特徴解析部225は着目画素のHDR画像に対する合成割合に応じて、各画素に対してrankを判定する。
図31Cと異なり、図31DではS3116、及びS3118における着目画素のrankの判定において、高感度画像の明るさbrightnessを用いている。図31Bと同様に、この時点では高感度画像のゲイン補正が実行されておらず、適正露出の低感度画像と露出が揃っていない。よって、S3116、及びS3118では、高感度画像用の閾値th_pre_dark´、及びth_dark´を用いて、後段の画像合成部60における合成割合が変化する位置(明るさ)を判定することとする。
なお、rankの設定方法は上述した方法に限定されるものではない。例えば、低感度画像と高感度画像のうち、適正露出で撮影された画像は実施形態1〜3で説明した方法と同様のアルゴリズムでrankを設定し、残りの露出アンダー、もしくは露出オーバーで撮影された画像に対し、図30〜図31Dで説明したアルゴリズムによりrankを設定することも可能である。
以上、説明してきたように、特徴解析部225は、HDR画像生成の際に合成割合が大きい画素に大きなrankを設定し、合成割合が小さい画素に小さなrankを設定する。また、第1の実施形態で既に説明したように、特徴解析部225の特徴分類結果rankは多重化部223に出力される。多重化部223は特徴解析部225から出力された特徴分類結果に基づき、重要度が高い画素ほど、量子化によって生じる損失ビットを符号化データに優先的に格納する。このようにすることで、HDR画像生成の際に画質に影響する領域に対し符号量を大きく割り当て、それ以外の領域は符号量を削減することができる。よって、本実施形態を実施しない場合、すなわち、着目ブロックの全ての領域に均等に符号量を割り当てる場合に比べて、より効果的にHDR画像の視覚的な劣化を低減させることができる。
[第5の実施形態]
近年、撮像素子の列ごとに設けられた増幅回路の入力容量を切り替える機能を持ち、信号レベルに応じてゲインを切り替えることで、複数の感度の異なる画像を出力可能な撮像デバイスが知られている。第4の実施形態で説明した撮像デバイスと同様に、本撮像デバイスから得られる複数の感度毎の異なる画像を合成することにより、従来の撮像デバイスよりも広ダイナミックレンジの画像を1度の撮影で得ることができる。第5の実施形態では、このような撮像デバイスから得られる画像を符号化対象とした場合の説明を行う。
第5の実施形態では、撮像デバイスのみ第4の実施形態と異なるものの、基本的に図20で示した第4の実施形態と同様の構成で実現可能であり、同様の効果を得ることができる。よって、第5の実施形態は、第4の実施形態との差分である撮像デバイスに関して主に説明を行い、第4の実施形態と同様の箇所については説明を省略する。
詳細は後述するが、本実施形態における列アンプ503は複数のゲインを用いて信号を増幅可能であり、異なるゲインで増幅された信号を合成することで、画像のダイナミックレンジを拡大することができる。また、本実施形態におけるタイミング制御部508は、列アンプ503に備えられている各スイッチを制御することで、列アンプ503のゲインを変更することができる。
なお、本実施形態では列アンプ503のゲインを切り替えることにより複数の異なる感度を有する画像を出力可能であるため、本実施形態における画素部500は、第4の実施形態のように短時間露光用の画素と長時間露光用の画素の2種類の画素を有する必要ない。すなわち、本実施形態では単位画素501に対し、露光時間を制御するための2種類の制御信号516、517が配線されている必要はなく、単位画素501の転送スイッチ515を制御するための1種類の制御信号が配線されていればよい。
図32は、本実施形態における列アンプ503のうち、ある列を一つだけ抜き出した回路の構成を示す図である。本回路は、オペアンプ531と、入力側コンデンサ536、537と、フィードバックコンデンサ539、530で構成された反転増幅回路となっている。オペアンプ531の正側入力端子(非反転入力端子)には、基準電源から所定の基準電圧が印可されている。また、タイミング制御部508は、各スイッチ534,535、538を操作することにより、コンデンサ536,537,539の接続を切り替えることができる。
フィードバックコンデンサ539、530は、オペアンプ531の反転入力端子と出力端子にそれぞれ接続され、互いに並列である。スイッチ538は、フィードバックコンデンサ539と直列に接続されており、フィードバックコンデンサ539の接続を制御する。オペアンプ531の増幅率は「入力側の容量/フィードバック容量」により決定される。
スイッチ534をONとし、かつ、スイッチ535、538をOFFとしたとき、オペアンプ531はコンデンサ536とコンデンサ530との静電容量比に対応する、第1のゲインで増幅した信号を列ADC504に出力する。また、スイッチ534をOFFとし、スイッチ535、538をONしたとき、オペアンプ531はコンデンサ537とコンデンサ539、530の合成容量との比に対応する、第2のゲインで増幅した信号を列ADC504に出力する。このように、各スイッチによりコンデンサの容量を切り替えることで、感度の異なる2種類の画像信号を出力することができる。
以上、説明してきたように、第5の実施形態の撮像部50は、列アンプ503の回路構造を工夫することで、第4の実施形態の撮像部50と同様に、低感度画像と高感度画像を出力することができる。また、これらの画像は、第4の実施形態と同様の方法で圧縮符号化され、画像合成部60においてHDR画像が生成される。本実施形態の圧縮符号化においても、第4の実施形態と同様に、HDR画像生成の際に画質に影響する領域に対し符号量を大きく割り当て、それ以外の領域は符号量を削減する。よって、本実施形態を実施しない場合、すなわち、着目ブロックの全ての領域に均等に符号量を割り当てる場合に比べて、より効果的にHDR画像の視覚的な劣化を低減させることができる。
[第6の実施形態]
第4の実施形態、及び第5の実施形態では、1度の撮影で複数の感度の異なる画像を出力可能な撮像デバイスを用いて、HDR画像を生成する際の圧縮符号化方法について説明した。一方、一般的なCCDやCMOSセンサ等のイメージセンサを用いた場合において、露出量を変えながら複数毎の画像を時分割で撮影し、それらの画像を合成してHDR画像を生成するということは、デジタルカメラやスマートフォン等で既に実施されている。第6の実施形態では、このように露出量を変えながら時分割で撮影した複数毎の画像を符号化対象とした場合の説明を行う。
図33は、被写体に対して露出量を変えながら時分割で撮影する場合の、撮像部50の動作タイミング例を示す図である。
図33において、撮像部50によりi−1番目の画像が適正露光時間T1で撮影されている。また、i−1番目の画像撮影から一定時間T2経過後、i番目の画像がi−1番目の画像よりも短い露光時間T2(露出アンダー)で撮影されている。ここで、i−1番目の画像は、i番目の画像よりも相対的に露光時間の長い高感度画像となり、反対にi番目の画像は露光時間の短い低感度画像となる。このように、撮像部50は露出量を変えながら複数毎の異なる感度を有する画像を時分割で撮影し、出力することができる。
なお、図33に示す撮像部50の動作タイミングや露光時間は、画像処理装置200に備えられるCPU(図示せず)が、撮像部50のタイミング制御部508等を操作することにより変更可能である。
このように、第6の実施形態の撮像部50は、露出量を変えながら時分割で撮影を行うことにより、第4、第5の実施形態の撮像部50と同様に、低感度画像と高感度画像を出力することができる。また、これらの画像は、第4、第5の実施形態と同様の方法で圧縮符号化され、画像合成部60においてHDR画像が生成される。本実施形態の圧縮符号化においても、第4、第5の実施形態と同様に、HDR画像生成の際に画質に影響する領域に対し符号量を大きく割り当て、それ以外の領域は符号量を削減する。よって、本実施形態を実施しない場合、すなわち、着目ブロックの全ての領域に均等に符号量を割り当てる場合に比べて、より効果的にHDR画像の視覚的な劣化を低減させることができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
10…取得部、20…画像符号化部、30…メモリ、40…画像復号部、210…仮符号化系、220…本符号化系、211A〜211E…符号化部、215…QP決定部、221…遅延部、223…多重化部、224…逆量子化部、225…特徴解析部

Claims (25)

  1. 所定の画素数で構成されるブロックを単位として符号化し、予め設定された固定長の符号化データを生成し、出力する画像符号化装置であって、
    画像発生源から、前記ブロックの画像データを取得する取得手段と、
    該取得手段で取得した画像データを符号化し、前記固定長を超えない符号量の符号化データを生成し、前記固定長となるための不足分のビットを付加して出力する符号化処理手段とを有し、
    前記符号化処理手段は、
    着目ブロックの符号量が前記固定長以下となるように、当該着目ブロックに含まれる各画素を量子化し、当該量子化で得た量子化データを可変長符号化する可変長符号化手段と、
    該可変長符号化手段で得た前記着目ブロックの符号量と前記固定長との差から、当該固定長となるための空き領域のサイズを判定する判定手段と、
    前記着目ブロックの各画素の量子化データを解析し、各画素の重要度を示す指標値を算出する解析手段と、
    前記指標値が示す重要度が大きい画素ほど前記量子化で損失した多くのビットの値を前記空き領域に格納することで、前記可変長符号化手段で得た符号化データと量子化で損失したビットとを多重化し、前記固定長のデータを生成する多重化手段と
    を含むことを特徴とする画像符号化装置。
  2. 前記解析手段は、前記着目ブロックの各画素の量子化データに基づき、着目画素が属する領域が暗いほど大きな値を持つ前記指標値を算出することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記解析手段は、前記着目ブロックの各画素の量子化データに基づき、着目画素が属する領域が平坦であるほど大きな値を持つ前記指標値を算出することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記解析手段は、
    前記着目ブロックの各画素の量子化データに基づき、着目画素の明るさが、予め設定された暗部判定の閾値以下であるか否かを判定する明るさ判定手段と、
    前記着目ブロックの各画素の量子化データに基づき、前記着目画素が、予め設定された平坦部に属するか否かを判定する平坦度判定手段と、
    前記着目ブロックにおける量子化データに基づいてエッジ数を求め、求めたエッジ数と予め設定した閾値とを比較することで、前記着目画素が属する領域の複雑度を判定する複雑度判定手段と、
    前記明るさ判定手段、前記平坦度判定手段、及び、前記複雑度判定手段の判定に基づき、前記着目画素の重要度の指標値を決定する決定手段と
    を含むことを特徴とする請求項1に記載の画像符号化装置。
  5. 前記符号化処理手段は、
    前記可変長符号化手段により前記固定長以下の符号量の生成ができない場合、前記着目ブロックの各画素を、前記固定長以下となるように予め設定された量子化ステップを用いて量子化し、量子化データを生成する生成手段とを含む
    ことを特徴とする請求項1に記載の画像符号化装置。
  6. 前記生成手段は、前記固定長に対して予め設定した空き領域が生じるように設定された量子化ステップを用いて量子化し、
    前記解析手段は、前記着目ブロックから得た、前記生成手段で生成された量子化データについても前記指標値を算出し、
    前記多重化手段は、
    前記指標値が示す重要度が大きい画素ほど前記生成手段による量子化で損失した多くのビットの値を前記空き領域に格納することで、前記生成手段が生成した量子化データと、当該量子化で損失したビットとを多重化し、前記固定長のデータを生成する
    ことを特徴とする請求項5に記載の画像符号化装置。
  7. 前記画像発生源は、複数の異なる感度を有する画像データを出力し、
    前記取得手段は、前記画像発生源から出力された複数の異なる感度を有する画像データを取得し、
    前記符号化処理手段は、前記取得手段により取得した複数の感度を有する画像データをそれぞれ符号化し、
    前記解析手段は、
    着目画素の属する画像データの感度、及び当該画素の量子化データに基づく着目画素の明るさに応じて、前記指標値の算出方法を変更する、
    ことを特徴とする請求項1に記載の画像符号化装置。
  8. 前記画像発生源は、
    適正露出を有する第1の画像データと、
    前記第1の画像データと比較して低感度、あるいは高感度を有する第2の画像データを出力する、
    ことを特徴とする請求項7に記載の画像符号化装置。
  9. 前記第2の画像データが低感度を有する場合、
    前記解析手段は、
    前記第2の画像データの解析において、
    前記着目画素が明るいほど大きな値を持つ前記指標値を算出する
    ことを特徴とする請求項8に記載の画像符号化装置。
  10. 前記第2の画像データが低感度を有する場合、
    前記解析手段は、
    前記第1の画像データの解析において、
    前記着目画素が暗いほど大きな値を持つ前記指標値を算出する
    ことを特徴とする請求項8に記載の画像符号化装置。
  11. 前記第2の画像データが高感度を有する場合、
    前記解析手段は、
    前記第2の画像データの解析において、
    前記着目画素が暗いほど大きな値を持つ前記指標値を算出する
    ことを特徴とする請求項8に記載の画像符号化装置。
  12. 前記第2の画像データが高感度を有する場合、
    前記解析手段は、
    前記第1の画像データの解析において、
    前記着目画素が明るいほど大きな値を持つ前記指標値を算出する
    ことを特徴とする請求項8に記載の画像符号化装置。
  13. 前記画像発生源は、
    光電変換素子を備える複数の画素から構成される画素部と、
    画素単位で露光時間制御を実行する制御手段とを有し、
    前記制御手段の制御の下で複数の異なる露光時間を有する画素情報を出力可能なイメージセンサであって、
    前記画像データの感度は、前記制御手段による露光時間の長さに基づく、
    ことを特徴とする請求項7乃至請求項12のいずれか1項に記載の画像符号化装置。
  14. 前記画像発生源は、
    光電変換素子を備える複数の画素から構成される画素部と、
    前記画素部から出力される信号を複数の異なる増幅率で増幅する増幅手段とを有し、
    前記増幅手段により複数の異なる増幅率で増幅された画素情報を出力可能なイメージセンサであって、
    前記画像データの感度は、前記増幅手段による増幅率の大きさに基づく、
    ことを特徴とする請求項7乃至請求項12のいずれか1項に記載の画像符号化装置。
  15. 前記画像発生源はイメージセンサであって、
    前記画像データの感度は、
    前記画像データ毎に設定される撮影時の露出量に基づく、
    ことを特徴とする請求項7乃至請求項12のいずれか1項に記載の画像符号化装置。
  16. 請求項1に記載の画像符号化装置が生成した符号化データを復号する画像復号装置であって、
    所定数の画素で構成されるブロックの固定長の符号化データを取得する取得手段と、
    該取得手段で取得した符号化データを復号し、前記ブロックの画像を生成し、出力する復号処理手段とを有し、
    前記復号処理手段は、
    着目ブロックの符号化データにおける量子化データの符号データを復号することで、前記着目ブロックに含まれる各画素の量子化データを生成する復号手段と、
    該復号手段で得た着目ブロックの量子化データを逆量子化することで逆量子化データを生成する逆量子化手段と、
    該復号手段による復号の結果に基づき、前記着目ブロックの符号化データにおける、損失ビットの格納位置を判定する判定手段と、
    前記着目ブロックの各画素の逆量子化データを解析し、各画素の重要度を示す指標値を算出する解析手段と、
    前記着目ブロックの各画素の逆量子化データに、それぞれの画素の指標値に基づく損失ビットを、前記判定手段で判定した格納位置に基づいて補充し、補充後の逆量子化データを画素データとして出力する損失ビット付加手段とを備える
    ことを特徴とする画像復号装置。
  17. 画像発生源として機能する撮像手段と、請求項1に記載の画像符号化装置と、請求項16に記載の画像復号装置を有することを特徴とする撮像装置。
  18. 前記撮像装置は、
    前記撮像手段から複数の異なる感度を有する画像データを取得する取得手段と、
    複数の異なる感度を有する画像データを画素ごとに加算する合成手段と、をさらに有し、
    前記画像符号化装置は、
    前記取得手段から得られた複数の異なる感度を有する画像データをそれぞれ符号化し、
    前記画像復号装置は、前記画像符号化装置が生成した複数の異なる感度を有する画像データの符号化データをそれぞれ復号することで、複数の異なる感度を有する復号化画像データを生成し、
    前記合成手段は、前記複数の異なる感度を有する復号化画像データを画素ごとに加算し、
    前記画像符号化装置における解析手段は、前記合成手段における着目画素の合成割合に応じて、前記指標値の算出方法を変更する、
    ことを特徴とする請求項17に記載の撮像装置。
  19. 前記解析手段は、
    前記合成手段における着目画素の合成割合が大きいほど、大きな値を持つ前記指標値を算出する
    ことを特徴とする請求項18に記載の撮像装置。
  20. 前記撮像装置は、
    光電変換素子を備える複数の画素から構成される画素部と、
    画素単位で露光時間制御を実行する制御手段と、
    前記制御手段の制御の下で複数の異なる露光時間を有する画素情報を出力可能なイメージセンサであって、
    前記画像データの感度は、前記制御手段による露光時間の長さに基づく、
    ことを特徴とする請求項18又は請求項19に記載の撮像装置。
  21. 前記撮像装置は、
    光電変換素子を備える複数の画素から構成される画素部と、
    前記画素部から出力される信号を複数の異なる増幅率で増幅する増幅手段と、
    前記増幅手段により複数の異なる増幅率で増幅された画素情報を出力可能なイメージセンサであって、
    前記画像データの感度は、前記増幅手段による増幅率の大きさに基づく、
    ことを特徴とする請求項18又は請求項19に記載の撮像装置。
  22. 前記撮像装置はイメージセンサであって、
    前記画像データの感度は、
    前記画像データの撮影時の露出量に基づく、
    ことを特徴とする請求項18又は請求項19に記載の撮像装置。
  23. 所定の画素数で構成されるブロックを単位として符号化し、予め設定された固定長の符号化データを生成し、出力する画像符号化装置の制御方法であって、
    画像発生源から、前記ブロックの画像データを取得する取得工程と、
    該取得工程で取得した画像データを符号化し、前記固定長を超えない符号量の符号化データを生成し、前記固定長となるための不足分のビットを付加して出力する符号化処理工程とを有し、
    前記符号化処理工程は、
    着目ブロックの符号量が前記固定長以下となるように、当該着目ブロックに含まれる各画素を量子化し、当該量子化で得た量子化データを可変長符号化する可変長符号化工程と、
    該可変長符号化工程で得た前記着目ブロックの符号量と前記固定長との差から、当該固定長となるための空き領域のサイズを判定する判定工程と、
    前記着目ブロックの各画素の量子化データを解析し、各画素の重要度を示す指標値を算出する解析工程と、
    前記指標値が示す重要度が大きい画素ほど前記量子化で損失した多くのビットの値を前記空き領域に格納することで、前記可変長符号化工程で得た符号化データと量子化で損失したビットとを多重化し、前記固定長のデータを生成する多重化工程と
    を含むことを特徴とする画像符号化装置の制御方法。
  24. 請求項1に記載の画像符号化装置が生成した符号化データを復号する画像復号装置の制御方法であって、
    所定数の画素で構成されるブロックの固定長の符号化データを取得する取得工程と、
    該取得工程で取得した符号化データを復号し、前記ブロックの画像を生成し、出力する復号処理工程とを有し、
    前記復号処理工程は、
    着目ブロックの符号化データにおける量子化データの符号データを復号することで、前記着目ブロックに含まれる各画素の量子化データを生成する復号工程と、
    該復号工程で得た着目ブロックの量子化データを逆量子化することで逆量子化データを生成する逆量子化工程と、
    該復号工程による復号の結果に基づき、前記着目ブロックの符号化データにおける、損失ビットの格納位置を判定する判定工程と、
    前記着目ブロックの各画素の逆量子化データを解析し、各画素の重要度を示す指標値を算出する特徴解析工程と、
    前記着目ブロックの各画素の逆量子化データに、それぞれの画素の指標値に基づく損失ビットを、前記判定工程で判定した格納位置に基づいて補充し、補充後の逆量子化データを画素データとして出力する損失ビット付加工程とを備える
    ことを特徴とする画像復号装置の制御方法。
  25. コンピュータが読み込み実行することで、前記コンピュータに、請求項23又は24に記載の方法の各工程を実行させるためのプログラム。
JP2020176235A 2019-12-25 2020-10-20 画像符号化装置及び画像復号装置、並びにそれらの制御方法及びプログラム、及び、撮像装置 Pending JP2021103875A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019234651 2019-12-25
JP2019234651 2019-12-25

Publications (2)

Publication Number Publication Date
JP2021103875A true JP2021103875A (ja) 2021-07-15
JP2021103875A5 JP2021103875A5 (ja) 2023-10-24

Family

ID=76545707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020176235A Pending JP2021103875A (ja) 2019-12-25 2020-10-20 画像符号化装置及び画像復号装置、並びにそれらの制御方法及びプログラム、及び、撮像装置

Country Status (2)

Country Link
US (1) US11336896B2 (ja)
JP (1) JP2021103875A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023163357A1 (ko) * 2022-02-25 2023-08-31 광운대학교 산학협력단 스케일러블 구조 기반 하이브리드 태스크 목적 부/복호화 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7320352B2 (ja) * 2016-12-28 2023-08-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置
US20220107738A1 (en) * 2020-10-06 2022-04-07 Kioxia Corporation Read controller and input/output controller
JP2022119630A (ja) * 2021-02-04 2022-08-17 キヤノン株式会社 画像処理装置、画像処理方法、および撮像装置、ならびにそれらの制御方法
CN116489360A (zh) * 2022-06-06 2023-07-25 杭州海康威视数字技术股份有限公司 一种图像编解码方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3360844B2 (ja) * 1992-02-04 2003-01-07 ソニー株式会社 ディジタル画像信号の伝送装置およびフレーム化方法
US5784110A (en) * 1993-11-30 1998-07-21 General Electric Company Data processor for assembling transport data packets
US6668015B1 (en) * 1996-12-18 2003-12-23 Thomson Licensing S.A. Efficient fixed-length block compression and decompression
US8023563B2 (en) * 2002-10-04 2011-09-20 Stmicroelectronics S.R.L. Method and system for processing signals via perceptive vectorial quantization, computer program product therefor
EP1406447A1 (en) * 2002-10-04 2004-04-07 STMicroelectronics S.r.l. Method and system for processing signals via perceptive vectorial quantization, computer program product therefor
KR101110009B1 (ko) * 2004-02-27 2012-02-06 교세라 가부시키가이샤 촬상 장치 및 화상 생성 방법
US9113147B2 (en) * 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
CN102685478B (zh) * 2011-03-11 2015-04-29 华为技术有限公司 编码方法以及装置、解码方法以及装置
US10951310B2 (en) * 2012-12-27 2021-03-16 Panasonic Intellectual Property Corporation Of America Communication method, communication device, and transmitter
CN110213580B (zh) * 2014-01-03 2023-06-30 Ge视频压缩有限责任公司 编码器和解码器
JP6512928B2 (ja) 2015-04-28 2019-05-15 キヤノン株式会社 画像符号化装置、画像処理装置、画像符号化方法
CN111869194B (zh) * 2018-03-16 2023-04-14 索尼公司 信息处理装置、信息处理方法和存储介质
US20200084467A1 (en) * 2018-09-07 2020-03-12 Apple Inc. Low light compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023163357A1 (ko) * 2022-02-25 2023-08-31 광운대학교 산학협력단 스케일러블 구조 기반 하이브리드 태스크 목적 부/복호화 방법

Also Published As

Publication number Publication date
US20210203949A1 (en) 2021-07-01
US11336896B2 (en) 2022-05-17

Similar Documents

Publication Publication Date Title
JP2021103875A (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法及びプログラム、及び、撮像装置
JP4769039B2 (ja) デジタル信号符号化および復号化装置ならびにその方法
US8611426B2 (en) Image-sensing apparatus
JP2008294689A (ja) 撮像装置、撮像回路、および撮像方法
KR102495754B1 (ko) 광역 영상의 동적 범위를 압축하는 영상 처리 장치 및 방법
US10497093B2 (en) Image processing apparatus for minimizing deterioration of image quality of a raw image
JP6906324B2 (ja) 符号化装置、符号化方法、及び、プログラム
US10003801B2 (en) Image capturing apparatus that encodes and method of controlling the same
WO2016171006A1 (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
JP2023052939A (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、および復号プログラム
JP2015023498A (ja) 画像符号化装置、画像符号化方法およびプログラム
JP2009268032A (ja) 撮像装置
JP3795932B2 (ja) 画像データ圧縮符号化方法および装置
JP2959831B2 (ja) 画像データの符号化装置
JP6152642B2 (ja) 動画像圧縮装置、動画像復号装置およびプログラム
US10951891B2 (en) Coding apparatus capable of recording raw image, control method therefor, and storage medium storing control program therefor
JP2004040300A (ja) 画像処理装置
JP6775339B2 (ja) 画像符号化装置及びその制御方法
JP7256629B2 (ja) 画像符号化装置及びその制御方法及びプログラム
JP7321237B2 (ja) 画像符号化装置、画像符号化方法、プログラム
US11843870B2 (en) Image processing apparatus, image processing method, and image capture apparatus
JP2017200199A (ja) 動画像圧縮装置、動画像復号装置およびプログラム
KR100261109B1 (ko) 화질 향상이 가능한 휘도 신호 압축 부호화 장치
JP2023070055A (ja) 画像符号化装置及びその制御方法及びプログラム
JP2023154574A (ja) 画像処理装置及びその制御方法及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231012