JP2013046282A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2013046282A
JP2013046282A JP2011183557A JP2011183557A JP2013046282A JP 2013046282 A JP2013046282 A JP 2013046282A JP 2011183557 A JP2011183557 A JP 2011183557A JP 2011183557 A JP2011183557 A JP 2011183557A JP 2013046282 A JP2013046282 A JP 2013046282A
Authority
JP
Japan
Prior art keywords
unit
decoding
encoding
learning information
encoded stream
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.)
Withdrawn
Application number
JP2011183557A
Other languages
English (en)
Inventor
Atsushi Yamato
敦 大和
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2011183557A priority Critical patent/JP2013046282A/ja
Priority to PCT/JP2012/064985 priority patent/WO2013027472A1/ja
Publication of JP2013046282A publication Critical patent/JP2013046282A/ja
Withdrawn 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • 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)

Abstract

【課題】エラー耐性が高く特殊再生等に対応可能で符号化効率を高くする。
【解決手段】復号テーブル生成部520は、符号化ストリームに含まれたテーブル学習情報に基づいて復号テーブルの設定を行う。復号部525は、この復号テーブルを用いて符号化ストリームの可変長復号処理を行う。また、復号テーブル生成部520は、可変長復号処理の結果に基づいて復号テーブルの更新を行う。したがって、符号化テーブルを用いて可変長符号化処理を行う場合に、可変長符号化処理の結果に基づいて学習を行い、出現頻度が高くなるに応じて符号長が短くなるように符号化テーブルを更新することで符号化効率を高めても、例えばスライス単位で可変長復号処理を正しく行うことができるので、エラー耐性が高く特殊再生等に対応可能で符号化効率を高くすることが可能となる。
【選択図】 図24

Description

