JP6662123B2 - 画像符号化装置、画像符号化方法、及び画像符号化プログラム - Google Patents

画像符号化装置、画像符号化方法、及び画像符号化プログラム Download PDF

Info

Publication number
JP6662123B2
JP6662123B2 JP2016049115A JP2016049115A JP6662123B2 JP 6662123 B2 JP6662123 B2 JP 6662123B2 JP 2016049115 A JP2016049115 A JP 2016049115A JP 2016049115 A JP2016049115 A JP 2016049115A JP 6662123 B2 JP6662123 B2 JP 6662123B2
Authority
JP
Japan
Prior art keywords
palette
block
encoding
entry
unit
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.)
Active
Application number
JP2016049115A
Other languages
English (en)
Other versions
JP2017168879A (ja
Inventor
純平 小山
純平 小山
数井 君彦
君彦 数井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016049115A priority Critical patent/JP6662123B2/ja
Priority to US15/431,089 priority patent/US10440370B2/en
Publication of JP2017168879A publication Critical patent/JP2017168879A/ja
Application granted granted Critical
Publication of JP6662123B2 publication Critical patent/JP6662123B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables

Description

本発明は、画像符号化装置、画像符号化方法、及び画像符号化プログラムに関する。
動画像データは、非常に大きなデータ量を有することが多い。このため、送信装置から受信装置へ動画像データを送信する場合、又は動画像データを記憶装置に格納する場合には、動画像データの圧縮符号化が行われる。
代表的な動画像符号化標準としては、Moving Picture Experts Group phase 2(MPEG−2)、MPEG−4、又はH.264 MPEG-4 Advanced Video Coding(MPEG−4 AVC/H.264)が知られている。これらの動画像符号化標準は、International Organization for Standardization/International Electrotechnical Commission(ISO/IEC)により策定されている。
上述した動画像符号化標準は、インター予測符号化とイントラ予測符号化の2つの符号化方式を採用している。インター予測符号化は、符号化対象ピクチャを符号化済みピクチャの情報を用いて符号化する符号化方式であり、イントラ予測符号化は、符号化対象ピクチャが持つ情報のみを用いて符号化対象ピクチャを符号化する符号化方式である。
2013年1月には、High Efficiency Video Coding(HEVC)と呼ばれる次世代動画像符号化標準が、Joint Collaborative Team on Video Coding(JCTVC)と呼ばれる組織により策定された(例えば、非特許文献1及び非特許文献2を参照)。JCTVCは、International Telecommunication Union Telecommunication Standardization Sector(ITU−T)とISO/IECが共同で運営している組織である。
HEVCは、Sample Adaptive Offset(SAO)と呼ばれる新たなフィルタ、及びH.264が策定されたときにはハードウェアの制限により実装することが困難であったツールを導入することで、H.264の2倍の符号化効率を達成している。
さらに、JCTVCは、HEVCの拡張として、スクリーンコンテンツ向けの符号化標準であるScreen Content Coding(SCC)を策定している。SCCは、パーソナルコンピュータ(PC)のデスクトップ画面等の人工的な映像を符号化するための符号化標準である。SCCは、クラウド上のサーバから送信される映像を圧縮する用途のように、これからの時代に適した符号化標準として期待されている。
SCCは、PCの画面等の人工的な映像を扱うことを目的としており、その圧縮対象となる映像には、医療用の映像、Computer Aided Design(CAD)の映像等も含まれる。このため、SCCにはRGB色空間、4:4:4色空間等を考慮したツールが含まれている。これらの映像は、自然画像と比較して色成分の空間的相関がより高く、また、使用される色の数が制限される場合が多いため、SCCで追加されたツールは、このような映像の特性を利用して符号化効率の向上を実現している。
SCCで追加された代表的なツールとしては、Cross Component Prediction(CCP)、Adaptive Color Transform(ACT)、パレット符号化等が挙げられる。CCPは、それぞれの色成分の予測誤差間の相関を利用して、予測誤差を削減する技術であり、ACTは、予測誤差に対して、例えば、YCoCg色空間からRGB色空間への変換を適用することで、色成分間の相関を削減する技術である。
パレット符号化は、映像に頻出する色成分をインデックスで表し、そのインデックスを符号化することで、符号量を削減する技術である。例えば、YUV色空間のそれぞれの色成分が8ビットで表される場合、通常の符号化では、単純に考えると、1つの色を表現するための符号量は合計24ビットになる。
一方、パレット符号化では、頻出する色成分が存在する場合、その色成分にインデックスが付与され、色成分の代わりにインデックスが符号化される。例えば、インデックスの総数が、8ビットで表現可能な256個である場合、単純に考えると、1つの色を表現するための符号量は8ビットになる。したがって、符号化後の情報量が24ビットから8ビットに削減される。
もちろん、このような符号量の計算は単純化した例であり、実際の符号化では、直交変換及び算術符号化が行われるため、計算結果は異なってくる。しかし、基本的な考え方として、色をそのままの色成分で表すのではなく、少数のインデックスで表すことで、情報量を削減することが可能である。
SCCにより扱われる人工的な映像では、自然画像と比較して、同じ色が何度も使用され、さらに使用される色の種類もより限定的である、という傾向が見られる。パレット符号化では、その出現頻度の高い少数の色を、符号量の小さいインデックスで表すことで、情報量が削減され、符号化効率が向上する。
JCTVC-V1005, "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 5", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, October 2015 JCTVC-S1002, "High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, February-October 2014
従来のパレット生成方法では、符号化対象画像内において、直前に符号化されたブロックのパレットに含まれるエントリの色と、符号化対象ブロックに含まれる色とが比較される。そして、直前のパレットに符号化対象ブロックと同じ色が存在する場合、直前のパレットのエントリが再利用される。しかしながら、ブロック間における局所的な相関のみに基づいて、再利用されるエントリを決定すると、パレットの符号量が増大して、符号化効率が低下することがある。
なお、かかる問題は、スクリーンコンテンツ画像に対するパレット符号化に限らず、画素値のバリエーションが少ない他の画像に対するパレット符号化においても生ずるものである。
1つの側面において、本発明は、パレット符号化の符号化効率を向上させることを目的とする。
1つの案では、画像符号化装置は、決定部、生成部、及びパレット符号化部を含む。
決定部は、符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、第2パレットのエントリ候補ではない場合、符号化対象画像の画素値分布に基づいて、第1指標と第2指標とを求める。
第2パレットは、第1ブロックよりも後に符号化される第2ブロックの符号化に用いられるパレットである。第1指標は、特定のエントリを第2パレットに含める場合に発生する符号量を示し、第2指標は、特定のエントリを第2パレットに含めない場合に発生する符号量を示す。
次に、決定部は、第1指標と第2指標とに基づいて、第2パレットに含めるエントリを決定する。生成部は、決定部が決定したエントリを含む第2パレットを生成し、パレット符号化部は、第2パレットを用いて第2ブロックを符号化する。
実施形態によれば、パレット符号化の符号化効率を向上させることができる。
パレット生成部の構成図である。 パレットの復号に関するシンタックスを示す図である。 パレット生成処理を示す図である。 次のCUに対するパレット生成処理を示す図である。 画像符号化装置の構成図である。 画像符号化処理のフローチャートである。 画像符号化装置の具体例を示す構成図である。 画素値分布情報を用いるパレット生成部の構成図である。 画素値分布情報を用いるパレット生成処理を示す図である。 truncated unary二値化の符号列を示す図である。 exponential Golomb符号化の符号列を示す図である。 第1指標及び第2指標の計算方法を示す図である。 画素値分布情報を用いるパレット生成処理のフローチャートである。 画素値分布情報をブロック毎に更新するパレット生成処理のフローチャートである。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
まず、HEVCにおけるブロック分割について説明する。HEVCでは、Coding Tree Unit(CTU)、Coding Unit(CU)、Prediction Unit(PU)、及びTransform Unit(TU)と呼ばれる4種類のブロックが用意されている。CTUは、ブロック分割を木構造とみなしたときの根ノードとなるブロックであり、CUが取りうる最大ブロックサイズに対応する。
CUは、その木構造の葉ノードとなるブロックであり、インター予測、イントラ予測等の予測モードが決定される単位である。つまり、CU内では、インター予測とイントラ予測のように、異なる種類の予測が共存することはない。
PUは、CUをさらに分割したブロックであり、CUに対して決められた予測モードの中で、最適な予測方法が選択される単位である。例えば、イントラ予測の場合は、予測方向が選択され、インター予測の場合は、動きベクトルが選択される。また、PUは、正方形である必要はなく、CUの1辺のサイズを2Nとして、2N×N、N×2N等の長方形になることもある。TUは、CUをさらに分割したブロックであり、直交変換が実施される単位である。TUのサイズは、PUのサイズとは無関係である。
パレット符号化は、CUを単位として実施され、CU毎に符号化に用いるパレットが生成される。そして、CU内の各画素の画素値が表す色が、パレットに登録されたインデックスによって指定され、パレット及び各画素のインデックスが符号化される。パレットは、パレットテーブルと呼ばれることもある。
図1は、動画像符号化装置に設けられるパレット生成部の構成例を示している。図1のパレット生成部101は、エントリ候補生成部111、比較部112、及び生成部113を含む。
エントリ候補生成部111は、符号化対象CUの画素値の中から、符号化対象CUのパレットに登録されるエントリの候補(エントリ候補)を抽出して、比較部112へ出力する。例えば、エントリ候補生成部111は、符号化対象CUに含まれる色の頻度ヒストグラムを生成し、頻度の高い色から順に所定数の色をエントリ候補として抽出する。
比較部112は、エントリ候補生成部111から出力されるエントリ候補と、生成部113からフィードバックされるパレットに含まれるエントリとを比較する。フィードバックされるパレットは、符号化対象CUの直前に符号化されたCUのパレットである。そして、比較部112は、エントリ候補と同じ色がフィードバックされたパレットに含まれているか否かを示す比較結果を、生成部113へ出力する。
生成部113は、比較結果に基づいて、パレットに残すエントリと、パレットに新規に追加するエントリとを含む、符号化対象CUのパレットを生成する。新規に追加されるエントリは、色を表す画素値と、その色を示すインデックスとを含む。
動画像符号化装置は、生成された符号化対象CUのパレットを用いて符号化対象CUを符号化し、符号化CU及びパレットを動画像復号装置へ送信する。動画像復号装置は、動画像符号化装置から符号化CU及びパレットを受信し、パレットを用いて符号化CUを復号する。
図2は、パレットの復号に関するシンタックスの例を示している。パレット符号化では、直前に復号されたCUのパレットを参照することで、パレットを表現するための情報量を削減している。この場合、パレットは、次のような手順で復号される。
動画像復号装置は、直前に復号されたCUのパレットを参照して、再利用されるエントリを検索する。どのインデックスが示す色を再利用するかは、直前に復号されたCUのパレットにおけるエントリ間の距離を表すランによって、指定される。再利用されるエントリの検索に対応するシンタックスは、palette_predictor_runである。この検索によって、再利用されるエントリが確定する。なお、palette_predictor_runが1である場合は、再利用されるエントリの検索が打ち切られる。
次に、動画像復号装置は、復号対象CU(符号化CU)のパレットに新規に追加されるエントリの個数を、num_signalled_palette_entriesから取得し、その個数だけ新規エントリの画素値を復号する。この新規エントリに対応するシンタックスは、new_palette_entries[cIdx][i]である。ここで、変数cIdxとiは、それぞれ輝度や色差等の色成分のインデックスと、符号化対象CUのパレットに新しく追加されるエントリを復号するループのためのインデックスを表す。
以上のような手順により、復号対象CUのパレットが確定する。その後、動画像復号装置は、パレットを用いて復号対象CUを復号する。復号対象CU内の画素がパレットに存在するインデックスを表す場合、動画像復号装置は、そのインデックスによって指定される画素値をパレットから取得する。一方、復号対象CU内の画素がパレットに存在しない色を表す場合、動画像復号装置は、palette_escape_valとして新規に画素値を復号する。
非特許文献1には、動画像符号化装置におけるパレット生成方法が記載されている。このパレット生成方法によれば、符号化対象CUのパレットを生成する際、直前に符号化されたCUのパレットのエントリの画素値と、符号化対象CU内の画素の画素値とが比較される。そして、直前のパレットに符号化対象CUの画素と同じ色が存在する場合、そのエントリの位置を示すランを指定することで、直前のパレットのエントリが再利用される。その後、符号化対象CU内で頻度の高い他の色も、パレットに追加される。
図3は、このようなパレット生成方法によるパレット生成処理の例を示している。図1のパレット生成部101は、直前に符号化されたCUのパレット301のエントリを利用して、符号化対象CUのパレット302を生成する。パレット301には、色A〜色Eを含む複数の色が登録されている。
エントリ候補生成部111は、符号化対象CU内の色の頻度ヒストグラム303を生成し、頻度ヒストグラム303において頻度の高い色から順に所定数の色を、エントリ候補として抽出する。比較部112は、エントリ候補の色とパレット301に登録された色とを比較する。
この例では、頻度ヒストグラム303に含まれる色A、色F、色D、色G、及び色Cが、エントリ候補として抽出される。このうち、色Aは、パレット301内のインデックス“0”が示すエントリの色と同じであるため、このエントリがパレット302において再利用される。そこで、生成部113は、パレット301内においてインデックス“0”のエントリを示すラン“0”を符号化して、パレット302のインデックス“0”の位置に登録する。
同様に、頻度ヒストグラム303に含まれる色C及び色Dは、パレット301内のインデックス“2”及びインデックス“3”が示すエントリの色と同じであるため、これらのエントリがパレット302において再利用される。
そこで、生成部113は、パレット301内においてインデックス“0”のエントリとインデックス“2”のエントリとの距離を表すラン“2”を符号化して、パレット302のインデックス“1”の位置に登録する。そして、生成部113は、パレット301内においてインデックス“2”のエントリとインデックス“3”のエントリとの距離を表すラン“1”を符号化して、パレット302のインデックス“2”の位置に登録する。
次に、生成部113は、頻度ヒストグラム303に含まれる残りのエントリ候補を、新規のエントリとしてパレット302に追加し、画素値を用いて直接符号化する。このとき、生成部113は、残りのエントリ候補の個数を符号化した後に、頻度の高い色から順に続きのインデックスを割り当て、色を表す画素値と割り当てたインデックスとを符号化する。これにより、色Fはインデックス“3”の位置に登録され、色Gはインデックス“4”の位置に登録される。
このようなパレット生成処理によれば、画像内に頻出する色のエントリは、パレットから外されることなく残り続けるため、複数のCUが符号化されていくにつれて、徐々に小さなインデックスが割り当てられるようになる。そして、頻出する色のエントリ間におけるインデックスの差分が小さくなるため、エントリ間の距離を表すランも小さくなる。このため、再利用されるエントリを符号化するための符号量は減少する。
図4は、図3のパレット生成処理における符号化対象CUの次のCUに対するパレット生成処理の例を示している。符号化対象CUの頻度ヒストグラム303に色Bが含まれていない場合、頻度ヒストグラム303に基づいて生成されるパレット302には、色Bのエントリは含まれない。
しかし、符号化対象画像全体において色Bの頻度が高い場合、符号化対象CUよりも後に符号化されるCUにおいて、色Bは遠からず再び出現することになる。例えば、符号化対象CUの次のCUにおいて色Bが再び出現し、そのCUの頻度ヒストグラム401が生成された場合、頻度ヒストグラム401に基づいて、そのCUのパレット402が生成される。
この例では、頻度ヒストグラム401に含まれる色A、色B、色F、色D、及び色Cが、エントリ候補として抽出される。このうち、色Aは、パレット302内のインデックス“0”が示すエントリの色と同じであるため、このエントリがパレット402において再利用される。そこで、生成部113は、パレット302内においてインデックス“0”のエントリを示すラン“0”を符号化して、パレット402のインデックス“0”の位置に登録する。
同様に、頻度ヒストグラム401に含まれる色C、色D、及び色Fは、パレット302内のインデックス“1”、インデックス“2”、及びインデックス“3”が示すエントリの色と同じであるため、これらのエントリがパレット402において再利用される。
そこで、生成部113は、パレット302内においてインデックス“0”のエントリとインデックス“1”のエントリとの距離を表すラン“1”を符号化して、パレット402のインデックス“1”の位置に登録する。
次に、生成部113は、パレット302内においてインデックス“1”のエントリとインデックス“2”のエントリとの距離を表すラン“1”を符号化して、パレット402のインデックス“2”の位置に登録する。そして、生成部113は、パレット302内においてインデックス“2”のエントリとインデックス“3”のエントリとの距離を表すラン“1”を符号化して、パレット402のインデックス“3”の位置に登録する。
次に、生成部113は、頻度ヒストグラム401に含まれる残りのエントリ候補を、新規のエントリとしてパレット402に追加し、画素値を用いて直接符号化する。これにより、パレット301のインデックス“1”の位置に登録されていた色Bが、パレット402のインデックス“4”の位置に再登録される。
例えば、YUV色空間のそれぞれの色成分が8ビットで表される場合、色Bを再登録するための追加コストとして、24ビットの符号量が発生する。さらに、新規に追加される色Bのエントリは、再利用されるエントリの後ろに追加される。このため、パレット402を用いるCUに後続する別のCUのパレットにおいて、そのエントリを再利用する場合、エントリを指定するランの値が大きくなり、ランの符号量が増大する。
このように、非特許文献1のパレット生成方法では、直前のCUに含まれる色と符号化対象CUに含まれる色との間の局所的な相関のみに基づいて、再利用されるエントリを決定している。このため、符号化対象画像全体で頻度が高くても、たまたま符号化対象CUに含まれていなかった色は、パレットから外されてしまい、その色をパレットに再登録するための符号量が増大する。
図5は、実施形態の画像符号化装置の構成例を示している。図5の画像符号化装置501は、決定部511、生成部512、及びパレット符号化部513を含む。
図6は、図5の画像符号化装置501が行う画像符号化処理の例を示すフローチャートである。まず、決定部511は、符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、第2パレットのエントリ候補ではない場合、符号化対象画像の画素値分布に基づいて、第1指標と第2指標とを求める(ステップ601)。
第2パレットは、第1ブロックよりも後に符号化される第2ブロックの符号化に用いられるパレットである。第1指標は、特定のエントリを第2パレットに含める場合に発生する符号量を示し、第2指標は、特定のエントリを第2パレットに含めない場合に発生する符号量を示す。
次に、決定部511は、第1指標と第2指標とに基づいて、第2パレットに含めるエントリを決定する(ステップ602)。生成部512は、決定部511が決定したエントリを含む第2パレットを生成し(ステップ603)、パレット符号化部513は、第2パレットを用いて第2ブロックを符号化する(ステップ604)。
このような画像符号化装置501によれば、パレット符号化の符号化効率を向上させることができる。
図7は、図5の画像符号化装置501の具体例を示している。図7の画像符号化装置501は、パレット生成部701、パレット符号化部702、減算部703、変換部704、量子化部705、及びエントロピー符号化部706を含む。さらに、画像符号化装置501は、逆量子化部707、逆変換部708、加算部709、選択部710、イントラ予測部711、インター予測部712、及び復号画像記憶部713を含む。パレット符号化部702は、図5のパレット符号化部513に対応する。
画像符号化装置501は、例えば、ハードウェア回路として実装することができる。この場合、画像符号化装置501の各構成要素を個別の回路として実装してもよく、1つの集積回路として実装してもよい。
画像符号化装置501は、入力される符号化対象動画像を符号化し、符号化動画像をビットストリームとして出力する。符号化対象動画像は、複数の時刻それぞれにおける複数の画像を含む。これらの画像の各々が、符号化対象画像(符号化対象ピクチャ)として画像符号化装置501に入力される。各画像は、カラー画像であってもよく、モノクロ画像であってもよい。画像がカラー画像である場合、画素値はRGB形式であってもよく、YUV形式であってもよい。
符号化対象画像は、ブロック毎に分割され、各ブロックが符号化対象ブロックとして、パレット生成部701、減算部703、及びインター予測部712に入力される。HEVCの場合、各ブロックはCTU又はCUに対応する。
パレット生成部701は、符号化対象ブロックに含まれる各画素の画素値から、符号化対象ブロックのパレットを生成し、生成したパレットをパレット符号化部702へ出力する。パレット符号化部702は、パレット生成部701から出力されるパレットを用いて、符号化対象ブロックの各画素の画素値をインデックスに置き換えることで、符号化対象ブロックを符号化し、符号化結果をエントロピー符号化部706へ出力する。
減算部703は、符号化対象ブロックと、選択部710から出力される予測ブロック画像との差分を表す予測誤差信号を、変換部704へ出力する。変換部704は、直交変換によって、予測誤差信号を空間信号から空間周波数信号に変換し、水平方向及び垂直方向の周波数成分に分離された周波数信号を、量子化部705へ出力する。
量子化部705は、変換部704から出力される周波数信号を、所定のステップサイズで量子化して係数情報を生成し、その係数情報を符号化結果として、エントロピー符号化部706及び逆量子化部707へ出力する。量子化を行うことによって、周波数信号がスケールダウンされ、符号量が削減される。
逆量子化部707は、量子化部705から出力される符号化結果を逆量子化することで、係数情報の信号を元のスケールに戻し、逆量子化された周波数信号を逆変換部708へ出力する。逆変換部708は、逆直交変換によって、逆量子化部707から出力される周波数信号を空間信号に戻し、再構成予測誤差信号を加算部709へ出力する。
加算部709は、選択部710から出力される予測ブロック画像と、再構成予測誤差信号とを加算することで復号ブロック画像を生成し、生成した復号ブロック画像をイントラ予測部711及び復号画像記憶部713へ出力する。復号画像記憶部713は、復号ブロック画像を蓄積し、蓄積された復号ブロック画像を参照画像として、イントラ予測部711及びインター予測部712へ出力する。
イントラ予測部711は、参照画像を用いて、符号化対象画像内の既に符号化された周辺画素の画素値から、符号化対象ブロックのイントラ予測ブロック画像を生成し、イントラ予測ブロック画像を選択部710へ出力する。インター予測部712は、参照画像を用いて、符号化対象ブロックに対する動き補償を行うことで、インター予測ブロック画像を生成し、インター予測ブロック画像を選択部710へ出力する。
選択部710は、イントラ予測部711から出力されるイントラ予測ブロック画像、又はインター予測部712から出力されるインター予測ブロック画像のいずれか一方を選択し、選択した予測ブロック画像を減算部703及び加算部709へ出力する。
エントロピー符号化部706は、パレット符号化部702及び量子化部705から出力される符号化結果と、イントラ予測部711及びインター予測部712から出力される予測モードの情報とをエントロピー符号化する。エントロピー符号化では、信号中の各シンボルの出現頻度に応じて、可変長符号が割り当てられる。そして、エントロピー符号化部706は、可変長符号を含むビットストリームを出力する。
画像符号化装置501は、複数の画像の符号化結果を含む符号化動画像を、不図示の画像復号装置へ送信し、画像復号装置は、符号化動画像を復号して符号化対象動画像を復元する。
画像符号化装置501は、様々な用途に利用される。例えば、画像符号化装置501を、ビデオカメラ、映像送信装置、映像受信装置、テレビ電話システム、コンピュータ、又は携帯電話機に組み込むことも可能である。
図8は、図7のパレット生成部701の構成例を示している。図8のパレット生成部701は、解析部801、記憶部802、エントリ候補生成部803、記憶部804、比較部805、決定部806、及び生成部807を含む。決定部806及び生成部807は、それぞれ、図5の決定部511及び生成部512に対応する。
解析部801は、符号化対象画像に含まれるすべてのブロックの画素値を解析して、符号化対象画像の画素値分布を表す画素値分布情報を生成し、生成した画素値分布情報を記憶部802に格納する。例えば、解析部801は、符号化対象画像全体における各色の出現頻度を計算し、複数の色の出現頻度を示す画素値分布情報を生成する。
エントリ候補生成部803は、符号化対象ブロックの画素値の中から、符号化対象ブロックのパレットに登録されるエントリ候補を抽出し、抽出したエントリ候補を記憶部804に格納する。例えば、エントリ候補生成部803は、符号化対象ブロックに含まれる色の頻度ヒストグラムを生成し、頻度の高い色から順に所定数の色をエントリ候補として抽出する。
比較部805は、記憶部804が記憶するエントリ候補と、生成部807からフィードバックされるパレットに含まれるエントリとを比較する。フィードバックされるパレットは、符号化対象ブロックの直前に符号化されたブロックのパレットである。そして、比較部805は、エントリ候補と同じ色がフィードバックされたパレットに含まれているか否かを示す比較結果を、決定部806へ出力する。
決定部806は、比較部805が出力する比較結果に基づいて、直前に符号化されたブロックのパレットに含まれるエントリのうち、符号化対象ブロックのパレットのエントリ候補ではないエントリを特定する。次に、決定部806は、記憶部802が記憶する画素値分布情報に基づいて、特定したエントリをパレットに含める場合に発生する符号量を示す第1指標と、そのエントリをパレットに含めない場合に発生する符号量を示す第2指標とを求める。
そして、決定部806は、第1指標と第2指標とに基づいて、そのエントリを符号化対象ブロックのパレットに含めるか否かを決定し、パレットに含めるエントリを示すエントリ情報を、生成部807へ出力する。生成部807は、決定部806が出力するエントリ情報に従って、パレットに残すエントリと、パレットに新規に追加するエントリとを含む、符号化対象ブロックのパレットを生成する。
図9は、図8のパレット生成部701が行うパレット生成処理の例を示している。パレット生成部701は、図3のパレット301のエントリを利用して、符号化対象CUのパレット902を生成する。パレット301は、直前に符号化されたCUのパレットである。
解析部801は、符号化対象画像全体の画素値を解析して、符号化対象画像の画素値分布を表す画素値分布情報901を生成する。例えば、画素値分布情報901として、符号化対象画像に含まれるそれぞれの色の出現頻度を表す頻度ヒストグラムを用いることができる。
エントリ候補生成部803は、符号化対象CU内の色の頻度ヒストグラム303を生成し、頻度ヒストグラム303において頻度の高い色から順に所定数の色を、エントリ候補として抽出する。比較部805は、エントリ候補の色とパレット301に登録された色とを比較する。
この例では、頻度ヒストグラム303に含まれる色A、色F、色D、色G、及び色Cが、エントリ候補として抽出される。このうち、色A、色C、及び色Dは、パレット301内のインデックス“0”、インデックス“2”、及びインデックス“3”が示すエントリの色と同じであるため、これらのエントリがパレット902において再利用される。そこで、決定部806は、色A、色C、及び色Dのエントリをパレット902に含めると決定する。
一方、パレット301内のインデックス“1”が示すエントリの色Bは、符号化対象CUには存在しないため、エントリ候補に含まれていない。
そこで、決定部806は、画素値分布情報901に基づいて、符号化対象CUよりも後に符号化されるCUにおいて色Bが発生する発生確率を求める。そして、決定部806は、色Bの発生確率に基づいて、色Bをパレット902に含める場合に発生する符号量を示す第1指標と、色Bをパレット902に含めない場合に発生する符号量を示す第2指標とを求める。
第2指標が示す符号量が第1指標が示す符号量よりも大きい場合、決定部806は、色Bのエントリをパレット902に含めると決定する。一方、第2指標が示す符号量が第1指標が示す符号量以下である場合、決定部806は、色Bのエントリをパレット902に含めないと決定する。この例では、第2指標が示す符号量が第1指標が示す符号量よりも大きいため、色Bのエントリをパレット902に含めると決定される。したがって、パレット301内のインデックス“0”〜インデックス“3”が示す4個のエントリが、パレット902内に残される。
まず、生成部807は、パレット301内においてインデックス“0”のエントリを示すラン“0”を符号化して、パレット902のインデックス“0”の位置に登録する。次に、生成部807は、パレット301内においてインデックス“0”のエントリとインデックス“1”のエントリとの距離を表すラン“1”を符号化して、パレット902のインデックス“1”の位置に登録する。
次に、生成部807は、パレット301内においてインデックス“1”のエントリとインデックス“2”のエントリとの距離を表すラン“1”を符号化して、パレット902のインデックス“2”の位置に登録する。そして、生成部807は、パレット301内においてインデックス“2”のエントリとインデックス“3”のエントリとの距離を表すラン“1”を符号化して、パレット902のインデックス“3”の位置に登録する。
決定部806は、さらに、パレット301に含まれていない残りのエントリ候補である色F及び色Gを、パレット902に含めると決定する。そこで、生成部113は、色F及び色Gの画素値を含むエントリを、それぞれ、パレット902のインデックス“4”及び“5”の位置に登録する。
このように、決定部806は、符号化対象画像全体における色の出現頻度に基づいて、その色のエントリをパレットに残した場合に発生する符号量と、そのエントリをパレットから外した場合に発生する符号量とを確率的に推定する。推定された2種類の符号量を比較して、その色をパレットに残すか否かを決定することで、符号化対象画像のパレットの符号量を確率的に最適化することが可能になる。
次に、画素値分布情報に含まれるi番目の色に対する第1指標及び第2指標の計算方法について説明する。決定部806は、符号化対象画像の画素数に対するi番目の色の画素数の比率を計算し、計算した比率を、符号化対象ブロックよりも後に符号化されるブロックにおいて、その色が発生する発生確率piとして用いる。
i番目の色のエントリを符号化対象ブロックのパレットに残した場合、そのエントリがパレット内の比較的小さなインデックスの位置に挿入されるため、パレットに残されるエントリのランが短くなる。しかし、パレット内にi番目の色のエントリを保持し続けるための符号が発生する。さらに、登録されるエントリの個数が増加するため、インデックスの符号量も増加する。
この場合、決定部806は、i番目の色のエントリを保持し続ける場合のランの符号量を用いて、次式により、発生する符号量を示す第1指標Q1を計算することができる。
Q1=ランの符号量 (1)
一方、i番目の色のエントリを符号化対象ブロックのパレットから外して、それよりも後のブロックのパレットに再登録した場合、パレットに残されたエントリの後ろにそのエントリが新規に登録され、画素値を登録するための符号が発生する。しかし、パレット内にi番目の色のエントリを保持するための符号量は不要になる。
この場合、決定部806は、発生確率piと、i番目の色の画素値の符号量と、その色を再登録したパレットのランの符号量と、その色を再登録しないパレットのランの符号量とを用いて、次式により、発生する符号量を示す第2指標Q2を計算することができる。
Q2=(画素値の符号量+再登録したパレットのランの符号量)×pi
+再登録しないパレットのランの符号量×(1−pi) (2)
式(2)の画素値の符号量は、符号化対象ブロックのパレットから外された色が、それよりも後のブロックに出現した場合に、そのブロックのパレットにその色のエントリを再登録するための符号量に対応する。色を再登録するための画素値の符号量は、直前のブロックのパレットのエントリを再利用するためのランの符号量よりも大きいため、発生確率piがある程度の大きさであれば、式(2)の第1項が第2項よりも支配的になると考えられる。
まず、ランとラン符号との対応関係がtruncated unary二値化によって表される場合を考える。truncated unary二値化は、値の区切り文字(termination code)を“0”として、数字を二値化する方法である。
図10は、非特許文献1に記載されたtruncated unary二値化の符号列の例を示している。図10の符号列によれば、ラン“0”は1つの値で表され、ラン“1”は2つの値で表され、ラン“2”は3つの値で表される。符号列中の値が“0”及び“1”となる確率がそれぞれ50%であり、1つの値を表すのに1ビットを使用するバイパス符号化を実施した場合、ラン“0”、ラン“1”、及びラン“2”は、それぞれ、1ビット、2ビット、及び3ビットで表される。
なお、図10の符号列において、区切り文字を表す“0”と数字を表す“1”とを反転させて用いてもよい。二値化方法は、truncated unary二値化に限られるものではない。例えば、exponential Golomb符号化を用いて、ランを二値化することもできる。
図11は、非特許文献1に記載されたexponential Golomb符号化の符号列の例を示している。図11の符号列によれば、ラン“0”は1つの値で表され、ラン“1”は3つの値で表され、ラン“2”も3つの値で表される。符号列中の値が“0”及び“1”となる確率がそれぞれ50%であり、1つの値を表すのに1ビットを使用するバイパス符号化を実施した場合、ラン“0”、ラン“1”、及びラン“2”は、それぞれ、1ビット、3ビット、及び3ビットで表される。
図12は、第1指標及び第2指標の計算方法の例を示している。この例では、簡単のため、truncated unary二値化を採用している。色B及び色Eが直前に符号化されたCUのパレットには含まれているが、符号化対象CUには含まれていない場合、これらの色に対して指標Q1及び指標Q2が計算される。
まず、色B及び色Eのエントリを符号化対象CUのパレットから外した後、符号化対象CUの次のCUにおいて色B及び色Eがエントリ候補として抽出された場合、図12(a)に示すように、色B及び色Eのエントリがパレット1201に再登録される。
この例では、パレット1201の色A、色C、色D、色F、及び色Gのランは、それぞれ、“0”、“2”、“1”、“2”、及び“1”である。この場合、図10のtruncated unary二値化を適用することで、色A、色C、色D、色F、及び色Gのランの符号量は、それぞれ、1ビット、3ビット、2ビット、3ビット、及び2ビットになる。したがって、パレット1201のランの符号量は、合計11ビットになる。
また、1つの色の画素値の符号量が24ビットである場合、再登録される色B及び色Eのエントリの符号量は、合計48ビットになる。
一方、符号化対象CU次のCUにおいて色B及び色Eがエントリ候補として抽出されなかった場合、色B及び色Eを再登録しないパレット1202が生成される。
この例では、パレット1202の色A、色C、色D、色F、及び色Gのランは、それぞれ、“0”、“1”、“1”、“1”、及び“1”である。この場合、図10のtruncated unary二値化を適用することで、色A、色C、色D、色F、及び色Gのランの符号量は、それぞれ、1ビット、2ビット、2ビット、2ビット、及び2ビットになる。したがって、パレット1202のランの符号量は、合計9ビットになる。
色B及び色Eの発生確率piがともにpである場合、指標Q2は、式(2)を用いて、次式のように計算される。
Q2=(48ビット+11ビット)×p+9ビット×(1−p)
=59ビット×p+9ビット×(1−p) (3)
次に、色B及び色Eのエントリを符号化対象CUのパレットに残した後、符号化対象CUの次のCUにおいて色B及び色Eがエントリ候補として抽出された場合、図12(b)に示すように、パレット1203が生成される。
この例では、パレット1203の色Aのランは“0”であり、色B〜色Gのランは“1”である。この場合、図10のtruncated unary二値化を適用することで、色Aのランの符号量は1ビットになり、色B〜色Gのランの符号量は2ビットになる。したがって、パレット1203のランの符号量は、合計13ビットになる。
一方、符号化対象CUの次のCUにおいて色B及び色Eがエントリ候補として抽出されなかった場合でも、色B及び色Eのエントリを保持し続けるため、それらの色を残したパレット1204が生成される。パレット1204のランの符号量は、パレット1203の場合と同様に、合計13ビットになる。
したがって、指標Q1は、式(1)を用いて、次式のように計算される。
Q1=13ビット (4)
例えば、符号化対象画像における色B及び色Eの出現頻度が大きく、発生確率pが大きい場合、式(3)の第1項が支配的になるため、Q2がQ1よりも大きくなる。この場合、色B及び色Eのエントリを符号化対象CUのパレットに残すと決定される。
逆に、符号化対象画像における色B及び色Eの出現頻度が小さく、発生確率pが小さい場合、式(3)の第2項の方が支配的になるため、Q2がQ1よりも小さくなる。この場合、色B及び色Eのエントリを符号化対象CUのパレットに残さないと決定される。
発生確率pが小さくなればなるほど、式(3)の第1項の影響が小さくなるため、式(3)のQ2と式(4)のQ1とが等しいと仮定することで、2種類の符号量がバランスする発生確率pmを求めることができる。式(3)のQ2と式(4)のQ1とが等しいとき、次式が成り立つ。
59ビット×pm+9ビット×(1−pm)=13ビット (5)
式(5)より、pmは、次式のように計算される。
pm=(13ビット−9ビット)/(59ビット−9ビット)
=4ビット/50ビット
=0.08 (6)
したがって、発生確率pが0.08よりも大きい場合、色B及び色Eのエントリを符号化対象CUのパレットに残すと決定され、発生確率pが0.08以下である場合、色B及び色Eのエントリを符号化対象CUのパレットに残さないと決定される。
図13は、図8のパレット生成部701が行うパレット生成処理の例を示すフローチャートである。まず、解析部801は、符号化対象画像の画素値を解析して、画素値分布情報を生成する(ステップ1301)。
次に、パレット生成部701は、符号化対象画像内のブロック毎に、ステップ1302〜ステップ1309のループ処理を行う。まず、エントリ候補生成部803は、符号化対象ブロックの画素値の中から、符号化対象ブロックのエントリ候補を抽出する(ステップ1302)。次に、比較部805は、エントリ候補と、直前に符号化されたブロックのパレットのエントリとを比較する(ステップ1303)。
直前に符号化されたブロックのパレットの特定のエントリがエントリ候補に含まれていない場合(ステップ1303,NO)、決定部806は、画素値分布情報に基づいて、特定のエントリに対する指標Q1及び指標Q2を求める(ステップ1304)。そして、決定部806は、指標Q1と指標Q2とを比較する(ステップ1305)。
指標Q2が指標Q1よりも大きい場合(ステップ1305,YES)、決定部806は、特定のエントリを符号化対象ブロックのパレットに含めると決定する(ステップ1306)。一方、指標Q2が指標Q1以下である場合(ステップ1305,NO)、決定部806は、特定のエントリを符号化対象ブロックのパレットに含めないと決定する(ステップ1307)。
次に、生成部807は、パレットに残すエントリと、パレットに新規に追加するエントリとを含む、符号化対象ブロックのパレットを生成する(ステップ1309)。指標Q2が指標Q1よりも大きい場合、直前に符号化されたブロックのパレットのエントリのうち、エントリ候補に含まれているエントリと、エントリ候補に含まれていない特定のエントリとが、パレットに残される。一方、指標Q2が指標Q1以下である場合、直前に符号化されたブロックのパレットのエントリのうち、エントリ候補に含まれているエントリのみがパレットに残される。
そして、パレット生成部701は、次のブロックを符号化対象ブロックとして用いて、ステップ1302以降の処理を繰り返す。
一方、直前に符号化されたブロックのパレットのすべてのエントリがエントリ候補に含まれている場合(ステップ1303,YES)、決定部806は、それらのエントリを符号化対象ブロックのパレットに含めると決定する(ステップ1308)。そして、パレット生成部701は、ステップ1309以降の処理を行う。
符号化対象画像内のすべてのブロックのパレットが生成された場合、パレット生成部701は、処理を終了する。このようなパレット生成処理によれば、符号化対象画像全体の画素値分布情報に基づいて、パレットの符号量を最適化することができる。
ところで、パレット生成部701は、符号化対象画像全体の画素値を解析する代わりに、符号化対象ブロックよりも前に符号化されたブロックと符号化対象ブロックの画素値を解析して、符号化対象画像の画素値分布情報を段階的に生成することも可能である。
この場合、解析部801は、符号化対象画像に含まれるブロックの画素値の解析結果を、ブロック毎に記憶部802に蓄積する。そして、解析部801は、符号化対象ブロックの画素値を解析した解析結果と、記憶部802に蓄積された解析結果とを用いて、画素値分布情報を生成し、生成した画素値分布情報を記憶部802に格納する。
これにより、符号化対象画像の画素値の統計情報がブロック毎に蓄積されていき、画素値分布情報がブロック毎に更新される。決定部806は、ブロック毎に更新される画素値分布情報に基づいて、第1指標及び第2指標を求める。
図14は、画素値分布情報をブロック毎に更新するパレット生成処理の例を示すフローチャートである。パレット生成部701は、符号化対象画像内のブロック毎に、ステップ1401〜ステップ1409のループ処理を行う。
まず、解析部801は、符号化対象ブロックの画素値を解析し、得られた解析結果と記憶部802に蓄積された解析結果とを用いて、符号化対象画像の画素値分布情報を生成する(ステップ1401)。
ステップ1402〜ステップ1409の処理は、図13のステップ1302〜ステップ1309の処理と同様である。ステップ1409の処理の後、パレット生成部701は、次のブロックを符号化対象ブロックとして用いて、ステップ1401以降の処理を繰り返す。
このようなパレット生成処理によれば、最初に符号化対象画像全体の画素値分布情報を生成する処理を省略することができ、段階的に生成される画素値分布情報に基づいて、パレットの符号量を最適化することができる。
図13及び図14のパレット生成処理において、解析部801は、必ずしも符号化対象画像全体を対象として画素値分布情報を生成する必要はなく、符号化対象画像の部分領域を対象として画素値分布情報を生成してもよい。例えば、解析部801は、符号化対象画像を所定サイズの領域に分割し、符号化対象ブロックが属する領域の画素値に基づいて、画素値分布情報を生成することもできる。
図5及び図7の画像符号化装置501の構成は一例に過ぎず、画像符号化装置501の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図7の画像符号化装置501において、ブロックの予測符号化を行わない場合、減算部703、変換部704、量子化部705、逆量子化部707、逆変換部708、及び加算部709を省略することができる。この場合、選択部710、イントラ予測部711、インター予測部712、及び復号画像記憶部713も省略することができる。エントロピー符号化を行わない場合、エントロピー符号化部706を省略することができる。
図8のパレット生成部701の構成は一例に過ぎず、画像符号化装置501の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、画素値分布情報が画像符号化装置501の外部から入力される場合、解析部801及び記憶部802を省略することができる。
図6、図13、及び図14に示したフローチャートは一例に過ぎず、画像符号化装置501の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図13のステップ1305又は図14のステップ1405において、Q2とQ1が一致する場合、決定部806は、特定のエントリを符号化対象ブロックのパレットに含めると決定してもよい。
図2のシンタックス、図10の符号列、及び図11の符号列は一例に過ぎず、動画像符号化標準に応じて別のシンタックス又は符号列を用いてもよい。
図3のパレット301、パレット302、及び頻度ヒストグラム303と、図4の頻度ヒストグラム401及びパレット402と、図9の画素値分布情報901及びパレット902と、図12のパレット1201〜パレット1204は、一例に過ぎない。符号化対象動画像に応じて別のパレット、頻度ヒストグラム、及び画素値分布情報が生成されることもある。
式(1)〜式(6)は一例に過ぎず、画像符号化装置501の構成又は条件に応じて別の計算式を用いてもよい。例えば、式(2)の画素値の符号量の代わりに、パレットから外された色のエントリを再登録するための別の符号量を用いてもよい。
パレット符号化が適用される符号化対象画像は、スクリーンコンテンツ画像に限定されるものではなく、画素値のバリエーションが少ない他の画像であってもよい。また、パレット符号化が適用される符号化対象画像は、動画像に限定されるものではなく、静止画像であってもよい。
図5及び図7画像符号化装置501は、ハードウェア回路として実装することもでき、図15に示すような情報処理装置(コンピュータ)を用いて実装することもできる。
図15の情報処理装置は、Central Processing Unit(CPU)1501、メモリ1502、入力装置1503、出力装置1504、補助記憶装置1505、媒体駆動装置1506、及びネットワーク接続装置1507を備える。これらの構成要素はバス1508により互いに接続されている。
メモリ1502は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、画像符号化処理に用いられるプログラム及びデータを記憶する。メモリ1502は、図7の復号画像記憶部713、図8の記憶部802、及び記憶部804として用いることができる。
CPU1501(プロセッサ)は、例えば、メモリ1502を利用してプログラムを実行することにより、図5の決定部511、生成部512、及びパレット符号化部513として動作する。
CPU1501は、メモリ1502を利用してプログラムを実行することにより、図7のパレット生成部701、パレット符号化部702、減算部703、変換部704、量子化部705、及びエントロピー符号化部706としても動作する。CPU1501は、逆量子化部707、逆変換部708、加算部709、選択部710、イントラ予測部711、及びインター予測部712としても動作する。
CPU1501は、メモリ1502を利用してプログラムを実行することにより、図8の解析部801、エントリ候補生成部803、比較部805、決定部806、及び生成部807としても動作する。
入力装置1503は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置1504は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
補助記憶装置1505は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1505は、ハードディスクドライブであってもよい。補助記憶装置1505は、情報処理装置は、補助記憶装置1505にプログラム及びデータを格納しておき、それらをメモリ1502にロードして使用することができる。
媒体駆動装置1506は、可搬型記録媒体1509を駆動し、その記録内容にアクセスする。可搬型記録媒体1509は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1509は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、又はUniversal Serial Bus(USB)メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体1509にプログラム及びデータを格納しておき、それらをメモリ1502にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ1502、補助記憶装置1505、及び可搬型記録媒体1509のような、物理的な(非一時的な)記録媒体が含まれる。
ネットワーク接続装置1507は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置1507は、符号化動画像を画像復号装置へ送信することもできる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1507を介して受け取り、それらをメモリ1502にロードして使用することもできる。
なお、情報処理装置が図15のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要の場合は、入力装置1503及び出力装置1504を省略してもよい。また、情報処理装置が可搬型記録媒体1509にアクセスしない場合は、媒体駆動装置1506を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図15を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する符号量を示す第1指標と、前記特定のエントリを前記第2パレットに含めない場合に発生する符号量を示す第2指標とを、前記符号化対象画像の画素値分布に基づいて求め、前記第1指標と前記第2指標とに基づいて、前記第2パレットに含めるエントリを決定する決定部と、
前記決定部が決定した前記エントリを含む前記第2パレットを生成する生成部と、
前記第2パレットを用いて前記第2ブロックを符号化するパレット符号化部と、
を備えることを特徴とする画像符号化装置。
(付記2)
前記決定部は、前記画素値分布に基づいて、前記第2ブロックよりも後に符号化される第3ブロックにおいて前記特定のエントリに対応する画素値が発生する発生確率を求め、前記発生確率に基づいて前記第1指標と前記第2指標とを求め、前記第2指標が示す前記符号量が前記第1指標が示す前記符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含めると決定することを特徴とする付記1記載の画像符号化装置。
(付記3)
前記符号化対象画像の画素値を解析して、前記画素値分布を表す画素値分布情報を生成する解析部をさらに備え、
前記決定部は、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記1又は2記載の画像符号化装置。
(付記4)
前記第2ブロックよりも前に符号化された複数のブロックの画素値と前記第2ブロックの画素値とを解析して、前記画素値分布を表す画素値分布情報を生成する解析部をさらに備え、
前記決定部は、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記1又は2記載の画像符号化装置。
(付記5)
前記第2指標が示す前記符号量は、前記特定のエントリが前記第2パレットに残されず、前記第3ブロックにおいて前記特定のエントリに対応する画素値が出現した場合に、前記第3ブロックの符号化に用いられる第3パレットに前記特定のエントリを再登録するための符号量を含むことを特徴とする付記1乃至4のいずれか1項に記載の画像符号化装置。
(付記6)
画像符号化装置が、
符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する符号量を示す第1指標と、前記特定のエントリを前記第2パレットに含めない場合に発生する符号量を示す第2指標とを、前記符号化対象画像の画素値分布に基づいて求め、
前記第1指標と前記第2指標とに基づいて、前記第2パレットに含めるエントリを決定し、
決定した前記エントリを含む前記第2パレットを生成し、
前記第2パレットを用いて前記第2ブロックを符号化する、
ことを特徴とする画像符号化方法。
(付記7)
前記画像符号化装置は、前記画素値分布に基づいて、前記第2ブロックよりも後に符号化される第3ブロックにおいて前記特定のエントリに対応する画素値が発生する発生確率を求め、前記発生確率に基づいて前記第1指標と前記第2指標とを求め、前記第2指標が示す前記符号量が前記第1指標が示す前記符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含めると決定することを特徴とする付記6記載の画像符号化方法。
(付記8)
前記画像符号化装置は、前記符号化対象画像の画素値を解析して、前記画素値分布を表す画素値分布情報を生成し、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記6又は7記載の画像符号化方法。
(付記9)
前記画像符号化装置は、前記第2ブロックよりも前に符号化された複数のブロックの画素値と前記第2ブロックの画素値とを解析して、前記画素値分布を表す画素値分布情報を生成し、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記6又は7記載の画像符号化方法。
(付記10)
前記第2指標が示す前記符号量は、前記特定のエントリが前記第2パレットに残されず、前記第3ブロックにおいて前記特定のエントリに対応する画素値が出現した場合に、前記第3ブロックの符号化に用いられる第3パレットに前記特定のエントリを再登録するための符号量を含むことを特徴とする付記6乃至9のいずれか1項に記載の画像符号化方法。
(付記11)
符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する符号量を示す第1指標と、前記特定のエントリを前記第2パレットに含めない場合に発生する符号量を示す第2指標とを、前記符号化対象画像の画素値分布に基づいて求め、
前記第1指標と前記第2指標とに基づいて、前記第2パレットに含めるエントリを決定し、
決定した前記エントリを含む前記第2パレットを生成し、
前記第2パレットを用いて前記第2ブロックを符号化する、
処理をコンピュータに実行させる画像符号化プログラム。
(付記12)
前記コンピュータは、前記画素値分布に基づいて、前記第2ブロックよりも後に符号化される第3ブロックにおいて前記特定のエントリに対応する画素値が発生する発生確率を求め、前記発生確率に基づいて前記第1指標と前記第2指標とを求め、前記第2指標が示す前記符号量が前記第1指標が示す前記符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含めると決定することを特徴とする付記11記載の画像符号化プログラム。
(付記13)
前記コンピュータは、前記符号化対象画像の画素値を解析して、前記画素値分布を表す画素値分布情報を生成し、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記11又は12記載の画像符号化プログラム。
(付記14)
前記コンピュータは、前記第2ブロックよりも前に符号化された複数のブロックの画素値と前記第2ブロックの画素値とを解析して、前記画素値分布を表す画素値分布情報を生成し、前記画素値分布情報を用いて前記第1指標と前記第2指標とを求めることを特徴とする付記11又は12記載の画像符号化プログラム。
(付記15)
前記第2指標が示す前記符号量は、前記特定のエントリが前記第2パレットに残されず、前記第3ブロックにおいて前記特定のエントリに対応する画素値が出現した場合に、前記第3ブロックの符号化に用いられる第3パレットに前記特定のエントリを再登録するための符号量を含むことを特徴とする付記11乃至14のいずれか1項に記載の画像符号化プログラム。
101、701 パレット生成部
111、803 エントリ候補生成部
112、805 比較部
113、512、807 生成部
301、302、402、902、1201〜1204 パレット
303、401 頻度ヒストグラム
501 画像符号化装置
511、806 決定部
513、702 パレット符号化部
703 減算部
704 変換部
705 量子化部
706 エントロピー符号化部
707 逆量子化部
708 逆変換部
709 加算部
710 選択部
711 イントラ予測部
712 インター予測部
713 復号画像記憶部
801 解析部
802、804 記憶部
901 画素値分布情報
1501 CPU
1502 メモリ
1503 入力装置
1504 出力装置
1505 補助記憶装置
1506 媒体駆動装置
1507 ネットワーク接続装置
1508 バス
1509 可搬型記録媒体

Claims (6)

  1. 符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する第1符号量と、前記特定のエントリを前記第2パレットに含めない場合に発生する第2符号量とを推定し前記第2符号量が前記第1符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含める決定する決定部と、
    前記決定部が決定した前記特定のエントリを含む前記第2パレットを生成する生成部と、
    前記第2パレットを用いて前記第2ブロックを符号化するパレット符号化部と、
    を備えることを特徴とする画像符号化装置。
  2. 前記決定部は前記第2ブロックよりも後に符号化される第3ブロックにおいて前記特定のエントリに対応する画素値が発生する発生確率を求め、前記特定のエントリが前記第2パレットから外され、前記第3ブロックにおいて前記特定のエントリに対応する画素値が出現した場合に、前記第3ブロックの符号化に用いられる第3パレットに前記特定のエントリを再登録するための符号量と、前記発生確率とを含む計算式により、前記第2符号量を計算することを特徴とする請求項1記載の画像符号化装置。
  3. 前記符号化対象画像の画素値を解析して、前記符号化対象画像の画素値分布を表す画素値分布情報を生成する解析部をさらに備え、
    前記決定部は、前記符号化対象画像の画素数に対する、前記特定のエントリに対応する画素値の画素数の比率を、前記画素値分布情報から求め、前記比率を前記発生確率として用いることを特徴とする請求項記載の画像符号化装置。
  4. 前記第2ブロックよりも前に符号化された複数のブロックの画素値と前記第2ブロックの画素値とを解析して、前記複数のブロック及び前記第2ブロックの画素値分布を表す画素値分布情報を生成する解析部をさらに備え、
    前記決定部は、前記複数のブロック及び前記第2ブロックの画素数に対する、前記特定のエントリに対応する画素値の画素数の比率を、前記画素値分布情報から求め、前記比率を前記発生確率として用いることを特徴とする請求項記載の画像符号化装置。
  5. 画像符号化装置が、
    符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する第1符号量と、前記特定のエントリを前記第2パレットに含めない場合に発生する第2符号量とを推定し
    前記第2符号量が前記第1符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含める決定し、
    決定した前記特定のエントリを含む前記第2パレットを生成し、
    前記第2パレットを用いて前記第2ブロックを符号化する、
    ことを特徴とする画像符号化方法。
  6. 符号化対象画像内の第1ブロックの符号化に用いられた第1パレットに含まれる特定のエントリが、前記第1ブロックよりも後に符号化される第2ブロックの符号化に用いられる第2パレットのエントリ候補ではない場合、前記特定のエントリを前記第2パレットに含める場合に発生する第1符号量と、前記特定のエントリを前記第2パレットに含めない場合に発生する第2符号量とを推定し
    前記第2符号量が前記第1符号量よりも大きい場合、前記特定のエントリを前記第2パレットに含める決定し、
    決定した前記特定のエントリを含む前記第2パレットを生成し、
    前記第2パレットを用いて前記第2ブロックを符号化する、
    処理をコンピュータに実行させる画像符号化プログラム。

JP2016049115A 2016-03-14 2016-03-14 画像符号化装置、画像符号化方法、及び画像符号化プログラム Active JP6662123B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016049115A JP6662123B2 (ja) 2016-03-14 2016-03-14 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US15/431,089 US10440370B2 (en) 2016-03-14 2017-02-13 Apparatus and method for image coding, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016049115A JP6662123B2 (ja) 2016-03-14 2016-03-14 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Publications (2)

Publication Number Publication Date
JP2017168879A JP2017168879A (ja) 2017-09-21
JP6662123B2 true JP6662123B2 (ja) 2020-03-11

Family

ID=59788825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016049115A Active JP6662123B2 (ja) 2016-03-14 2016-03-14 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Country Status (2)

Country Link
US (1) US10440370B2 (ja)
JP (1) JP6662123B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900624B2 (en) * 2015-02-05 2018-02-20 Mediatek Inc. Methods and apparatus of decoding process for palette syntax
JP6545570B2 (ja) * 2015-08-18 2019-07-17 株式会社東芝 符号化装置、復号装置および画像処理装置
CN108196789B (zh) * 2017-12-28 2020-11-24 广州视源电子科技股份有限公司 显示器的皮肤更新方法及装置
US11575916B2 (en) * 2020-10-30 2023-02-07 Advanced Micro Devices, Inc. Top palette colors selection using sorting for palette mode in video encoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188700A (ja) 1997-09-04 1999-03-30 Hitachi Ltd カラー画像信号の符号化方法、復号化方法およびカラー画像処理装置
JP2000125111A (ja) 1998-10-20 2000-04-28 Fujitsu Ltd 画像圧縮方法、画像復元方法、画像圧縮装置、画像読取装置、画像圧縮プログラム記憶媒体、および画像復元プログラム記憶媒体
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
ES2893815T3 (es) * 2013-12-10 2022-02-10 Canon Kk Procedimiento y aparato para codificar o descodificar una paleta en el modo de codificación de paleta
WO2015091879A2 (en) * 2013-12-19 2015-06-25 Canon Kabushiki Kaisha Improved encoding process using a palette mode
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
US9900617B2 (en) * 2014-06-20 2018-02-20 Qualcomm Incorporated Single color palette mode in video coding
CN107211143B (zh) * 2015-01-15 2020-08-18 株式会社Kt 用于处理视频信号的方法和设备
US9986248B2 (en) * 2015-01-29 2018-05-29 Qualcomm Incorporated Palette mode coding for video coding
JP6545570B2 (ja) * 2015-08-18 2019-07-17 株式会社東芝 符号化装置、復号装置および画像処理装置

Also Published As

Publication number Publication date
US10440370B2 (en) 2019-10-08
US20170264909A1 (en) 2017-09-14
JP2017168879A (ja) 2017-09-21

Similar Documents

Publication Publication Date Title
JP6537511B2 (ja) Hevcにおける改良型パレットモード
US20170302939A1 (en) Adaptive screen and video coding scheme
JP2020017972A (ja) 動画像復号装置、動画像復号方法、動画像符号化装置、および、動画像符号化方法
US11805262B2 (en) Image encoding device, image decoding device, and image processing method
US9973750B2 (en) Method and device for image encoding/decoding using block split prediction
KR20130051384A (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
US10116962B2 (en) Image coding device, image decoding device, image coding method and image decoding method
KR20160093061A (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
JP6662123B2 (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
KR20130003718A (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
JP2016134860A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20190028718A1 (en) Video encoding device, video encoding method, video decoding device, and video decoding method
TWI719641B (zh) 視訊編解碼方法及裝置
KR20120034044A (ko) 영상 변환 부호화/복호화 방법 및 장치
KR20110048004A (ko) 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR102570374B1 (ko) 영상 부호화 장치, 영상 부호화 방법, 영상 부호화 프로그램, 영상 복호 장치, 영상 복호 방법, 및 영상 복호 프로그램
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
KR20120080552A (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
JP2019036772A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2012134757A (ja) コンテクスト適応エントロピー符号化方法,コンテクスト適応エントロピー復号方法,コンテクスト適応エントロピー符号化装置,コンテクスト適応エントロピー復号装置およびそれらのプログラム
KR20120033546A (ko) 영상의 구조적 정보를 이용한 적응적 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP2018110313A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
KR102017027B1 (ko) 고속 영상 부호화 방법 및 장치
KR101567982B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101567986B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191216

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: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200127

R150 Certificate of patent or registration of utility model

Ref document number: 6662123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150