この技術は、画像処理装置および画像処理方法に関する。
H.264/AVC(Advanced Video Coding)に続く次世代の映像符号化方式として、HEVC(High Efficiency Video Coding)の標準化が進められている。HEVCが使用する基本的な符号化技術は、H.264/AVCと同様である。しかし、エントロピー符号化の手法では、H.264/AVCのエントロピー符号化におけるCAVLC(Context-based Adaptive Variable Length Coding)およびCABAC(Context-based Adaptive Binary Arithmetic Coding)とは異なる手法が提案されている(下記非特許文献1参照)。
CAVLCは、CABACに比べて符号化効率が劣るものの演算処理が容易である。そのため、H.264/AVCのベースラインプロファイルでは、CABACではなくCAVLCが使用されている。これに対し、提案されているエントロピー符号化の手法では、エンコーダおよびデコーダにおいて、VLC(Variable Length Coding:可変長符号化)テーブル内で各符号語に関連付けられる符号番号とシンタックス要素のインデックス値との組を保持する符号番号テーブルを記憶する。そして、符号化または復号の際、あるインデックス値が出現すると、上記符号番号テーブル内で、出現したインデックス値とそのすぐ上のインデックス値をスワップする。このようなスワップを行うことで、相対的に出現頻度の高いインデックス値を、より小さい符号番号に関連付けることで符号量の圧縮がはかられている。
K.Ugur (Nokia), K.R.Andersson (LM Ericsson), A.Fuldseth (Tandberg Telecom), "JCTVC-A119:Video coding technology proposal by Tandberg, Nokia, and Ericsson", Documents of the first meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Dresden, Germany, 15-23 April, 2010.
ところで、H.264/AVCのCAVLCやCABACは、スライスの先頭で学習の状態を初期化する方法が用いられており、HEVCにおいても同様な方法が検討されている。スライスの先頭で学習の状態を初期化すれば、ピクチャの途中であってもスライスの先頭から再生を行うことが可能となり、トリックプレイ等の特殊再生に対応することが可能となる。また、ピクチャの先頭で学習の状態を初期化する場合に比べてエラー耐性を高めることができる。しかし、学習期間が短くなることから符号化効率を高くできないおそれがある。
そこで、本発明は、エラー耐性が高く特殊再生等に対応可能で符号化効率を高くできる画像処理装置および画像処理方法を提供することを目的とする。
この技術の第1の側面は、復号テーブルを用いて符号化ストリームの可変長復号処理を行う復号部と、前記符号化ストリームに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、前記可変長復号処理の結果に基づいて前記設定した復号テーブルの更新を行う復号テーブル生成部とを備える画像処理装置にある。
この技術においては、符号化ストリームの例えばスライスヘッダに含まれたテーブル学習情報に基づいて復号テーブルの設定が行われて、この復号テーブルを用いて当該スライスの可変長復号処理が開始される。さらに、可変長復号処理の結果に基づいて復号テーブルの更新が行われる。また、符号化ストリームに含められているフラグ情報に基づき、テーブル学習情報が含まれているか否かの判別が行われて、テーブル学習情報が含まれていないと判別した場合には、前記復号テーブルの初期化が行われる。また、テーブル学習情報は符号化されており、符号化ストリームの復号処理を行うことでテーブル学習情報が取得される。
この技術の第2の側面は、復号テーブルを用いて符号化ストリームの可変長復号処理を行う工程と、前記符号化ストリームに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、前記可変長復号処理の結果に基づいて前記設定した復号テーブルの更新を行う工程とを含む画像処理方法にある。
この技術の第3の側面は、符号化テーブルを用いて可変長符号化処理を行い符号化ストリームを生成する符号化部と、前記可変長符号化処理の結果に基づいて前記符号化テーブルの更新を行い、該更新後の符号化テーブルに基づきテーブル学習情報を生成して前記符号化ストリームに含める符号化テーブル生成部とを備える画像処理装置にある。
この技術においては、符号化テーブルを用いて可変長符号化処理を行い符号化ストリームの生成が行われる。また、可変長符号化処理の結果に基づいて符号化テーブルの更新を行い、更新後の符号化テーブル例えばスライス開始時の可変長符号化処理で用いる符号化テーブルに基づいて生成したテーブル学習情報が符号化ストリームの例えばスライスヘッダに含められる。また、テーブル学習情報が含まれているか否かを示すフラグ情報を符号化ストリームに設けて、符号化ストリームにテーブル学習情報を含めない場合には、符号化テーブルを初期化して可変長符号化処理を開始する。また、テーブル学習情報は符号化されて符号化ストリームに含められる。
この技術の第4の側面は、符号化テーブルを用いて可変長符号化処理を行い符号化ストリームを生成する工程と、前記可変長符号化処理の結果に基づいて前記符号化テーブルの更新を行い、該更新後の符号化テーブルに基づきテーブル学習情報を生成して前記符号化ストリームに含める工程とを含む画像処理方法にある。
この技術によれば、符号化ストリームに含まれたテーブル学習情報に基づいて復号テーブルの設定が行われて、この復号テーブルを用いて符号化ストリームの可変長復号処理が行われる。さらに、可変長復号処理の結果に基づいて復号テーブルの更新が行われる。また、符号化テーブルを用いて可変長符号化処理を行い符号化ストリームの生成が行われて、可変長符号化処理の結果に基づいて符号化テーブルが更新される。さらに、更新後の符号化テーブルに基づきテーブル学習情報が生成されて符号化ストリームに含められる。このため、例えばスライスの先頭にテーブル学習情報を設けるようにすれば、スライス単位で再生を行うことが可能となり、スライス毎にテーブルを初期化する場合に比べて学習期間も長くできるので符号化効率を高くできるようになる。
画像符号化装置の構成を例示した図である。 画像符号化装置の動作を示すフローチャートである。 可逆符号化部において可変長符号化を行う部分の構成を例示した図である。 GOPの構成を示す図である。 シンタックス要素last_pos_level_oneの可変長符号化動作を例示した図である。 変数vlcNumを決定するためのテーブルを示す図である。 lastPosVlcNumIndexを示す図である。 VlcNumTableを示す図である。 lastPosTableを示す図である。 テーブル学習情報を示す図である。 splitPredPartModeTableの初期値を示す図である。 intraModeTableの初期値を示す図である。 cbpSpilitTransTableの初期値を示す図である。 スライスヘッダのシンタックスを例示した図である。 シンタックス要素enable_entropy_headerの構成を例示した図である。 VLCテーブルにおける学習値の割り当て例を示した図である。 ダイレクトスワップ方式を説明するための図である。 カウンタスワップ方式を説明するための図である。 ソート処理を行う場合について説明するための図である。 可逆符号化部における処理の一例を示すフローチャートである。 テーブルの学習動作を示すフローチャートである。 画像復号装置の構成を例示した図である。 画像復号装置の動作を示すフローチャートである。 可逆復号部において可変長復号を行う部分の構成を例示した図である。 シンタックス要素last_pos_level_oneの可変長復号動作を例示した図である。 可逆復号部における処理の一例を示すフローチャートである。 テレビジョン装置の概略的な構成を例示した図である。 携帯電話機の概略的な構成を例示した図である。 記録再生装置の概略的な構成を例示した図である。 撮像装置の概略的な構成を例示した図である。
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.画像符号化装置の構成
2.画像符号化装置の動作
3.可逆符号化部の構成
4.可逆符号化部の動作
5.テーブルの学習動作
6.画像復号装置の構成
7.画像復号装置の動作
8.可逆復号部の構成
9.可逆復号部の動作
10.応用例
<1.画像符号化装置に適用した場合の構成>
図1は、本技術の画像処理装置を適用した画像符号化装置の構成を例示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ処理部24、フレームメモリ25、セレクタ26、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
A/D変換部11は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ12に出力する。
画面並べ替えバッファ12は、A/D変換部11から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部13とイントラ予測部31と動き予測・補償部32に出力する。
減算部13には、画面並べ替えバッファ12から出力された画像データと、後述する予測画像・最適モード選択部33で選択された予測画像データが供給される。減算部13は、画面並べ替えバッファ12から出力された画像データと予測画像・最適モード選択部33から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部14に出力する。
直交変換部14は、減算部13から出力された予測誤差データに対して、離散コサイン変換(DCT;Discrete Cosine Transform)、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部14は、直交変換処理を行うことにより得られた変換係数データを量子化部15に出力する。
量子化部15には、直交変換部14から出力された変換係数データと、後述するレート制御部18からレート制御信号が供給されている。量子化部15は変換係数データの量子化を行い、量子化データを可逆符号化部16と逆量子化部21に出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づき量子化パラメータ(量子化スケール)を切り替えて、量子化データのビットレートを変化させる。
可逆符号化部16には、量子化部15から出力された量子化データ、および、後に説明するイントラ予測部31と動き予測・補償部32により生成され予測画像・最適モード選択部33により選択されるイントラ予測またはインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロック毎の最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロック毎の動きベクトルの予測のための予測モード情報、差分動きベクトル情報、および参照画像情報などを含み得る。
可逆符号化部16は、入力される符号化対象のバイナリデータをシンタックス要素(syntax element)毎に取得して可変長符号化を行い符号化ストリームを生成する。なお、シンタックス要素毎のバイナリデータが示す値をシンタックス要素値と呼ぶ。また、可逆符号化部16は、可変長符号化処理結果に基づいて学習を行い、発生頻度が高くなるに伴い符号長が短くなるように符号化テーブルを更新する。さらに、可逆符号化部16は、更新後の符号化テーブルに基づきテーブル学習情報を生成して符号化ストリームに含める。
テーブル学習情報は、学習が行われている符号化テーブルに対応した復号テーブルを画像復号装置で生成可能とするための情報である。可逆符号化部16は、テーブル学習情報を符号化ストリームに含めることで、例えばスライス単位で復号を行う場合でも、テーブル学習情報を利用することで、可変長符号化処理前のバイナリデータを可変長復号処理によって正しく生成できるようにする。可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
蓄積バッファ17は、可逆符号化部16からの符号化ストリームを蓄積する。また、蓄積バッファ17は、蓄積した符号化ストリームを伝送路に応じた伝送速度で出力する。
レート制御部18は、蓄積バッファ17の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部15に出力する。レート制御部18は、例えば蓄積バッファ17から空き容量を示す情報を取得する。レート制御部18は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部18は蓄積バッファ17の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
逆量子化部21は、量子化部15から供給された量子化データの逆量子化処理を行う。逆量子化部21は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部22に出力する。
逆直交変換部22は、逆量子化部21から供給された変換係数データの逆直交変換処理を行うことで得られたデータを加算部23に出力する。
加算部23は、逆直交変換部22から供給されたデータと予測画像・最適モード選択部33から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ処理部24とフレームメモリ25に出力する。
デブロッキングフィルタ処理部24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ処理部24は、加算部23から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の画像データをフレームメモリ25に出力する。
フレームメモリ25は、加算部23から供給された復号画像データとデブロッキングフィルタ処理部24から供給されたフィルタ処理後の復号画像データを参照画像の画像データとして保持する。
セレクタ26は、イントラ予測を行うためにフレームメモリ25から読み出されたフィルタ処理前の参照画像データをイントラ予測部31に供給する。また、セレクタ26は、インター予測を行うためフレームメモリ25から読み出されたフィルタ処理後の参照画像データを動き予測・補償部32に供給する。
イントラ予測部31は、画面並べ替えバッファ12から出力された符号化対象画像の画像データとフレームメモリ25から読み出したフィルタ処理前の参照画像データを用いて、候補となる各イントラ予測モードのイントラ予測処理を行う。さらに、イントラ予測部31は、各イントラ予測モードに対してコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測モード、すなわち符号化効率が最良となるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部31は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードに関する予測モード情報、および最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。また、イントラ予測部31は、後述するようにコスト関数値の算出で用いる発生符号量を得るため、各イントラ予測モードのイントラ予測処理において、イントラ予測モードに関する予測モード情報を可逆符号化部16に出力する。
動き予測・補償部32は、マクロブロックに対応する各予測ブロックサイズで動き予測・補償処理を行う。動き予測・補償部32は、画面並べ替えバッファ12から読み出された符号化対象画像における各予測ブロックサイズの画像毎に、フレームメモリ25から読み出されたフィルタ処理後の参照画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部32は、検出した動きベクトルに基づいて復号画像に動き補償処理を施して予測画像の生成を行う。また、動き予測・補償部32は、各予測ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となる予測ブロックサイズ、すなわち符号化効率が最良となる予測ブロックサイズを、最適インター予測モードとして選択する。動き予測・補償部32は、最適インター予測モードで生成された予測画像データと最適インター予測モードに関する予測モード情報、および最適インター予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。また、動き予測・補償部32は、コスト関数値の算出で用いる発生符号量を得るため、各予測ブロックサイズでのインター予測処理において、インター予測モードに関する予測モード情報を可逆符号化部16に出力する。なお、動き予測・補償部32は、インター予測モードとして、スキップドマクロブロックやダイレクトモードでの予測も行う。
予測画像・最適モード選択部33は、イントラ予測部31から供給されたコスト関数値と動き予測・補償部32から供給されたコスト関数値を、マクロブロック単位で比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部33は、最適モードで生成した予測画像データを減算部13と加算部23に出力する。さらに、予測画像・最適モード選択部33は、最適モードの予測モード情報を可逆符号化部16に出力する。なお、予測画像・最適モード選択部33は、スライス単位でイントラ予測またはインター予測を行うようにしてもよい。
<2.画像符号化装置の動作>
図2は、画像符号化装置の動作を示すフローチャートである。ステップST11において、A/D変換部11は入力された画像信号をA/D変換する。
ステップST12において画面並べ替えバッファ12は、画面並べ替えを行う。画面並べ替えバッファ12は、A/D変換部11より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップST13において減算部13は、予測誤差データの生成を行う。減算部13は、ステップST12で並べ替えられた画像の画像データと予測画像・最適モード選択部33で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。なお、予測画像・最適モード選択部33でイントラ予測部31から供給された予測画像と動き予測・補償部32からの予測画像の選択がスライス単位で行われるとき、イントラ予測部31から供給された予測画像が選択されたスライスでは、イントラ予測が行われる。また、動き予測・補償部32からの予測画像が選択されたスライスでは、インター予測が行われる。
ステップST14において直交変換部14は、直交変換処理を行う。直交変換部14は、減算部13から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
ステップST15において量子化部15は、量子化処理を行う。量子化部15は、変換係数データを量子化する。量子化に際しては、後述するステップST25の処理で説明されるように、レート制御が行われる。
ステップST16において逆量子化部21は、逆量子化処理を行う。逆量子化部21は、量子化部15により量子化された変換係数データを量子化部15の特性に対応する特性で逆量子化する。
ステップST17において逆直交変換部22は、逆直交変換処理を行う。逆直交変換部22は、逆量子化部21により逆量子化された変換係数データを直交変換部14の特性に対応する特性で逆直交変換する。
ステップST18において加算部23は、復号画像データの生成を行う。加算部23は、予測画像・最適モード選択部33から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号画像データを生成する。
ステップST19においてデブロッキングフィルタ処理部24は、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部24は、加算部23より出力された復号画像データをフィルタリングしてブロック歪みを除去する。また、デブロッキングフィルタ処理部24は、画像データを記憶するラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようする。具体的には、デブロッキングフィルタ処理部24は、垂直方向のブロック間の境界検出によって検出された境界に応じて、境界の上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御する。
ステップST20においてフレームメモリ25は、復号画像データを記憶する。フレームメモリ25は、デブロッキングフィルタ処理前の復号画像データを記憶する。
ステップST21においてイントラ予測部31と動き予測・補償部32は、それぞれ予測処理を行う。すなわち、イントラ予測部31は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部32は、インター予測モードの動き予測・補償処理を行う。この処理により、候補となる各予測モードでの予測処理がそれぞれ行われ、候補となる各予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部33に供給される。
ステップST22において予測画像・最適モード選択部33は、予測画像データの選択を行う。予測画像・最適モード選択部33は、イントラ予測部31および動き予測・補償部32より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードに決定する。さらに、予測画像・最適モード選択部33は、決定した最適モードの予測画像データを選択して、減算部13と加算部23に供給する。この予測画像が、上述したように、ステップST13,ST18の演算に利用される。
ステップST23において可逆符号化部16は、可逆符号化処理を行う。可逆符号化部16は、量子化部15より出力された量子化データを可逆符号化する。このとき、上述したステップST22において可逆符号化部16に入力された予測モード情報(例えばマクロブロックタイプや予測モード、動きベクトル情報、参照ピクチャ情報等を含む)なども可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ストリームのヘッダ情報に、予測モード情報の可逆符号化データが付加される。
ステップST24において蓄積バッファ17は、蓄積処理を行い符号化ストリームを蓄積する。この蓄積バッファ17に蓄積された符号化ストリームは適宜読み出され、伝送路を介して復号側に伝送される。
ステップST25においてレート制御部18は、レート制御を行う。レート制御部18は、蓄積バッファ17で符号化ストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ17で発生しないように、量子化部15の量子化動作のレートを制御する。
<3.可逆符号化部の構成>
図3は、図1に示した画像符号化装置10の可逆符号化部16において可変長符号化を行う部分の構成を例示している。可逆符号化部16は、符号化テーブル生成部160と符号化部165を有している。また、符号化テーブル生成部160は、カウント部161、スワップ部162、記憶部163、制御部164を有している。
符号化テーブル生成部160は、可変長符号化処理で用いる符号化テーブルを生成する。また、可変長符号化処理の結果に基づいて符号化テーブルの更新を行い、更新後の符号化テーブルに基づきテーブル学習情報を生成して符号化ストリームに含める。
符号化テーブル生成部160のカウント部161は、後述する学習においてカウント値に応じたスワップ動作を行うために出現頻度をカウントする。例えば、カウント部161は、ある1つのインデックス値が入力されると、入力されたインデックス値のカウンタ値をカウントアップする。また、カウント部161は、制御部164による制御のもと出現頻度のカウントの開始やカウントのリセット等を行う。
スワップ部162は、後述する学習においてスワップ処理を行うことで、出現頻度の高い順に短い符号語が割り当てられるように符号化テーブルを更新する。また、スワップ部162は、カウント部161によりカウントされた出現頻度に応じてスワップ処理を行う。
記憶部163は、半導体メモリなどの記憶媒体により構成されており、可変長符号化処理を行うために用いられる符号化テーブルを記憶する。また、記憶部163に記憶されている符号化テーブルは学習によって更新される。記憶部163には、例えば量子化された直交変換係数の可変長符号化において、非ゼロ係数の場所を示すシンタックス要素last_pos_level_oneに関しては、後述するlastPosVlcNumIndexTable,lastPosVlcNumTable,lastPosTable,符号語のパターンの異なる複数のVLCテーブル等が記憶される。
制御部164は、符号化効率が高くなるように、可変長符号化処理を行うために用いる符号化テーブルの学習を行う。学習では、出現頻度の高い情報に対して割り当てる符号長が短くなるようにスワップ処理を行う。また、制御部164は、更新後の符号化テーブルに基づきテーブル学習情報を生成して符号化ストリームに含める。図4は、GOP(Group of Pictures)の構成を提示している。ここで、1つのピクチャ(図4ではIピクチャを例示)が複数のスライスに分割されており、スライス単位で再生を行えるようにする場合、例えばスライスヘッダにテーブル学習情報を設ける。このように、スライスの先頭部分にテーブル学習情報を設けることで、スライス毎に復号テーブルを初期化することなく復号処理を行えるようにして、スライス単位の再生と符号化効率の向上を可能とする。また、テーブル学習情報は、スライスの復号開始前に取得できればよくスライスヘッダに限らずパラメータセット等に設けるようにしてもよい。例えば1ピクチャが1スライスとされている場合、ピクチャパラメータセットにテーブル学習情報を設ける。
符号化部165は、符号化テーブルを用いてシンタックス要素毎のバイナリデータを符号化データに変換する。また、符号化部165は、取得した符号化データをストリームの一部として順次出力する。さらに、符号化部165は、符号化テーブルの学習において、出現頻度に応じて符号化テーブルを更新することができるように、出現頻度をカウントするための情報をカウント部161に出力する。
<4.可逆符号化部の動作>
次に、可逆符号化部の動作について説明する。なお、以下の説明は、例えば「WD3: Working Draft 3 of High-Efficiency Video Coding. Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11. 5th Meeting: Geneva, CH, 16-23 March, 2011」で示されているCAVLC方式(LCEC:Low Complexity Entropy Coding)を用いた場合を例示している。
図5は、非ゼロ係数の場所を示すシンタックス要素last_pos_level_oneの可変長符号化動作を例示している。
lastPosVlcTableは、図6に示すように変数blockTypeと変数vlcNumIdxの値から、変数vlcNumを決定するためのテーブルである。なお、図6では初期値を示している。変数blockTypeは、式(1)に基づいて決定される。
Figure 2013046282
式(1)において変数Nは式(2)に基づいて設定される。また、式(2)において、「TrafoSize」はトランスフォームユニットのブロックサイズを示している。「cIdx」は、処理する画像信号がいずれのコンポーネント信号であるか示しており、例えば輝度信号では「cIdx=0」、青色差信号では「cIdx=1」赤色差信号では「cIdx=2」とされる。また、「slice_type」はスライスのタイプを示している。例えばPスライスは「slice_type=0」、Bスライスは「slice_type=1」、Iスライスは「slice_type=2」とされる。
Figure 2013046282
変数vlcNumIdxは、式(3)に示すように、lastPosVlcNumIndexに基づき変数blockTypeに応じて得られるlastPosVlcNumIndex[blockType]と「16」のいずれか小さい値とされる。なお、lastPosVlcNumIndexは、図7に示すように初期値が「0」であり、その後、式(4)に示すように条件に応じて「+1」または「−1」される。
Figure 2013046282
VLCTableは、符号化処理において変数codeNumの値を符号化データである符号語(Code Word)に変換し、復号処理において符号語を変数codeNumの値に変換するために用いられる。VLCTableは複数設けられており、例えばシンタックス要素last_pos_level_oneの場合にはVLC2,4,7,9,10,12,13の7つのテーブルから、変数blockTypeと変数vlcNumIdxの値に応じてVlcNumTableが選択される。例えば、変数blockTypeが「0」で変数vlcNumIdxが「0」である場合には、図8に示すVlcNumTableとしてVLC10を用いる。このVLC10を用いて符号化を行う場合、変数codeNumの値を符号語に変換する。例えば変数codeNumが「1」である場合、符号語は「01」に変換される。
lastPosTableは、符号化処理においてバイナリデータであるシンタックス要素値を変数codeNumの値に変換し、復号処理において変数codeNumの値をシンタックス要素値に変換するために用いられる。なお、図9に示すlastPosTableは初期値を示している。変数tableNumは、式(5)に基づいて決定される。
Figure 2013046282
例えば、lastPosTableが図9に示す初期値であり、シンタックス要素値が「0」で変数tableNumが「0」の場合、変数codeNumは「1」となる。
したがって、lastPosTableを用いてシンタックス要素値を変数codeNumの値に変換して、変数blockTypeと変数vlcNumIdxの値に応じて選択したVlcNumTableを用いて変数codeNumの値を符号語に変換する。このような変換を行うことで、シンタックス要素last_pos_level_oneの可変長符号化結果である符号化データを生成できる。
また、可逆符号化部16は、シンタックス要素last_pos_level_oneの符号化効率が高くなるように、lastPosTableについて後述の学習を行う。また、可逆符号化部16は、シンタックス要素last_pos_level_oneに限らす、他のシンタックス要素の符号化に用いるテーブルについても学習を行うことで、符号化効率を高くする。
さらに、可逆符号化部16は、スライス単位で再生を行う場合でも学習結果を利用できるようにテーブル学習情報を例えばスライスヘッダに設けるようにする。
テーブル学習情報としては、例えば図10に示すように、lastPosVlcNumIndex,lastPosTable,splitPredPartModeTable,intraModeTable,cbpSpilitTransTableが用いられる。
lastPosVlcNumIndexは、シンタックス要素last_pos_level_oneの符号化/復号処理において、上述のように変数blockTypeに応じてlastPosVlcNumIndexを求めるためのテーブルである。lastPosVlcNumIndexは、上述のように条件に応じて「+1」または「−1」されて更新が行われる。なお、上述の図7は、lastPosVlcNumIndexの初期値を示している。
lastPosTableは、シンタックス要素last_pos_level_oneの符号化/復号処理において、上述のように変数codeNumと変数tableNumとシンタックス要素値の関係を示したテーブルである。このテーブルの学習では後述するダイレクトスワップ(direct swap)方式が用いられる。なお、上述の図9は、lastPosTableの初期値を示している。
splitPredPartModeTableは、変数codeNumと変数cuDepth(コーディングユニット(CU:Coding Unit)の階層を示す)に基づき、コーディングユニットの分割に関するシンタックス要素cu_split_pred_part_modeの値を求めるためのテーブルである。このテーブルの学習では、後述するカウンタスワップ(counter swap)方式が用いられる。なお、図11は、splitPredPartModeTableの初期値を示している。
intraModeTableは、変数k(モード毎に算出して決定される数字)と変数codeNumに基づき、イントラ予測が最適符号化モードと選択されたときに符号化効率が最適となるモードのシンタックス要素rem_intra_luma_pred_modeを求めるためのテーブルである。このテーブルの学習ではダイレクトスワップ方式が用いられる。なお、図12は、intraModeTableの初期値を示している。
cbpSpilitTransTableは、変数kと変数codeNumに基づき、符号化ブロックのパターンやブロック分割に関するシンタックス要素cbp_and_split_transformを求めるためのテーブルである。このテーブルの学習ではダイレクトスワップ方式が用いられる。図13は、cbpSpilitTransTableの初期値を示している。
なお、テーブル学習情報は、例えばスライス単位で再生を行う場合でも、可変長復号処理によって可変長符号化処理前のバイナリデータを正しく生成できる情報であればよく、図10に示す情報に限られない。
図14は、このようなテーブル学習情報をスライスヘッダに設けることができるようにした場合のスライスヘッダのシンタックスを例示している。
スライスヘッダには、テーブルの初期化動作を決定するためのシンタックス要素enable_initialize_tableを設けている。例えば、当該スライスにおいてテーブルの初期化を行う場合、シンタックス要素enable_initialize_tableを「1」とする。また、初期化を行わない場合すなわち学習が行われているテーブルを用いる場合、シンタックス要素enable_initialize_tableを「0」とする。このようにして、シンタックス要素enable_initialize_tableによって、テーブルの初期化を行うか否か選択可能とする。
さらに、シンタックス要素enable_initialize_tableが「0」の場合、シンタックス要素enable_entropy_headerを設けて、テーブル学習情報をストリームに含める。図15はシンタックス要素enable_entropy_headerの構成を例示している。シンタックス要素enable_entropy_headerは、lastPosVlcNumIndex,lastPosTable,splitPredPartModeTable,intraModeTable,cbpSpilitTransTableを含めるように構成されている。
このように、テーブル学習情報が含まれているか否かを示すフラグ情報であるシンタックス要素enable_entropy_headerを符号化ストリームに設けることで、当該スライスの開始時に学習の行われているテーブルを利用することが容易となる。
また、テーブル学習情報を符号化ストリームに設ける場合に可変長符号化を行えば、符号化効率を高めることができる。図16は、テーブルの可変長符号化において、VLCテーブルにおける学習値のVLC割り当て例を示している。なお、図16は初期値を示している。図16の(A)は、lastPosTableの変数codeNumと符号語の関係を示すVLCテーブルを例示している。図16の(B)は、splitPredPartModeTableの変数codeNumと符号語の関係を示すVLCテーブルを例示している。また、図16の(C)は、cbpSpilitTransTableの変数codeNumと符号語の関係を例示している。
<5.テーブルの学習動作>
可逆符号化部16は、出現頻度が高くなるに伴い符号長が短くなるように符号化テーブルの学習を行うことで符号化効率を高くする。
学習では、ダイレクトスワップ方式やカウンタスワップ方式等を用いる。図17は、ダイレクトスワップ方式を説明するための図である。なお、図17において、符号語(Code Word)は、下段の符号語の符号長が上段の符号語の符号長以上とされており、符号語「W0」は最短の符号長である。
まず、最初に発生した変数codeNumを例えば「1」とする。発生した変数codeNumとシンタックス要素値の関係が図17の(A)であり、シンタックス要素値が「1」である場合、シンタックス要素値「1」に対する符号語は「W1」となる。さらに、変数codeNum「1」およびその上の変数codeNum「0」について、図17の(B)に示すようにシンタックス要素値のスワップを行い、次の処理では、図17の(B)に示すテーブルを用いる。このテーブルでは、シンタックス要素値「1」に対する符号語が、学習によって「W1」から「W0」に変更されているのでシンタックス要素値が同じでも符号長を短くすることが可能となり符号化効率を高めることができる。
次に変数codeNum「2」が発生したときのテーブルが図17の(B)であり、シンタックス要素値「2」である場合、シンタックス要素値「2」に対する符号語は「W2」となる。さらに、変数codeNum「2」およびその上の変数codeNum「1」について、図17の(C)に示すようにシンタックス要素値のスワップを行い、次の処理では、図17の(C)に示すテーブルを用いる。このテーブルでは、シンタックス要素値「2」に対する符号語が、学習によって「W2」から「W1」に変更されているのでシンタックス要素値が同じでも符号長を短くすることが可能となり符号化効率を高めることができる。
図18は、カウンタスワップ方式を説明するための図である。カウンタスワップ方式では、出現頻度のカウントを行い、カウント値に基づきスワップを行う。
発生した変数codeNumを例えば「1」とする。発生した変数codeNumとシンタックス要素値の関係が図18の(A)であり、シンタックス要素値が「1」である場合、シンタックス要素値「1」に対する符号語は「W1」となる。さらに、変数codeNum「1」に対応するカウント値を「30」から「31」にカウントアップする。
その後の変数codeNum「1」の発生によりカウント値が「32」から「33」にカウントアップされると、変数codeNum「0」のカウント値「32」よりもカウント値が大きくなる。したがって、変数codeNum「1」およびその上の変数codeNum「0」について、図18の(B)に示すようにシンタックス要素値のスワップを行い、次の処理では図18の(B)に示すテーブルを用いる。このテーブルでは、シンタックス要素値「1」に対する符号語が、学習によって「W1」から「W0」に変更されているのでシンタックス要素値が同じでも符号長を短くすることが可能となり符号化効率を高めることができる。
また、その後の変数codeNum「3」の発生によりカウント値が「26」から「27」にカウントアップされると、変数codeNum「2」のカウント値「26」よりもカウント値が大きくなる。したがって、変数codeNum「3」およびその上の変数codeNum「2」について、図18の(C)に示すようにシンタックス要素値のスワップを行い、次の処理では図18の(C)に示すテーブルを用いる。このテーブルでは、シンタックス要素値「3」に対する符号語が、学習によって「W3」から「W2」に変更されているのでシンタックス要素値が同じでも符号長を短くすることが可能となり符号化効率を高めることができる。
また、カウントを所定期間を行い、所定期間が経過する毎にカウント値のソート処理を行い、変数codeNumの出現頻度に応じて符号語の割り当てを行うようにしてもよい。例えばソート処理の開始前のカウント値が図19の(A)の状態である場合、カウント値に基づいてソート処理を行い、図19の(B)に示すように、出現頻度の高い変数codeNumの値に対して短い符号語が割り当てられるようにテーブルに更新する。
ソート処理は、例えば、クイックソートまたはバブルソートなどの任意のソートアルゴリズムを使用する。また、ソート処理は、図17,18,19に例示したようなスワップ処理と比較して多くの処理コストを要する。したがって、所定の間隔や指定された間隔等でソートを行うようにすれば、処理コストを低減できる。
ソート間隔は、例えば、画像サイズまたは利用可能なリソースの制約などに応じて決定され得る。そして、ソート間隔を指定するソート制御パラメータが、シーケンスパラメータセット、ピクチャパラメータセットまたはスライスヘッダ等に挿入するようにしてもよい。例えば、ソート制御パラメータは、シンタックス要素の数や符号化単位(例えばコーディングユニット)の数,マクロブロックの数等でソート間隔を指定するパラメータ、1ピクチャ内でのソート回数を指定するパラメータ等を用いる。また、エンコーダおよびデコーダの双方にとって既知の(例えば、予め仕様として定義される)ソート制御パラメータを使用すれば、ストリームにソート制御パラメータを含める必要がなく、符号量を削減できる。
また、カウンタ値は時間の経過とともに増大していくことから、ソート間隔またはソート間隔よりも大きいリセット間隔で、出現頻度のカウント結果をリセットする。このようなリセット動作を行うことで不必要に長いタイムスパンで出現頻度がカウントされることがなくなり、メモリリソースの浪費を防止できる共にソート処理の処理コストも低減できる。
また、リセットの代わりにカウンタの正規化を実行してもよい。例えば出現頻度を代表値で除算して正規化すれば、カウント値が大きな値となってしまうことを防止できるので、メモリリソースの浪費が防止できる共にソート処理の処理コストも低減できる。
図20は、可逆符号化部16における処理の一例を示すフローチャートである。ステップST31で可逆符号化部16は初期化を行う。可逆符号化部16は、可変長符号化処理の初期化、例えば可変長符号化処理に用いる符号化テーブルやテーブル学習情報、テーブルの学習動作におけるカウント値等を初期化してステップST32に進む。
ステップST32で可逆符号化部16は、スライスの先頭であるか判別する。可逆符号化部16は、スライスの先頭である場合、ステップST33に進み、スライスの先頭でない場合、ステップST34に進む。
ステップST33で可逆符号化部16は、テーブル学習情報の挿入を行う。可逆符号化部16は、例えばスライスヘッダにテーブル学習情報を挿入してステップST34に進む。なお、ステップST33では、テーブル学習情報が符号化ストリームに含まれているか否かを示すフラグ情報をスライスヘッダに設けておけば、復号時にテーブル学習情報の取得やテーブルの初期化を容易かつ確実に行うことができる。
ステップST34で可逆符号化部16は、バイナリデータの可変長符号化を行う。可逆符号化部16は、符号化テーブルを用いて符号化対象のバイナリデータの可変長符号化を行いステップST35に進む。
ステップST35で可逆符号化部16は符号化テーブルの学習を行う。可逆符号化部16は、出現頻度が高くなるに伴い符号長が短くなるように、可変長符号化結果に基づき符号化テーブルの学習を行う。また、可逆符号化部16は、テーブル学習情報を生成してステップST32に戻る。
図21はテーブルの学習動作を示すフローチャートである。ステップST41で可逆符号化部16は、変数codeNumを取得する。ステップST42で可逆符号化部16は、取得した変数codeNumについてカウント値を加算する。
ステップST43で可逆符号化部16は、スワップ(またはソート)を行うか判別する。可逆符号化部16は、スワップ(またはソート)を行う条件が満たされた場合はステップST44に進み、条件が満たされていない場合はステップST45に進む。
ステップST44で可逆符号化部16は、スワップ(またはソート)を行いステップST45に進む。
ステップST45で可逆符号化部16はリセットタイミングあるか判別する。リセットタイミングである場合はステップST46に進み、リセットタイミングでない場合は学習動作を終了する。
ステップST46では、カウント値をリセットして学習動作を終了する。
このように、可逆符号化部16は、可変長符号化処理で用いる符号化テーブルの学習を行う。また、可逆符号化部16は、学習によって更新された符号化テーブルに基づきテーブル学習情報を生成してスライスヘッダ等に設ける。したがって、符号化ストリームの復号時に、スライスヘッダ等に設けられているテーブル学習情報を利用することで、例えばスライス単位の再生において復号処理を行うことができるようになる。また、学習結果を引き続き利用できるので、スライス単位で符号化テーブルを初期化する場合に比べて符号化効率を高くできる。
<6.画像復号装置の構成>
入力画像を符号化して生成された符号化ストリームは、所定の伝送路や記録媒体等を介して画像復号装置に供給されて復号される。
図22は、本技術の画像処理装置を適用した画像復号装置の構成を例示している。画像復号装置50は、蓄積バッファ51、可逆復号部52、逆量子化部53、逆直交変換部54、加算部55、デブロッキングフィルタ処理部56、画面並べ替えバッファ57、D/A変換部58を備えている。さらに、画像復号装置50は、フレームメモリ61、セレクタ62,65、イントラ予測部63、動き補償部64を備えている。
蓄積バッファ51は、伝送されてきた符号化ストリームを蓄積する。可逆復号部52は、蓄積バッファ51より供給された符号化ストリームを、図2の可逆符号化部16の符号化方式に対応する方式で復号する。また、可逆復号部52は、符号化ストリームのヘッダ情報を復号して得られた予測モード情報をイントラ予測部63や動き補償部64に出力する。
逆量子化部53は、可逆復号部52で復号された量子化データを、図2の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部54は、図2の直交変換部14の直交変換方式に対応する方式で逆量子化部53の出力を逆直交変換して加算部55に出力する。
加算部55は、逆直交変換後のデータとセレクタ65から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ処理部56とフレームメモリ61に出力する。
デブロッキングフィルタ処理部56は、加算部55から供給された復号画像データに対して、図2のデブロッキングフィルタ処理部24と同様にフィルタ処理を行い、ブロック歪みを除去して画面並べ替えバッファ57とフレームメモリ61に出力する。
画面並べ替えバッファ57は、画像の並べ替えを行う。すなわち、図2の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、D/A変換部58に出力される。
D/A変換部58は、画面並べ替えバッファ57から供給された画像データをD/A変換し、図示せぬディスプレイに出力することで画像を表示させる。
フレームメモリ61は、加算部55から供給されたフィルタ処理前の復号画像データとデブロッキングフィルタ処理部56から供給されたフィルタ処理後の復号画像データとを、参照画像の画像データとして保持する。
セレクタ62は、可逆復号部52から供給された予測モード情報に基づき、イントラ予測が行われた予測ブロックの復号が行われるとき、フレームメモリ61から読み出されたフィルタ処理前の参照画像データをイントラ予測部63に供給する。また、セレクタ26は、可逆復号部52から供給された予測モード情報に基づき、インター予測が行われた予測ブロックの復号が行われるとき、フレームメモリ61から読み出されたフィルタ処理後の参照画像データを動き補償部64に供給する。
イントラ予測部63は、可逆復号部52から供給された予測モード情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ65に出力する。
動き補償部64は、可逆復号部52から供給された予測モード情報に基づいて、動き補償を行い、予測画像データを生成してセレクタ65に出力する。すなわち、動き補償部64は、予測モード情報に含まれる動きベクトル情報と参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して動きベクトル情報に基づく動きベクトルで動き補償を行い、予測画像データを生成する。
セレクタ65は、イントラ予測部63で生成された予測画像データを加算部55に供給する。また、セレクタ65は、動き補償部64で生成された予測画像データを加算部55に供給する。
<7.画像復号装置の動作>
次に、図23のフローチャートを参照して、画像復号装置50の動作について説明する。ステップST51で蓄積バッファ51は、伝送されてきた符号化ストリームを蓄積する。ステップST52で可逆復号部52は、可逆復号処理を行う。可逆復号部52は、蓄積バッファ51から供給される符号化ストリームを復号する。すなわち、図2の可逆符号化部16により符号化された各ピクチャの量子化データが得られる。また、可逆復号部52、符号化ストリームのヘッダ情報に含まれている予測モード情報の可逆復号を行い、得られた予測モード情報をデブロッキングフィルタ処理部56やセレクタ62,65に供給する。さらに、可逆復号部52は、予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部63に出力する。また、可逆復号部52は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き補償部64に出力する。
ステップST53において逆量子化部53は、逆量子化処理を行う。逆量子化部53は、可逆復号部52により復号された量子化データを、図2の量子化部15の特性に対応する特性で逆量子化する。
ステップST54において逆直交変換部54は、逆直交変換処理を行う。逆直交変換部54は、逆量子化部53により逆量子化された変換係数データを、図2の直交変換部14の特性に対応する特性で逆直交変換する。
ステップST55において加算部55は、復号画像データの生成を行う。加算部55は、逆直交変換処理を行うことにより得られたデータと、後述するステップST59で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
ステップST56においてデブロッキングフィルタ処理部56は、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部56は、加算部55より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
ステップST57においてフレームメモリ61は、復号画像データの記憶処理を行う。
ステップST58においてイントラ予測部63と動き補償部64は、予測処理を行う。イントラ予測部63と動き補償部64は、可逆復号部52から供給される予測モード情報に対応してそれぞれ予測処理を行う。
すなわち、可逆復号部52からイントラ予測の予測モード情報が供給された場合、イントラ予測部63は、予測モード情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号部52からインター予測の予測モード情報が供給された場合、動き補償部64は、予測モード情報に基づき動き補償を行い、予測画像データを生成する。
ステップST59において、セレクタ65は予測画像データの選択を行う。すなわち、セレクタ65は、イントラ予測部63から供給された予測画像と動き補償部64で生成された予測画像データを選択して加算部55に供給して、上述したように、ステップST55において逆直交変換部54の出力と加算させる。
ステップST60において画面並べ替えバッファ57は、画面並べ替えを行う。すなわち画面並べ替えバッファ57は、図2の画像符号化装置10の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップST61において、D/A変換部58は、画面並べ替えバッファ57からの画像データをD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
<8.可逆復号部の構成>
図24は、図22に示した画像復号装置50の可逆復号部52において可変長復号を行う部分の構成を例示している。可逆復号部52は、復号テーブル生成部520と復号部525を有している。また、復号テーブル生成部520は、カウント部521、スワップ部522、記憶部523、制御部524を有している。
復号テーブル生成部520は、可変長復号処理で用いる復号テーブルを生成する。また、可変長復号処理の結果に基づいて復号テーブルの更新を行う。また、復号テーブル生成部520は、符号化ストリームから取得したテーブル学習情報に基づき復号テーブルを設定して可変長復号処理を開始する。
復号テーブル生成部520のカウント部521は、可逆符号化部16のカウント部161と同様に、復号テーブルの学習においてカウント値に応じたスワップ動作を行うために出現頻度をカウントする。また、カウント部521は、制御部524による制御のもと出現頻度のカウントの開始やカウントのリセット等は符号化テーブル生成部160と同様に行う。
スワップ部522は、可逆符号化部16のカウント部161と同様のスワップ処理によって記憶部523に記憶されている復号テーブルの学習を行い、可逆符号化部16で用いた符号化テーブルと対応する復号テーブルを使用して復号処理を行えるようにする。スワップ部522は、カウント部521によりカウントされた出現頻度に応じてスワップ処理を行う。
記憶部523は、半導体メモリなどの記憶媒体により構成されており、可変長復号処理を行うために用いられる復号テーブルを記憶する。また、後述する復号部525によって符号化ストリームから取得されたテーブル学習情報に基づいて設定された復号テーブルを記憶する。さらに、記憶部523は、学習によって更新された復号テーブルを記憶する。
制御部524は、可逆符号化部16と同様にテーブルの学習を行い、可変長復号処理で用いる復号テーブルを可変長符号化処理で用いた符号化テーブルに対応させることで、可変長符号化処理に対応した可変長復号処理を正しく行うことができるようにする。
復号部525は、復号テーブルを用いて符号化データをバイナリデータに変換する。さらに、復号部525は、符号化ストリームから取得したテーブル学習情報を記憶部523に出力する。また、復号部525は、符号化ストリームから取得したシンタックス要素値を制御部524に出力する。
<9.可逆復号部の動作>
このように構成された可逆復号部52は、可逆符号化部16における可逆符号化処理に対応した可変長復号処理を行い、符号化データを可変長符号化処理前のバイナリデータに変換する。
図25は、非ゼロ係数の場所を示すシンタックス要素last_pos_level_oneの可変長復号動作を例示している。可逆復号部52は、復号処理によって得られている変数blockTypeと変数vlcNumIdxの値から、VlcNumTableを選択する。可逆復号部52は、選択されたVlcNumTableを用いて、符号語を変数codeNumの値に変換する。次に、可逆復号部52は、lastPosTableを用いて、変換後の変数codeNumと復号処理によって得られている変数tableNumの値に基づきシンタックス要素値を選択する。
また、変換後の変数codeNumの出現頻度に応じてlastPosTableの学習を行うことで、符号化時に出現頻度が高い場合に短い符号長となるように処理が行われても、正しく復号処理を行うことができるようにする。なお、上述の学習は、上述の可逆符号化部16における学習と同様に行う。
このように、可逆復号部52は、可逆符号化部16における可逆符号化処理に対応した可変長復号処理の復号テーブルを用いて符号化データをバイナリデータに変換する。例えば非ゼロ係数の場所を示す符号化データをバイナリデータに変換する場合、既に可逆復号処理によって得られている情報に基づき、符号化テーブルに対応した復号テーブルを用いて可変長復号処理を行う。ここで、可逆復号部52は、スライスヘッダに含まれているテーブル学習情報に基づいてスライス復号開始時の復号テーブルを設定できる。したがって、スライス単位で再生を行う場合であっても、符号化テーブルに対応した復号テーブルを用いて可変長復号処理を行うことができる。例えば、可変長符号化処理と等しいテーブルを用いることで、符号語を符号化時の変数codeNumに変換できる。さらに、変換後の変数codeNumを符号化時のバイナリデータに変換できる。
また、可逆復号部52は、可逆符号化部16と同様にテーブルの学習を行うことで、可逆符号化部16において出現頻度が高くなるに伴い符号長を短くしても、可変長符号化処理に対応した可変長復号処理を行うことが可能となる。したがって、符号化データを可変長符号化処理目のバイナリデータに正しく変換できる。
図26は、可逆復号部52における処理の一例を示すフローチャートである。ステップST71で可逆復号部52は初期化を行う。可逆復号部52は、可変長復号処理の初期化、例えば可変長復号処理に用いる復号テーブルやテーブルの学習動作におけるカウント値等を初期化してステップST72に進む。
ステップST72で可逆復号部52は、スライスの先頭であるか判別する。可逆復号部52は、スライスの先頭である場合、ステップST73に進み、スライスの先頭でない場合、ステップST74に進む。
ステップST73で可逆復号部52は、テーブル学習情報を取得する。可逆復号部52は、例えばスライスヘッダに挿入されているテーブル学習情報を取得する。また、可逆復号部52は、取得したテーブル学習情報に基づき復号テーブルを設定してステップST74に進む。なお、ステップST73で可逆復号部52は、は、テーブル学習情報が符号化ストリームに含まれているか否かを示すフラグ情報、例えばシンタックス要素enable_initialize_tableがスライスヘッダに設けられている場合、フラグ情報を参照することでテーブル学習情報の取得を容易かつ確実に行うことができる。また、可逆復号部52は、テーブル学習情報が符号化ストリームに含まれていない場合、復号テーブルを初期化する。さらに、可逆復号部52は、テーブル学習情報が符号化されている場合、テーブル学習情報の復号を行う。
ステップST74で可逆復号部52は、符号化データの可変長復号を行う。可逆復号部52は、復号テーブルを用いて符号化データの可変長復号を行い、可変長符号化処理前のバイナリデータに変換してステップST75に進む。
ステップST75で可逆復号部52は復号テーブルの学習を行う。可逆復号部52は、可逆符号化部16と同様に、出現頻度が高くなるに伴い符号長が短くなるように可変長復号結果に基づき学習を行い、符号化データに対応した復号テーブルに更新してステップST72に戻る。
このように、可逆復号部52は、符号化ストリームに含まれているテーブル学習情報に基づいて復号テーブルの設定を行い、設定された復号テーブルを用いて符号化データの可変長復号処理を開始する。可逆復号部52は、スライスヘッダ等に設けられているテーブル学習情報に基づいて復号テーブルの設定を行い、設定された復号テーブルを用いて当該スライスの符号化データの可変長復号処理を行う。また、可逆復号部52は、可変長復号処理の結果に基づいて学習を行い復号テーブルを更新することで、符号化テーブルに対応した復号テーブルを用いて可変長復号処理を行う。したがって、スライス単位で再生を行うことが可能となり、スライス毎にテーブルを初期化する場合に比べて学習期間も長くできるので符号化効率を高くできるようになる。
また、上述した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送する。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
<10.応用例>
本技術の画像処理装置を用いた上述の実施形態に係る画像符号化装置10および画像復号装置50は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信等における送信機若しくは受信機、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録する記録装置、または、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
[第1の応用例]
図27は、上述した実施形態を適用したテレビジョン装置の概略的な構成を例示している。テレビジョン装置90は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置90は、制御部910、ユーザインタフェース部911等を有している。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。すなわち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置90における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリームおよび音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリームおよび音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタンまたはカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイまたはOLEDなど)の映像面上に映像または画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換および増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。外部インタフェース部909は、テレビジョン装置90と外部機器またはネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリームまたは音声ストリームが、デコーダ904により復号されてもよい。すなわち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置90における伝送手段としての役割を有する。
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)およびROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、およびネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置90の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置90の動作を制御する。
ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置90を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909および制御部910を相互に接続する。
このように構成されたテレビジョン装置90において、デコーダ904は、上述した実施形態に係る画像復号装置50の機能を有する。それにより、テレビジョン装置90での画像の復号に際して、スライス単位での復号を正しく行うことができる。
[第2の応用例]
図28は、上述した実施形態を適用した携帯電話機の概略的な構成を例示している。携帯電話機92は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、およびバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924およびマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、および制御部931を相互に接続する。
携帯電話機92は、音声通話モード、データ通信モード、撮影モードおよびテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メールまたは画像データの送受信、画像の撮像、およびデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調および復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張しおよびD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調および復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させるとともに、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAMまたはフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。これら送信信号および受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調および復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリームおよび音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張しおよびD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機92において、画像処理部927は、上述した実施形態に係る画像符号化装置10および画像復号装置50の機能を有する。それにより、携帯電話機92での画像の符号化および復号に際して、スライス単位で再生を正しく行うことができるように処理できる。また、スライス単位で再生を正しく行うことができるように、スライス単位でテーブルの初期化を行う場合に比べて符号化効率を高くできる。
[第3の応用例]
図29は、上述した実施形態を適用した記録再生装置の概略的な構成を例示している。記録再生装置94は、例えば、受信した放送番組の音声データおよび映像データを符号化して記録媒体に記録する。また、記録再生装置94は、例えば、他の装置から取得される音声データおよび映像データを符号化して記録媒体に記録してもよい。また、記録再生装置94は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタおよびスピーカ上で再生する。このとき、記録再生装置94は、音声データおよび映像データを復号する。
記録再生装置94は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、およびユーザインタフェース部950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。すなわち、チューナ941は、記録再生装置94における伝送手段としての役割を有する。
外部インタフェース部942は、記録再生装置94と外部機器またはネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、またはフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。すなわち、外部インタフェース部942は、記録再生装置94における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)またはBlu−ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像および音声の記録時には、チューナ941またはエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944またはディスクドライブ945へ出力する。また、セレクタ946は、映像および音声の再生時には、HDD944またはディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データおよび音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタンまたはカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置94の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置94の動作を制御する。
ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置94を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置94において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置50の機能を有する。それにより、記録再生装置94での画像の符号化および復号に際して、スライス単位で再生を正しく行うことができるように処理できる。また、スライス単位で再生を正しく行うことができるように、スライス単位でテーブルの初期化を行う場合に比べて符号化効率を高くできる。
[第4の応用例]
図30は、上述した実施形態を適用した撮像装置の概略的な構成を例示している。撮像装置96は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置96は、光学ブロック961、撮像部962、カメラ信号処理部963、画像処理部964、表示部965、外部インタフェース部966、メモリ967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース部971、およびバス972を備える。
光学ブロック961は、フォーカスレンズおよび絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号をカメラ信号処理部963へ出力する。
カメラ信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、カメラ信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、カメラ信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD部969は、例えばメニュー、ボタンまたはカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置96とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスクまたは光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置96にインストールされ得る。さらに、外部インタフェース部966は、LANまたはインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。すなわち、外部インタフェース部966は、撮像装置96における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブまたはSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置96の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置96の動作を制御する。
ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置96を操作するためのボタンおよびスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
バス972は、画像処理部964、外部インタフェース部966、メモリ967、メディアドライブ968、OSD部969、および制御部970を相互に接続する。
このように構成された撮像装置96において、画像処理部964は、上述した実施形態に係る画像符号化装置10および画像復号装置50の機能を有する。それにより、撮像装置96での画像の符号化および復号に際して、スライス単位で再生を正しく行うことができるように処理できる。また、スライス単位で再生を正しく行うことができるように、スライス単位でテーブルの初期化を行う場合に比べて符号化効率を高くできる。
さらに、本技術は、上述した実施形態に限定して解釈されるべきではない。この実施形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
なお、本技術は以下のような構成も取ることができる。
(1) 復号テーブルを用いて符号化ストリームの可変長復号処理を行う復号部と、
前記符号化ストリームに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、前記可変長復号処理の結果に基づいて前記設定した復号テーブルの更新を行う復号テーブル生成部と
を備える画像処理装置。
(2) 前記復号テーブル生成部は、前記符号化ストリームにおけるスライスヘッダに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、
前記復号部は、前記スライスヘッダに含まれたテーブル学習情報に基づいて設定された復号テーブルを用いて、当該スライスの可変長復号処理を開始する(1)に記載の画像処理装置。
(3) 前記復号テーブル生成部は、前記テーブル学習情報が前記符号化ストリームに含まれているか判別して、前記テーブル学習情報が含まれていないと判別した場合には、前記復号テーブルを初期化する(1)または(2)に記載の画像処理装置。
(4) 前記復号テーブル生成部は、前記符号化ストリームに含められているフラグ情報に基づき、前記テーブル学習情報が前記符号化ストリームに含まれているか否かの判別を行う(3)に記載の画像処理装置。
(5) 前記テーブル学習情報は符号化されており、
前記復号部は、前記符号化ストリームの復号処理を行うことで前記テーブル学習情報を取得する(1)乃至(4)の何れかに記載の画像処理装置。
(6) 符号化テーブルを用いて可変長符号化処理を行い符号化ストリームを生成する符号化部と、
前記可変長符号化処理の結果に基づいて前記符号化テーブルの更新を行い、該更新後の符号化テーブルに基づきテーブル学習情報を生成して前記符号化ストリームに含める符号化テーブル生成部と
を備える画像処理装置。
(7) 前記符号化テーブル生成部は、スライス開始時の前記可変長符号化処理で用いる符号化テーブルに基づきテーブル学習情報を生成して、該テーブル学習情報を前記符号化ストリームにおけるスライスヘッダに含める(6)に記載の画像処理装置。
(8) 前記符号化テーブル生成部は、前記符号化ストリームに前記テーブル学習情報が含まれているか否かを示すフラグ情報を生成して、前記符号化ストリームに設ける(6)または(7)に記載の画像処理装置。
(9) 前記符号化テーブル生成部は、前記符号化ストリームに前記テーブル学習情報を含めない場合、前記符号化テーブルを初期化して前記可変長符号化処理を開始する(6)乃至(8)の何れかに記載の画像処理装置。
(10) 前記符号化部は、前記テーブル学習情報の符号化を行う(6)乃至(9)の何れかに記載の画像処理装置。
この技術の画像処理装置と画像処理方法では、符号化ストリームに含まれたテーブル学習情報に基づいて復号テーブルの設定が行われて、この復号テーブルを用いて符号化ストリームの可変長復号処理が行われる。さらに、可変長復号処理の結果に基づいて復号テーブルの更新が行われる。また、符号化テーブルを用いて可変長符号化処理を行い符号化ストリームの生成が行われて、可変長符号化処理の結果に基づいて符号化テーブルが更新される。さらに、更新後の符号化テーブルに基づきテーブル学習情報が生成されて符号化ストリームに含められる。このため、例えばスライスの先頭にテーブル学習情報を設けるようにすれば、スライス単位で再生を行うことが可能となる。また、スライス毎にテーブルを初期化する場合に比べて学習期間も長くできるので符号化効率を高くできるようになる。したがって、動画像の記録再生や編集等を行う電子機器に適している。
10・・・画像符号化装置、11・・・A/D変換部、12,57・・・画面並べ替えバッファ、13・・・減算部、14・・・直交変換部、15・・・量子化部、16・・・可逆符号化部、17・・・蓄積バッファ、18・・・レート制御部、21・・・逆量子化部、22・・・逆直交変換部、23,55・・・加算部、24,56・・・デブロッキングフィルタ処理部、25,61・・・フレームメモリ、26,62,65・・・セレクタ、31,63・・・イントラ予測部、32・・・動き予測・補償部、33・・・予測画像・最適モード選択部、50・・・画像復号装置、51・・・蓄積バッファ、52・・・可逆復号部、53・・・逆量子化部、54・・・逆直交変換部、55・・・加算部、58・・・D/A変換部、64・・・動き補償部、90・・・テレビジョン装置、92・・・携帯電話機、94・・・記録再生装置、96・・・撮像装置、160・・・符号化テーブル生成部、161,521・・・カウント部、162,522・・・スワップ部、163,523・・・記憶部、164,524・・・制御部、165・・・符号化部、520・・・復号テーブル生成部、525・・・復号部

Claims (12)

  1. 復号テーブルを用いて符号化ストリームの可変長復号処理を行う復号部と、
    前記符号化ストリームに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、前記可変長復号処理の結果に基づいて前記設定した復号テーブルの更新を行う復号テーブル生成部と
    を備える画像処理装置。
  2. 前記復号テーブル生成部は、前記符号化ストリームにおけるスライスヘッダに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、
    前記復号部は、前記スライスヘッダに含まれたテーブル学習情報に基づいて設定された復号テーブルを用いて、当該スライスの可変長復号処理を開始する
    請求項1記載の画像処理装置。
  3. 前記復号テーブル生成部は、前記テーブル学習情報が前記符号化ストリームに含まれているか判別して、前記テーブル学習情報が含まれていないと判別した場合には、前記復号テーブルを初期化する
    請求項1記載の画像処理装置。
  4. 前記復号テーブル生成部は、前記符号化ストリームに含められているフラグ情報に基づき、前記テーブル学習情報が前記符号化ストリームに含まれているか否かの判別を行う
    請求項3記載の画像処理装置。
  5. 前記テーブル学習情報は符号化されており、
    前記復号部は、前記符号化ストリームの復号処理を行うことで前記テーブル学習情報を取得する
    請求項1記載の画像処理装置。
  6. 復号テーブルを用いて符号化ストリームの可変長復号処理を行う工程と、
    前記符号化ストリームに含まれたテーブル学習情報に基づいて前記復号テーブルの設定を行い、前記可変長復号処理の結果に基づいて前記設定した復号テーブルの更新を行う工程と
    を含む画像処理方法。
  7. 符号化テーブルを用いて可変長符号化処理を行い符号化ストリームを生成する符号化部と、
    前記可変長符号化処理の結果に基づいて前記符号化テーブルの更新を行い、該更新後の符号化テーブルに基づきテーブル学習情報を生成して前記符号化ストリームに含める符号化テーブル生成部と
    を備える画像処理装置。
  8. 前記符号化テーブル生成部は、スライス開始時の前記可変長符号化処理で用いる符号化テーブルに基づきテーブル学習情報を生成して、該テーブル学習情報を前記符号化ストリームにおけるスライスヘッダに含める
    請求項7記載の画像処理装置。
  9. 前記符号化テーブル生成部は、前記符号化ストリームに前記テーブル学習情報が含まれているか否かを示すフラグ情報を生成して、前記符号化ストリームに設ける
    請求項7記載の画像処理装置。
  10. 前記符号化テーブル生成部は、前記符号化ストリームに前記テーブル学習情報を含めない場合、前記符号化テーブルを初期化して前記可変長符号化処理を開始する
    請求項9記載の画像処理装置。
  11. 前記符号化部は、前記テーブル学習情報の符号化を行う
    請求項7記載の画像処理装置。
  12. 符号化テーブルを用いて可変長符号化処理を行い符号化ストリームを生成する工程と、
    前記可変長符号化処理の結果に基づいて前記符号化テーブルの更新を行い、該更新後の符号化テーブルに基づきテーブル学習情報を生成して前記符号化ストリームに含める工程と
    を含む画像処理方法。
JP2011183557A 2011-08-25 2011-08-25 画像処理装置および画像処理方法 Withdrawn JP2013046282A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011183557A JP2013046282A (ja) 2011-08-25 2011-08-25 画像処理装置および画像処理方法
PCT/JP2012/064985 WO2013027472A1 (ja) 2011-08-25 2012-06-12 画像処理装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011183557A JP2013046282A (ja) 2011-08-25 2011-08-25 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2013046282A true JP2013046282A (ja) 2013-03-04

Family

ID=47746227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011183557A Withdrawn JP2013046282A (ja) 2011-08-25 2011-08-25 画像処理装置および画像処理方法

Country Status (2)

Country Link
JP (1) JP2013046282A (ja)
WO (1) WO2013027472A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014155543A1 (ja) * 2013-03-26 2017-02-16 富士通株式会社 符号化装置、方法、プログラム、コンピュータシステム、記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
JP4455199B2 (ja) * 2004-07-16 2010-04-21 オリンパス株式会社 適応型可変長符号化装置、適応型可変長復号化装置、適応型可変長符号化・復号化方法、及び適応型可変長符号化・復号化プログラム
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014155543A1 (ja) * 2013-03-26 2017-02-16 富士通株式会社 符号化装置、方法、プログラム、コンピュータシステム、記録媒体

Also Published As

Publication number Publication date
WO2013027472A1 (ja) 2013-02-28

Similar Documents

Publication Publication Date Title
US10531089B2 (en) Image processing device and image processing method
US9998766B2 (en) Image processing device and image processing method
US8787687B2 (en) Image processing device and image processing method
CN108965893B (zh) 图像处理装置
JP6521013B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2011145601A1 (ja) 画像処理装置と画像処理方法
WO2012005099A1 (ja) 画像処理装置及び画像処理方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
US20140086501A1 (en) Image processing device and image processing method
US20140133547A1 (en) Image processing device and image processing method
CN110572650B (zh) 解码设备和解码方法、以及编码设备和编码方法
JPWO2019003676A1 (ja) 画像処理装置と画像処理方法およびプログラム
JP2013150164A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
WO2015056566A1 (ja) 画像処理装置および方法
WO2012067005A1 (ja) 画像処理装置及び画像処理方法
TW201330638A (zh) 影像處理裝置及方法
US10412417B2 (en) Image processing device and method capable of performing an encoding process or a decoding process on an image at high speed
WO2013027472A1 (ja) 画像処理装置および画像処理方法
JP2013098873A (ja) 画像処理装置と画像処理方法
WO2012160879A1 (ja) 画像符号化装置と画像復号装置およびその方法
JP6341067B2 (ja) 画像処理装置および方法
WO2013046895A1 (ja) 画像処理装置と画像処理方法
WO2012124406A1 (ja) 画像処理装置及び画像処理方法
US20140348220A1 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104