JP2016219913A - 画像符号化装置、画像符号化方法および画像符号化プログラム - Google Patents

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

Info

Publication number
JP2016219913A
JP2016219913A JP2015100211A JP2015100211A JP2016219913A JP 2016219913 A JP2016219913 A JP 2016219913A JP 2015100211 A JP2015100211 A JP 2015100211A JP 2015100211 A JP2015100211 A JP 2015100211A JP 2016219913 A JP2016219913 A JP 2016219913A
Authority
JP
Japan
Prior art keywords
entropy encoding
divided
storage unit
encoding process
syntax elements
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
JP2015100211A
Other languages
English (en)
Inventor
寛史 長岡
Hiroshi Nagaoka
寛史 長岡
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 JP2015100211A priority Critical patent/JP2016219913A/ja
Priority to US15/133,335 priority patent/US20160337667A1/en
Publication of JP2016219913A publication Critical patent/JP2016219913A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

【課題】エントロピー符号化を並列に実行する際の処理効率を向上させる。【解決手段】画像符号化装置10において、演算部12は、画像20を水平な分割線によって分割した複数の分割領域のそれぞれについてのシンタクス要素を算出して記憶部11に格納する。演算部12は、シンタクス要素を記憶部11に格納した後に、第1の分割領域21に対する第1のエントロピー符号化処理と、第1の分割領域21の下に隣接する第2の分割領域22に対する第2のエントロピー符号化処理とを並列に実行する。この第2のエントロピー符号化処理は、第1の分割領域21に対応するシンタクス要素を記憶部11から読み出す処理を含む。【選択図】図1

Description

本発明は、画像符号化装置、画像符号化方法および画像符号化プログラムに関する。
次世代の動画像符号化規格として、H.265/HEVC(High Efficiency Video Coding)規格(以下、「HEVC規格」と略称する)が注目されている。HEVC規格では、従来のH.264/MPEG−4 AVC(Moving Picture Experts Group-phase 4 Advanced Video Coding)規格と比較して、約2倍の圧縮性能を有する。また、HEVCでは、WPP(Wavefront Parallel Processing)など、符号化処理を並列に実行するための工夫が施されている。
動画像の符号化技術の例としては、現在のブロックをコード化するときに、その上に位置するブロックからのデータをコンテキスト情報として使用することを回避する技術が提案されている。
特表2014−522603号公報
画像を水平方向の分割線によって分割した分割領域を単位としてエントロピー符号化を実行する際、特定のシンタクス要素をエントロピー符号化するために上側に隣接する分割領域のシンタクス要素を参照しなくてはならない場合がある。このような場合に、隣接する複数の分割領域を並列にエントロピー符号化しようとすると、下側の分割領域上のある位置のエントロピー符号化は、その上側の分割領域の同じ位置のシンタクス要素が生成されるまで実行できない。
分割領域ごとの画像の複雑度の違いなどから、上側の分割領域よりその下側の分割領域の方がエントロピー符号化の速度が速いことがあり得る。しかし、このような場合には、下側の分割領域のエントロピー符号化の途中で上側の分割領域のシンタクス要素の生成を待ち合わせる必要が生じる可能性がある。待ち合わせが発生すると、その分だけ処理時間が増加するため、待ち合わせの発生がエントロピー符号化の処理効率を悪化させる原因となるという問題があった。
1つの側面では、本発明は、エントロピー符号化を並列に実行する際の処理効率を向上させることが可能な画像符号化装置、画像符号化方法および画像符号化プログラムを提供することを目的とする。
1つの案では、記憶部と演算部とを有する画像符号化装置が提供される。この画像符号化装置において、演算部は、画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して記憶部に格納する。また、演算部は、複数のシンタクス要素を記憶部に格納した後に、複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、複数の分割領域のうち第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、複数のシンタクス要素のうち第1の分割領域に対応するシンタクス要素を記憶部から読み出す処理を含む第2のエントロピー符号化処理とを、並列に実行する。
また、1つの案では、上記の画像符号化装置と同様の処理が実行される画像符号化方法が提供される。
さらに、1つの案では、上記の画像符号化装置と同様の処理をコンピュータに実行させる画像符号化プログラムが提供される。
また、1つの案では、記憶部と演算部とを有する画像符号化装置が提供される。この画像符号化装置において、演算部は、画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素および複数のコンテキスト情報を算出して記憶部に格納する。演算部は、複数のシンタクス要素および複数のコンテキスト情報を記憶部に格納した後に、複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理であって、複数のシンタクス要素のうち第1の分割領域に対応する第1のシンタクス要素、複数のシンタクス要素のうち第1の分割領域の上に隣接する第2の分割領域に対応する第2のシンタクス要素、および、複数のコンテキスト情報のうち第1の分割領域に対応する第1のコンテキスト情報を記憶部から読み出す処理を含む第1のエントロピー符号化処理と、複数の分割領域のうち第3の分割領域に対する第2のエントロピー符号化処理であって、複数のシンタクス要素のうち第3の分割領域に対応する第3のシンタクス要素、複数のシンタクス要素のうち第3の分割領域の上に隣接する第4の分割領域に対応する第4のシンタクス要素、および、複数のコンテキスト情報のうち第3の分割領域に対応する第2のコンテキスト情報を記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行する。
また、1つの案では、上記の画像符号化装置と同様の処理が実行される画像符号化方法が提供される。
また、1つの案では、記憶部と演算部とを有する画像符号化装置が提供される。この画像符号化装置において、演算部は、画像に含まれる第1の領域を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して記憶部に格納する。演算部は、複数のシンタクス要素を記憶部に格納した後に、複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、複数の分割領域のうち第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、複数のシンタクス要素のうち第1の分割領域に対応する第1のシンタクス要素を記憶部から読み出す処理を含む第2のエントロピー符号化処理とを、並列に実行する。演算部は、画像に含まれる第2の領域に対する第3のエントロピー符号化処理を、第1のエントロピー符号化処理および第2のエントロピー符号化処理と並列に実行する。演算部は、第3のエントロピー符号化処理が完了すると、複数の分割領域のうち第3の分割領域に対する第4のエントロピー符号化処理であって、複数のシンタクス要素のうち第3の分割領域の上に隣接する第4の分割領域に対応する第2のシンタクス要素を記憶部から読み出す処理を含む第4のエントロピー符号化処理を実行する。
また、1つの案では、上記の画像符号化装置と同様の処理が実行される画像符号化方法が提供される。
1つの側面では、エントロピー符号化を並列に実行する際の処理効率を向上させることができる。
第1の実施の形態に係る画像符号化装置の構成例および処理例を示す図である。 第2の実施の形態に係る画像処理回路の構成例を示す図である。 シンタクス要素生成部およびエントロピー符号化部の内部構成例を示す図である。 テーブル構築部の内部構成例を示す図である。 シンタクス領域およびコンテキスト領域の構成例を示す図である。 WPPによる符号化処理について説明するための参考図である。 第2の実施の形態での符号化処理の例を示す図(その1)である。 第2の実施の形態での符号化処理の例を示す図(その2)である。 処理の実行タイミングの例を示すタイミングチャートである。 符号化処理全体の制御手順の例を示すフローチャートである。 シンタクス要素生成制御の処理例を示すフローチャートである。 エントロピー符号化制御の処理例を示すフローチャートである。 コンテキストテーブル構築の処理例を示すフローチャートである。 エントロピー符号化の処理例を示すフローチャートである。 画像処理回路を含む情報処理装置のハードウェア構成例を示す図である。 第3の実施の形態に係る情報処理装置の構成例を示す図である。 各タイルでのシンタクス要素の生成処理例を示す図である。 各タイルでのエントロピー符号化処理例を示す図である。 あるタイルでのエントロピー符号化が完了した場合の処理例を示す図である。 プロセッサによるシンタクス要素生成の制御手順の例を示すフローチャートである。 プロセッサによるエントロピー符号化の制御手順の例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る画像符号化装置の構成例および処理例を示す図である。図1に示す画像符号化装置10は、画像20を符号化するための装置であり、記憶部11と演算部12とを有する。記憶部11は、例えば、RAM(Random Access Memory)などの揮発性記憶装置、あるいはHDD(Hard Disk Drive)、フラッシュメモリなどの不揮発性記憶装置として実装される。演算部12は、例えば、プロセッサである。なお、プロセッサとは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはこれらのうち2つ以上の組み合わせによって実現される。
演算部12は、画像20を水平な分割線によって分割した分割領域ごとに、エントロピー符号化を実行することができる。演算部12は、次のような処理を実行することで画像を符号化する。
演算部12は、画像20の各分割領域についてのシンタクス要素を算出して、記憶部11の例えばシンタクス領域11aに格納する(S1)。シンタクス要素とは、画像符号化ストリームを構成する要素であり、例えば、管理情報(ヘッダ情報)、係数やベクトルといった画像自体を示す情報を含む。
また、演算部12は、各分割領域についてのシンタクス要素をシンタクス領域11aに格納した後、第1の分割領域21に対するエントロピー符号化処理と、第1の分割領域21の下に隣接する第2の分割領域22に対するエントロピー符号化処理とを、並列に実行する(ステップS2)。
第1の分割領域21に対するエントロピー符号化処理では、第1の分割領域21に対応するシンタクス要素がシンタクス領域11aから読み出され、読み出されたシンタクス要素がエントロピー符号化される。また、第2の分割領域22に対するエントロピー符号化処理では、第1の分割領域21に対応するシンタクス要素がシンタクス領域11aから読み出され、読み出されたシンタクス要素がエントロピー符号化される。さらに、第2の分割領域22に対するエントロピー符号化処理は、上側の第1の分割領域21についてのシンタクス要素をシンタクス領域11aから読み出す処理を含む。読み出されたシンタクス要素は、第2の分割領域22に対するエントロピー符号化に利用される。例えば、第2の分割領域22の1つの画素に対するエントロピー符号化の際に、その画素の上側に隣接する画素に対応するシンタクス要素が利用される。
ここで、分割領域内の画像の複雑度などによっては、エントロピー符号化にかかる時間が分割領域ごとに異なる可能性がある。図1の例では、第1の分割領域21より第2の分割領域22の方がエントロピー符号化処理にかかる時間が短いものとする。本実施の形態では、少なくとも第1の分割領域21についてのシンタクス要素がシンタクス領域11aに格納された後に、第1の分割領域21および第2の分割領域22に対するエントロピー符号化が開始される。このため、第2の分割領域22に対するエントロピー符号化処理は、すでにシンタクス領域11aに格納済みである、第1の分割領域21のシンタクス情報を読み出すことで実行可能である。したがって、第2の分割領域22のエントロピー符号化の途中で、第1の分割領域21のシンタクス要素の算出の待ち合わせが発生することがない。よって、演算部12は、第1の分割領域21より第2の分割領域22に対するエントロピー符号化を先に完了することができる。
以上より、本実施の形態によれば、複数の分割領域のそれぞれに対するエントロピー符号化の並列度を高めることができ、処理効率を向上させることができる。
[第2の実施の形態]
図2は、第2の実施の形態に係る画像処理回路の構成例を示す図である。画像処理回路100は、H.265/HEVC規格(以下、「HEVC規格」と略称する)にしたがって画像を符号化することが可能な回路である。画像処理回路100は、例えば、SoC(System-on-a-Chip)などの半導体装置として実現される。
画像処理回路100は、符号化コア110,120,130,140、テーブル構築部150、CPU160、ROM(Read Only Memory)170、RAM180および入出力インタフェース190を有する。これらの各部は、バスによって相互に接続されている。
画像処理回路100においては、入出力インタフェース190を介して入力された画像データが、RAM180に蓄積される。RAM180に蓄積された画像データは、符号化コア110,120,130,140およびテーブル構築部150の処理によって圧縮符号化される。圧縮符号化処理によって得られた符号化ストリームは、RAM180に一旦蓄積された後、入出力インタフェース190を介して画像処理回路100の外部に出力される。
符号化コア110,120,130,140は、例えば、プロセッサである。この場合、符号化コア110,120,130,140は、例えば、CPU、MPU、DSP、ASIC、PLD、またはこれらのうち2つ以上の組み合わせによって実現される。
符号化コア110,120,130,140は、CPU160による制御の下で、圧縮符号化処理のうち、後述するコンテキストテーブル構築を除く処理を実行する。符号化コア110,120,130,140のそれぞれに対しては、CPU160から処理対象のCTB(Coding Tree Block)ラインが割り当てられる。符号化コア110,120,130,140は、CPU160から割り当てられたCTBラインに対する処理を実行し、実行が完了するとその旨をCPU160に通知する。また、符号化コア110,120,130,140は、互いに並行して処理を実行する。
ここで、CTBとは、ピクチャ分割の最小単位を示す。CTBは正方形の画像領域であり、一辺の画素数は16,32,64のいずれかに設定される。CTBラインとは、ピクチャ上で水平方向に隣接する左端から右端までのCTBを統合した領域を指す。
符号化コア110,120,130,140がそれぞれ実行する処理は、シンタクス要素生成処理と、エントロピー符号化処理とに大別される。シンタクス要素生成処理は、インター予測(フレーム内予測)、イントラ予測(フレーム間予測)、予測誤差信号の直交変換、量子化などの処理を含む。シンタクス要素生成処理により、最終的に複数のシンタクス要素が出力される。シンタクス要素とは、ビットストリームを構成するデータ要素であり、例えば、ピクチャやスライスの管理情報(ヘッダ情報)、スライスのデータ(係数、ベクトルなど)などである。一方、エントロピー符号化処理は、シンタクス要素に対して、その発生確率に基づいて異なる長さの符号を割り当てる符号化処理である。エントロピー符号化処理の結果、符号化ストリームが生成される。
符号化コア110は、シンタクス要素生成部111およびエントロピー符号化部112を有する。符号化コア120は、シンタクス要素生成部121およびエントロピー符号化部122を有する。符号化コア130は、シンタクス要素生成部131およびエントロピー符号化部132を有する。符号化コア140は、シンタクス要素生成部141およびエントロピー符号化部142を有する。シンタクス要素生成部111,121,131,141は、それぞれ同じ構成であり、上記のシンタクス要素生成処理をCTBラインごとに実行する。エントロピー符号化部112,122,132,142は、それぞれ同じ構成であり、上記のエントロピー符号化処理をCTBラインごとに実行する。なお、同じ符号化コア内のシンタクス要素生成部とエントロピー符号化部は、それぞれ異なるピクチャのCTBラインを処理対象にすることができる。
テーブル構築部150は、符号化コア110,120,130,140によって生成されたシンタクス要素に基づき、CTBラインごとのエントロピー符号化処理で必要とされるコンテキストテーブルを構築する。後述するように、テーブル構築部150は、あるピクチャにおける各エントロピー符号化部112,122,132,142によるエントロピー符号化処理が実行される前に、そのピクチャにおける全CTBラインについてのコンテキストテーブルを算出し、RAM180に格納する。これにより、CTBライン間でのエントロピー符号化処理の開始タイミングの制約がなくなり、エントロピー符号化処理の並列度が向上する。
CPU160は、画像処理回路100内の各部を統合的に制御する。例えば、CPU160は、シンタクス要素生成部111,121,131,141およびエントロピー符号化部112,122,132,142のそれぞれに対して、処理対象のピクチャおよびCTBラインを割り当る。また、CPU160は、シンタクス要素生成部111,121,131,141、エントロピー符号化部112,122,132,142およびテーブル構築部150のそれぞれに対する処理の開始を指示し、それぞれにおける処理の完了通知を受信する。なお、CPU160による上記の処理は、CPU160がROM170に格納されたプログラムを実行することで実現される。
ROM170は、例えば、CPU160に実行させるプログラムや、プログラムの実行に必要な各種のデータを記憶する。
RAM180は、画像処理回路100での処理に利用される各種のデータを一時的に記憶する。例えば、RAM180は、入出力インタフェース190を介して入力された画像データや、符号化コア110,120,130,140に参照される参照画像データを記憶する。また、RAM180は、シンタクス要素生成部111,121,131,141により生成されたシンタクス要素、および、テーブル構築部150によって構築されたコンテキストテーブルを記憶する。これらのシンタクス要素およびコンテキストテーブルの記憶領域は、符号化コア110,120,130,140によって共有される共有バッファとして機能する。また、RAM180は、エントロピー符号化部112,122,132,142によって生成された符号化ストリームを記憶する。RAM180に記憶された符号化ストリームは、入出力インタフェース190を介して出力される。
入出力インタフェース190は、画像処理回路100の外部からのデータの入出力を制御する。
図3は、シンタクス要素生成部およびエントロピー符号化部の内部構成例を示す図である。なお、前述のように、シンタクス要素生成部111,121,131,141は、それぞれ同じ構成であり、エントロピー符号化部112,122,132,142は、それぞれ同じ構成である。そこで、図3では、これらを代表して、符号化コア110に含まれるシンタクス要素生成部111およびエントロピー符号化部112についてのみ説明する。
また、図3では、RAM180に設けられる各種の記憶領域の例も記載している。RAM180には、原画像領域181、参照画像領域182、シンタクス領域183、コンテキスト領域184および符号化ストリーム領域185が設けられる。原画像領域181には、入出力インタフェース190から入力された画像データが格納される。参照画像領域182には、シンタクス要素生成部111,121,131,141の処理に利用される参照画像のデータが格納される。シンタクス領域183には、シンタクス要素生成部111,121,131,141によって生成されたシンタクス要素が格納される。コンテキスト領域184には、テーブル構築部150によって構築されたコンテキストテーブルが格納される。符号化ストリーム領域185には、エントロピー符号化部112,122,132,142によって生成された符号化ストリームが格納される。
シンタクス要素生成部111は、インター予測部111a、イントラ予測部111b、モード決定部111c、セレクタ111d,111e、T/Q(Transform/Quantization)部111f、IQ/IT(Inverse Quantization/Inverse Transform)部111g、加算器111hおよびデブロッキングフィルタ111iを有する。
インター予測部111aは、原画像領域181から読み出したピクチャに対してフレーム内予測を行い、予測画像のデータを出力する。インター予測部111aは、予測画像と原画像との差分を演算することにより、予測誤差信号を出力する。
イントラ予測部111bは、原画像領域181から読み出した原画像のデータと、参照画像領域182から読み出した参照画像のデータとを基に、動きベクトルを算出する。イントラ予測部111bは、参照画像領域182から読み出した参照画像のデータを、算出した動きベクトルによって動き補償することにより、動き補償された予測画像のデータを出力する。イントラ予測部111bは、予測画像と原画像との差分を演算することにより、予測誤差信号を出力する。
モード決定部111cは、符号化対象のピクチャのモードに基づいて、インター予測部111aとイントラ予測部111bのいずれかに処理を実行させる。セレクタ111dは、モード決定部111cからの選択信号に応じて、インター予測部111aとイントラ予測部111bのいずれかから出力される予測誤差信号をT/Q部111fに出力する。セレクタ111eは、モード決定部111cからの選択信号に応じて、インター予測部111aとイントラ予測部111bのいずれかから出力される予測画像のデータを加算器111hに出力する。
T/Q部111fは、セレクタ111dから入力された予測誤差信号を直交変換し、水平方向および垂直方向の周波数成分に分離された信号を生成する。T/Q部111fは、生成された信号を量子化する。これにより、シンタクス要素が生成され、生成されたシンタクス要素はシンタクス領域183に格納される。
IQ/IT部111gは、T/Q部111fによって生成された量子化データを逆量子化し、さらに逆直交変換を施すことで、予測誤差信号を復元する。加算器111hは、セレクタ111eから入力された予測画像のデータとIQ/IT部111gからの予測誤差信号とを加算することで、参照画像のデータを生成する。デブロッキングフィルタ111iは、生成された参照画像のデータにデブロッキングフィルタ処理を施し、処理後のデータを参照画像領域182に格納する。
エントロピー符号化部112は、二値化部112a、算術符号化部112bおよびコンテキスト管理部112cを有する。なお、二値化部112a、算術符号化部112bおよびコンテキスト管理部112cは、シンタクス要素のうち、スライスセグメントデータ(slice_segment_data)層以下のデータを、CABAC(Context-based Adaptive Binary Arithmetic Coding)によりエントロピー符号化するための機能である。実際には、エントロピー符号化部112には、この他に、スライスセグメントデータ層より上位層のシンタクス要素(管理情報)を、0次指数ゴロム符号(0th Order Exponential Golomb Code)を用いてエントロピー符号化するための機能も含まれるが、ここではその説明を省略する。
二値化部112aは、シンタクス領域183から読み出したシンタクス要素を二値信号に変換する。算術符号化部112bは、変換された二値信号を基に、シンタクス要素の種類に応じた方式を用いてコンテキスト情報を算出する。コンテキスト情報とは、二値信号のそれぞれのビットが“0”または“1”となる確率値である。算術符号化部112bは、算出したコンテキスト情報を用いてシンタクス要素を算術符号化する。
コンテキスト管理部112cは、コンテキスト情報の算出処理を統括的に制御する。例えば、コンテキスト管理部112cは、算術符号化部112bの初期化、算術符号化部112bに対する初期コンテキスト情報の設定を行う。コンテキスト管理部112cは、2番目以降のCTBラインの符号化の際には、初期コンテキスト情報を、テーブル構築部150によって生成され、コンテキスト領域184に格納されたコンテキストテーブルから読み込む。また、コンテキスト管理部112cは、上側および左側に隣接するCTBのシンタクス要素が必要なシンタクス要素の符号化の際には、上側および左側に隣接するCTBのシンタクス要素をシンタクス領域183から読み込む。また、コンテキスト管理部112cは、算術符号化部112bから出力される符号列を用いて符号化ストリームを生成し、符号化ストリームを符号化ストリーム領域185に格納する。
図4は、テーブル構築部の内部構成例を示す図である。テーブル構築部150は、二値化部151、算術符号化部152およびコンテキスト管理部153を有する。
テーブル構築部150は、CTBラインのCTBのうち、先頭から2番目までのCTBについてのコンテキスト情報を算出する。二値化部151は、シンタクス領域183から読み出したシンタクス要素を二値信号に変換する。算術符号化部152は、変換された二値信号を基に、シンタクス要素の種類に応じた方式を用いてコンテキスト情報を算出する。
コンテキスト管理部153は、コンテキスト情報の算出処理を統括的に制御する。例えば、コンテキスト管理部153は、CTBライン上の先頭からの2CTBについての符号化処理が終了すると、算出されたコンテキスト情報をコンテキスト領域184内のコンテキストテーブルに登録する。登録されたコンテキストテーブルは、エントロピー符号化部112,122,132,142が先頭から2番目以降のCTBラインのエントロピー符号化を開始する際に参照される。
図5は、シンタクス領域およびコンテキスト領域の構成例を示す図である。なお、以下の説明では、n番目のピクチャを「ピクチャPn」と表す。また、1ピクチャ上のCTBライン数をm本とし、x番目のCTBラインを「CTBラインL(x−1)」と表す。すなわち、1ピクチャにはCTBラインL0からCTBラインL(m−1)までのm本のCTBラインが存在する。さらに、1ピクチャ上のCTBの数をk個とし、x番目のCTBを「CTB BL(x−1)」と表す。すなわち、1ピクチャにはCTB BL0からCTB BL(k−1)までのk個のCTBが存在する。
シンタクス領域183には、中間情報が格納される領域183a,183bと、上隣接シンタクス要素が格納される領域183c,183dとが含まれる。
領域183a,183bのうち、一方には、あるピクチャについての中間情報が格納され、他方には、その次のピクチャについての中間情報が格納される。例えば、領域183aにn番目のピクチャPnの中間情報が格納され、領域183bに(n+1)番目のピクチャP(n+1)の中間情報が格納されているとする。この場合、n番目のピクチャPnのエントロピー符号化が完了すると、領域183aは、(n+2)番目のピクチャP(n+2)の中間情報によって更新される。
領域183a,183bのそれぞれには、ピクチャ内のk個のCTB BL1〜BL(k−1)それぞれについての中間情報が格納される。中間情報とは、スライスセグメントデータ層以下のすべてのシンタクス要素を指す。例えば、中間情報には、“end_of_slice_segment_flag”,“sao_merge_flag”,“pred_mode_flag”,“part_mode”,“cu_skip_flag”,“coeff_abs_level_remaining”などのシンタクス要素が含まれる。
領域183c,183dのうち、一方には、あるピクチャについての上隣接シンタクス要素が格納され、他方には、その次のピクチャについての上隣接シンタクス要素が格納される。例えば、領域183cにn番目のピクチャPnの上隣接シンタクス要素が格納され、領域183dに(n+1)番目のピクチャP(n+1)の上隣接シンタクス要素が格納されているとする。この場合、n番目のピクチャPnのエントロピー符号化が完了すると、領域183cは、(n+2)番目のピクチャP(n+2)の上隣接シンタクス要素によって更新される。
領域183c,183dのそれぞれには、ピクチャ内のk個のCTB BL1〜BL(k−1)それぞれについての上隣接シンタクス要素が格納される。エントロピー符号化の際、あるCTBのコンテキスト情報は、上側に隣接するCTBのシンタクス要素と、左側に隣接するCTBのシンタクス要素とから決定される。上隣接シンタクス要素とは、それらのうち上側に隣接するCTBのシンタクス要素である。
上隣接シンタクス要素には、具体的には、該当CTB内の下端の各CU(Coding Unit)に対応する“cu_skip_frag”が含まれる。CUとは、CTBを分割した符号化単位の領域である。HEVC規格では、CTBを再帰的な四分木ブロック分割に基づいて可変サイズのCUに分割することが可能になっている。“cu_skip_frag”は、現CUがPスライスまたはBスライスの場合に、当該フラグ以降、マージの候補インデックスのシンタクス要素以外は存在しないか否かを示すフラグである。CUが8画素×8画素の場合、上隣接シンタクス要素にはCTB当たり8個の“cu_skip_frag”が格納される。
また、領域183c,183dには、“CtDepth”という制御値も格納される。“CtDepth”は、CUの深さを示す情報であり、“split_cu_flag”というシンタクス要素の符号化に用いられる。領域183c,183dのそれぞれには、CTB当たり4個の“CtDepth”が格納される。なお、“split_cu_flag”は、指定された位置のCUが横および縦それぞれに分割されるか否かを示すフラグである。
コンテキスト領域184は、2つのコンテキスト領域184a,184bに分けられる。一方には、あるピクチャについてのコンテキストテーブルが格納され、他方には、その次のピクチャについてのコンテキストテーブルが格納される。例えば、コンテキスト領域184aにn番目のピクチャPnのコンテキストテーブルが格納され、コンテキスト領域184bに(n+1)番目のピクチャP(n+1)のコンテキストテーブルが格納されているとする。この場合、n番目のピクチャPnのエントロピー符号化が完了すると、コンテキスト領域184aは、(n+2)番目のピクチャP(n+2)のコンテキストテーブルによって更新される。
コンテキスト領域184a,184bのそれぞれには、ピクチャ内のm本のCTBラインL0〜L(m−1)それぞれについてのコンテキストテーブルが格納される。コンテキストテーブルには、該当CTBラインの2個目のCTBまでのエントロピー符号化によって得られた複数のコンテキスト情報(確率値)が格納される。あるCTBラインに対応するコンテキストテーブルは、次のCTBラインのエントロピー符号化の開始時に参照され、初期コンテキスト情報として利用される。さらに、コンテキストテーブルには、“sao_merge_left_flag”,“sao_merge_up_flag”,“split_cu_flag”,“cbf_luna”,“cu_transquant_bypass”などのシンタクス要素も格納される。
次に、図6を用いてWPPについて説明する。図6は、WPPによる符号化処理について説明するための参考図である。
HEVC規格では、CABACによるエントロピー符号化を効率よく並列実行できるようにするために、WPPが導入されている。WPPでは、あるCTBラインのエントロピー符号化の開始タイミングは、その上のCTBラインにおける2CTBのエントロピー符号化が終了した後になる。例えば図6において、CTBラインL1のエントロピー符号化は、CTBラインL0の2番目のCTBのエントロピー符号化が終了した後になる。
このような仕組みにより、上側のCTBラインのエントロピー符号化で得られたコンテキスト情報を、その下側のCTBラインのエントロピー符号化での初期コンテキスト情報として利用できるようになる。例えば図6において、ある符号化コア(第1の符号化コア)は、CTBラインL0の2番目のCTBのエントロピー符号化を実行すると、得られたコンテキストテーブルを所定の退避領域にストアする。別の符号化コア(第2の符号化コア)は、退避領域にストアされたコンテキストテーブルをロードし、そのコンテキストテーブルを用いてCTBラインL1のエントロピー符号化を開始する。このような仕組みにより、隣接CTBライン間でコンテキストテーブルが引き継がれる。新たなCTBラインのエントロピー符号化に、空間的に近い位置のCTBのエントロピー符号化が行われた際の確率値が利用されることで、符号化効率が向上する。
しかし、このような仕組みでは、あるCTBラインのエントロピー符号化の開始タイミングは、それより上側のCTBラインのエントロピー符号化の開始タイミングより遅延する。エントロピー符号化の処理速度はCTBラインごとに異なる場合があるが、たとえあるCTBラインの処理速度がそれより上側のCTBラインより高速であっても、上側のCTBラインより遅延したタイミングでしかそのCTBラインの処理を開始できない。このため、並列に符号化する際の処理効率を十分高くすることができないという問題がある。また、CTBラインごとの処理開始タイミングを上側のCTBラインの処理の進捗状況に応じて決定するという高度な同期制御が必要となるため、処理が複雑化するという問題もある。
さらに、あるCTBについての特定のシンタクス要素をエントロピー符号化するためには、図6において矢印で示すように、その上側に隣接するCTBのシンタクス要素と左側に隣接するCTBのシンタクス要素とが必要である。このため、あるCTBのエントロピー符号化の実行タイミングは、その上側に隣接するCTBのシンタクス要素の生成が完了した後になる。シンタクス要素の生成とエントロピー符号化とを1つの処理単位として複数のCTBラインについて並列に実行した場合には、あるCTBラインでの処理の実行位置は、それより上側のCTBラインでの処理の完了位置を超えることはできない。このため、あるCTBラインでの処理がそれより上側のCTBラインでの処理より高速に可能であったとしても、そのCTBラインの実際の処理速度はそれより上側のCTBラインの処理速度によって制限されてしまう。したがって、処理効率が低下し、処理速度が低くなるという問題がある。
このような問題に対し、本実施の形態の画像処理回路100は、エントロピー符号化の前に、全CTBラインについてのコンテキストテーブルとシンタクス要素とをRAM180に格納する。そして、符号化コア110,120,130,140は、RAM180に格納されたコンテキストテーブルとシンタクス要素とを参照して、割り当てられたCTBラインのエントロピー符号化を実行する。
図7,図8は、第2の実施の形態での符号化処理の例を示す図である。図7,図8では、n番目のピクチャPnを符号化するものとする。なお、説明を簡単にするために、ピクチャPnは10本のCTBラインL0〜L9を含むものとする。
まず、図7に示すタイミングT11において、シンタクス要素生成部111,121,131,141は、例えば、それぞれCTBラインL0,L1,L2,L3のシンタクス要素の生成を開始する。シンタクス要素生成部111,121,131,141は、生成されたシンタクス要素をシンタクス領域183に格納する。
また、タイミングT12に示すように、テーブル構築部150は、CTBラインL0,L1,L2,L3についてのコンテキストテーブルの構築を開始する。ここで、テーブル構築部150は、あるCTBラインについてのコンテキストテーブルの構築を、その上側のCTBラインにおける2CTBのシンタクス要素の生成が完了したタイミングに、開始することができる。テーブル構築部150は、構築されたコンテキストテーブルをコンテキスト領域184に格納する。
シンタクス要素生成部111は、CTBラインL0のシンタクス要素の生成が終了すると、未処理のCTBライン(例えばCTBラインL4)のシンタクス要素の生成を開始する。他のシンタクス要素生成部121,131,141も同様に、あるCTBラインのシンタクス要素の生成が終了すると、未処理のCTBラインのシンタクス要素の生成を開始できる。また、テーブル構築部150は、新たなCTBラインの2CTBまでのシンタクス要素が生成されると、そのCTBラインについてのコンテキストテーブルを構築することができる。
このようにして、タイミングT13に示すように、全CTBラインのシンタクス要素がシンタクス領域183に格納され、全CTBラインのコンテキストテーブルがコンテキスト領域184に格納される。なお、シンタクス要素の生成処理が実行されている間に、コンテキストテーブルの構築処理が並列に実行されることで、コンテキストテーブルの構築処理にかかる時間を隠蔽することができる。
次に、図8に示すタイミングT14において、エントロピー符号化部112,122,132,142は、例えば、それぞれCTBラインL0,L1,L2,L3のエントロピー符号化処理を開始する。ここで、CTBラインL1,L2,L3のエントロピー符号化を開始するための必要なコンテキストテーブルは、コンテキスト領域184から読み出される。このため、エントロピー符号化部112,122,132,142は、CTBラインL0,L1,L2,L3のエントロピー符号化をそれぞれ同時に開始することができる。これにより、エントロピー符号化の並列度が高まり、符号化効率が向上する。
また、CTBラインL1,L2,L3上のCTBのエントロピー符号化に必要な上隣接シンタクス要素は、シンタクス領域183から読み出される。このため、エントロピー符号化部112,122,132,142のそれぞれによる処理を同期させる必要がなくなる。したがって、例えば、CTBラインL0での符号化処理速度より、その下側のCTBラインL1での符号化処理速度の方が速い場合、CTBラインL1でのエントロピー符号化をCTBラインL0より先に完了させることができる。これにより、全体としてエントロピー符号化処理にかかる時間を短縮できる。また、同期制御が不要になることで、制御効率も向上する。
また、CTBラインL0,L1,L2,L3のうち、CTBラインL1のエントロピー符号化が最も早く終了したとする。この場合、タイミングT15に示すように、CTBラインL1のエントロピー符号化を終了したエントロピー符号化部122には、次の処理対象としてCTBラインL4が割り当てられる。エントロピー符号化部122は、コンテキスト領域184に格納されたCTBラインL3のコンテキストテーブルと、シンタクス領域183に格納されたCTBラインL3のシンタクス要素を用いて、CTBラインL4のエントロピー符号化を実行する。
このように、あるエントロピー符号化部がCTBラインのエントロピー符号化を終了すると、そのエントロピー符号化部に未処理のCTBラインを割り当てて、そのCTBラインのエントロピー符号化を即座に実行させることができる。すなわち、CTBラインごとの処理速度に応じて、エントロピー符号化部に対して処理対象のCTBラインを適応的に割り当てることが可能になる。これにより、エントロピー符号化処理の並列度が高まり、全体としてエントロピー符号化処理にかかる時間が短縮される。
なお、以上の図7,図8の例では、全CTBラインについてのシンタクス要素およびコンテキストテーブルが生成された後、エントロピー符号化が開始された。しかし、例えば、4CTBラインについてのシンタクス要素およびコンテキストテーブルが生成された後、それらの4CTBラインのエントロピー符号化が開始されてもよい。
例えば、シンタクス要素生成部111,121,131,141は、それぞれCTBラインL0,L1,L2,L3のシンタクス要素を生成する。これとともに、テーブル構築部150は、CTBラインL0,L1,L2,L3のそれぞれについてのコンテキストテーブルを構築する。これらの処理が終了すると、エントロピー符号化部112,122,132,142は、生成されたシンタクス要素およびコンテキストテーブルに基づいて、それぞれCTBラインL0,L1,L2,L3のエントロピー符号化を開始する。これにより、CTBラインL0,L1,L2,L3のエントロピー符号化を非同期に実行できる。また、各エントロピー符号化の開始とともに、シンタクス要素生成部111,121,131,141は、それぞれCTBラインL4,L5,L6,L7のシンタクス要素を生成し、テーブル構築部150は、CTBラインL4,L5,L6,L7のそれぞれについてのコンテキストテーブルを構築する。
ところで、図8のタイミングT14でエントロピー符号化部112,122,132,142によるエントロピー符号化が開始されたとき、シンタクス要素生成部111,121,131,141は、次のピクチャP(n+1)についてのシンタクス要素の生成を並列に実行することができる。ここで、図9を用いてピクチャごとの処理タイミングについて説明する。
図9は、処理の実行タイミングの例を示すタイミングチャートである。なお、図9に示す各処理の開始タイミングは、実際にはCPU160によって管理される。
タイミングT21において、シンタクス要素生成部111,121,131,141は、ピクチャPnについてのシンタクス要素の生成を開始する。また、タイミングT21aにおいて、テーブル構築部150は、ピクチャPnについてのコンテキストテーブルの構築を開始する。
タイミングT22において、ピクチャPnについてのシンタクス要素の生成とコンテキストテーブルの構築とが完了したとする。すると、エントロピー符号化部112,122,132,142は、タイミングT21〜T22の期間でRAM180に格納されたシンタクス要素とコンテキストテーブルを参照して、ピクチャPnについてのエントロピー符号化を開始する。これとともに、シンタクス要素生成部111,121,131,141は、次のピクチャP(n+1)についてのシンタクス要素の生成を開始する。また、タイミングT22aにおいて、テーブル構築部150は、ピクチャP(n+1)についてのコンテキストテーブルの構築を開始する。
タイミングT23において、ピクチャPnについてのエントロピー符号化、および、ピクチャP(n+1)についてのシンタクス要素の生成とコンテキストテーブルの構築が完了したとする。すると、エントロピー符号化部112,122,132,142は、タイミングT22〜T23の期間でRAM180に格納されたシンタクス要素とコンテキストテーブルを参照して、ピクチャP(n+1)についてのエントロピー符号化を開始する。これとともに、シンタクス要素生成部111,121,131,141は、次のピクチャP(n+2)についてのシンタクス要素の生成を開始する。また、タイミングT23aにおいて、テーブル構築部150は、ピクチャP(n+2)についてのコンテキストテーブルの構築を開始する。そして、タイミングT24において、ピクチャP(n+1)についてのエントロピー符号化、および、ピクチャP(n+2)についてのシンタクス要素の生成とコンテキストテーブルの構築が完了する。
図9の例では、タイミングT22〜T23の期間において、ピクチャPnについてのエントロピー符号化と、ピクチャP(n+1)についてのシンタクス要素の生成およびコンテキストテーブルの構築が並列に実行される。また、タイミングT23〜T24の期間において、ピクチャP(n+1)についてのエントロピー符号化と、ピクチャP(n+2)についてのシンタクス要素の生成およびコンテキストテーブルの構築が並列に実行される。
本実施の形態では、符号化コア110,120,130,140のそれぞれの処理が、シンタクス要素の生成とエントロピー符号化とに分割される。そして、シンタクス要素の生成とエントロピー符号化のそれぞれの処理対象を、異なるピクチャのCTBラインとすることができる。これにより、図9の例のように、あるピクチャについてのエントロピー符号化を実行している間に、次のピクチャについてのシンタクス要素の生成を実行し、生成されたシンタクス要素をRAM180に格納することができる。また、この期間に、テーブル構築部150に次のピクチャについてのコンテキストテーブルを構築させ、コンテキストテーブルをRAM180に格納させることもできる。
したがって、あるピクチャのエントロピー符号化の前に、そのピクチャの全CTBラインについてのシンタクス要素およびコンテキストテーブルをあらかじめRAM180に格納することが、符号化処理を遅延させる要因にはならない。すなわち、本実施の形態の処理により、あるピクチャ内でのCTBライン間でのエントロピー符号化を同期させる必要がなくなる分だけ、符号化処理全体の処理時間を短縮することができる。
次に、画像処理回路100の符号化処理についてフローチャートを用いて説明する。
図10は、符号化処理全体の制御手順の例を示すフローチャートである。
[ステップS11]CPU160は、n番目のピクチャPnについてのシンタクス要素の生成制御を実行する。
[ステップS12]CPU160は、(n−1)番目のピクチャP(n−1)についてのエントロピー符号化制御を実行する。
ステップS11,S12の各処理は、並行して実行される。
図11は、シンタクス要素生成制御の処理例を示すフローチャートである。この図11の処理は、図10のステップS11の処理に対応する。
[ステップS111]CPU160は、シンタクス要素生成部111,121,131,141のそれぞれに対するCTBラインの初期割り当てを行う。この処理では、ピクチャにおける先頭から4つのCTBラインが、それぞれシンタクス要素生成部111,121,131,141に割り当てられる。
[ステップS112]CPU160は、シンタクス要素生成部111,121,131,141に、割り当てたCTBラインについてのシンタクス要素の生成を開始するように指示する。
[ステップS113]CPU160は、テーブル構築部150に対して、該当ピクチャの各CTBラインについてのコンテキストテーブルの構築を開始するように指示する。
[ステップS114]CPU160は、シンタクス要素生成部111,121,131,141のいずれか1つから、シンタクス要素生成の完了通知を受信したかを判定する。完了通知を受信していない場合、所定時間後にステップS114が再度実行される。完了通知を受信した場合、ステップS115の処理が実行される。
[ステップS115]CPU160は、ピクチャの全CTBラインについてのシンタクス要素の生成処理が完了したかを判定する。完了していない場合、ステップS116の処理が実行され、完了した場合、ステップS117の処理が実行される。
[ステップS116]CPU160は、ステップS114で受信した完了通知の送信元のシンタクス要素生成部に対して、未割り当てのCTBラインのうちの先頭CTBラインを割り当てる。CPU160は、当該シンタクス要素生成部に対して、割り当てたCTBラインについてのシンタクス要素の生成を開始するように指示する。この後、ステップS114の処理が実行される。
[ステップS117]CPU160は、ピクチャの全CTBラインについてのコンテキストテーブルの構築処理が完了したかを判定する。CPU160は、テーブル構築部150からコンテキストテーブル構築処理の完了通知を受信した場合、構築処理が完了したと判定する。構築処理が完了していない場合、所定時間後にステップS117の処理が再度実行される。構築処理が完了した場合、1ピクチャについてのシンタクス要素生成制御が終了する。
図12は、エントロピー符号化制御の処理例を示すフローチャートである。この図12の処理は、図10のステップS12の処理に対応する。
[ステップS121]CPU160は、エントロピー符号化部112,122,132,142のそれぞれに対するCTBラインの初期割り当てを行う。この処理では、ピクチャにおける先頭から4つのCTBラインが、それぞれエントロピー符号化部112,122,132,142に割り当てられる。
[ステップS122]CPU160は、エントロピー符号化部112,122,132,142に、割り当てたCTBラインについてのエントロピー符号化を開始するように指示する。
[ステップS123]CPU160は、エントロピー符号化部112,122,132,142のいずれか1つから、エントロピー符号化の完了通知を受信したかを判定する。完了通知を受信していない場合、所定時間後にステップS123が再度実行される。完了通知を受信した場合、ステップS124の処理が実行される。
[ステップS124]CPU160は、ピクチャの全CTBラインについてのエントロピー符号化処理が完了したかを判定する。完了していない場合、ステップS125の処理が実行される。完了した場合、1ピクチャについてのエントロピー符号化制御が終了する。
[ステップS125]CPU160は、ステップS123で受信した完了通知の送信元のエントロピー符号化部に対して、未割り当てのCTBラインのうちの先頭CTBラインを割り当てる。CPU160は、当該エントロピー符号化部に対して、割り当てたCTBラインについてのエントロピー符号化を開始するように指示する。この後、ステップS123の処理が実行される。
なお、ステップS121では、CPU160は、エントロピー符号化部112,122,132,142のそれぞれに任意のCTBラインを割り当ててもよい。例えば、CPU160は、エントロピー符号化部112,122,132,142のそれぞれに対し、互いに間隔が空いたCTBラインを割り当ててもよい。また、ステップS125でも、CPU160は、完了通知の送信元のエントロピー符号化部に対して、未割り当てのCTBラインのうちの任意のCTBラインを割り当ててもよい。
図13は、コンテキストテーブル構築の処理例を示すフローチャートである。図13の処理は、図11のステップS113でCPU160から送信されたコンテキストテーブル構築の開始指示をテーブル構築部150が受信したときに、開始される。
[ステップS21]テーブル構築部150は、処理対象のCTBについてのシンタクス要素をシンタクス領域183から読み出す。テーブル構築部150は、読み出したシンタクス要素に基づいてエントロピー符号化処理を実行する。なお、ステップS21の初回実行時の処理対象は、ピクチャ内の左上のCTBとされる。
[ステップS22]テーブル構築部150は、処理対象のCTBの位置がコンテキストテーブルの書き込みを行うべき位置かを判定する。書き込みを行うべき位置と判定した場合、ステップS23の処理が実行される。書き込みを行うべき位置でないと判定した場合、ステップS24の処理が実行される。なお、書き込みを行うべき位置とは、CTBラインにおける2個目のCTBである。
[ステップS23]テーブル構築部150は、ステップS21で得られたコンテキスト情報をコンテキスト領域184のコンテキストテーブルに書き込む。
[ステップS24]テーブル構築部150は、ピクチャの全CTBラインについてのコンテキストテーブルの構築が終了したかを判定する。終了していない場合、ステップS25の処理が実行され、終了した場合、ステップS28の処理が実行される。
[ステップS25]テーブル構築部150は、処理対象のCTBの位置がコンテキストテーブルの書き込みを行うべき位置かを判定する。この判定は、ステップS22での判定結果を用いて行うことができる。書き込みを行うべき位置と判定した場合、ステップS26の処理が実行される。書き込みを行うべき位置でないと判定した場合、ステップS27の処理が実行される。
[ステップS26]テーブル構築部150は、処理対象を次のCTBラインの先頭のCTBに更新する。この後、更新後の処理対象のCTBについて、ステップS21の処理が実行される。
[ステップS27]テーブル構築部150は、処理対象のCTBの水平方向の位置を1CTB分だけ右側に更新する。この後、更新後の処理対象のCTBについて、ステップS21の処理が実行される。
[ステップS28]テーブル構築部150は、コンテキストテーブル構築の完了通知をCPU180に送信する。
図14は、エントロピー符号化の処理例を示すフローチャートである。エントロピー符号化部112,122,132,142のそれぞれによるエントロピー符号化の処理内容は、同じである。そこで、ここでは代表して、エントロピー符号化部112での処理についてのみ説明する。図14の処理は、図12のステップS122またはステップS125でCPU160から送信されたエントロピー符号化の開始指示をエントロピー符号化部112が受信したときに、開始される。
[ステップS31]エントロピー符号化部112は、CPU160から割り当てられたCTBラインの上側のCTBラインについてのコンテキスト情報を、コンテキスト領域184のコンテキストテーブルから読み出す。エントロピー符号化部112は、読み出したコンテキスト情報を、割り当てられたCTBラインについての初期コンテキスト情報に設定する。なお、処理対象が先頭のCTBラインである場合、あらかじめ決められた値が初期コンテキスト情報に設定される。
[ステップS32]エントロピー符号化部112は、処理対象のCTBの上側に隣接するCTBについてのシンタクス要素“cu_skip_frag”と、同CTBについての制御値“CtDepth”とを、シンタクス領域183から読み出す。なお、ステップS32の初回実行時の処理対象は、CPU160から割り当てられたCTBラインにおける先頭CTBとされる。また、処理対象が先頭のCTBラインである場合、ステップS32はスキップされる。
[ステップS33]エントロピー符号化部112は、処理対象のCTBについてのシンタクス要素をシンタクス領域183から読み出し、読み出したシンタクス要素をエントロピー符号化する。また、エントロピー符号化部112は、シンタクス要素のうち“split_cu_flag”,“cu_skip_frag”をエントロピー符号化する際には、左側に隣接するCTBについての“cu_skip_frag”,“CtDepth”をシンタクス領域183から読み出す。そして、エントロピー符号化部112は、左側に隣接するCTBについての“cu_skip_frag”,“CtDepth”と、ステップS32で読み出した上側に隣接するCTBについての“cu_skip_frag”,“CtDepth”とを用いて、“split_cu_flag”,“cu_skip_frag”をエントロピー符号化する。
[ステップS34]エントロピー符号化部112は、処理対象のCTBがCTBラインの終端かを判定する。終端でない場合、ステップS35の処理が実行され、終端である場合、ステップS36の処理が実行される。
[ステップS35]エントロピー符号化部112は、処理対象のCTBの水平方向の位置を1CTB分だけ右側に更新する。この後、更新後の処理対象のCTBについて、ステップS32の処理が実行される。
[ステップS36]エントロピー符号化部112は、エントロピー符号化の完了通知をCPU160に送信する。
上記の図14の処理によれば、エントロピー符号化部112は、すでに全CTBライン分算出されたコンテキストテーブルが格納されたコンテキスト領域184から、上側に隣接するCTBラインについてのコンテキストテーブルを読み出す。そして、エントロピー符号化部112は、読み出したコンテキストテーブルを用いてエントロピー符号化処理を開始する。これにより、エントロピー符号化112は、CPU160からエントロピー符号化の開始指示を受信すると、処理対象のCTBラインのエントロピー符号化を、その上側に隣接するCTBラインのエントロピー符号化の進行に関係なく、即座に開始できる。
したがって、図12のステップS122でエントロピー符号化部112,122,132,142にエントロピー符号化の開始が指示されると、エントロピー符号化部112,122,132,142はエントロピー符号化を同時に開始できる。これにより、エントロピー符号化の処理の並列度を向上させることができ、全体の処理にかかる時間を短縮できる。また、エントロピー符号化部112,122,132,142の間で処理の同期をとる必要がなくなり、制御が簡易化される。さらに、図12のステップS125であるエントロピー符号化部に新たなCTBラインが割り当てられた際にも、そのエントロピー符号化部は新たなCTBラインのエントロピー符号化を即座に開始でき、その処理時間を短縮できる。
また、図14の処理によれば、エントロピー符号化部112は、すでに全CTBライン分算出されたシンタクス要素が格納されたシンタクス領域183から、上側に隣接するCTBのシンタクス要素を読み出して処理を実行する。このため、CTBラインのエントロピー符号化を実行している間に、上側のCTBラインでのシンタクス要素作成の待ち合わせが発生しない。したがって、エントロピー符号化部112は、割り当てられたCTBラインの先頭から終端まで、途中で処理を停止することなくエントロピー符号化を実行できる。
これにより、図12のステップS122でエントロピー符号化部112,122,132,142がエントロピー符号化を同時に開始してから、それらの間で同期がとられることなくエントロピー符号化が実行される。ここで、図6に示した方法では、エントロピー符号化部112,122,132,142によるエントロピー符号化が並列に実行されたとしても、その中の最も先頭側のCTBラインのエントロピー符号化が最初に終了する。これに対して、本実施の形態ではこのような制約は存在せず、エントロピー符号化部112,122,132,142のうちのどれでも、CTBラインの終端までのエントロピー符号化を先に終了し得る。そして、図12のステップS122の後の最初のステップS123では、エントロピー符号化部112,122,132,142のうち、どのエントロピー符号化部からも完了通知を受信し得る。したがって、エントロピー符号化の並列度が向上し、エントロピー符号化にかかる時間を短縮することができる。
さらに、完了通知を受信したエントロピー符号化部には、次の未処理のCTBラインが割り当てられ、そのCTBラインのエントロピー符号化が即座に開始される。したがって、エントロピー符号化部に対して適応的にCTBラインを割り当てることができ、処理効率が向上し、処理にかかる時間を短縮することができる。
次に、上記の画像処理回路100を含む装置の例について説明する。図15は、画像処理回路を含む情報処理装置のハードウェア構成例を示す図である。情報処理装置200は、例えば、スマートホン、タブレット型端末、ノート型PC(Personal Computer)などの可搬型の情報処理端末として実現される。
情報処理装置200は、プロセッサ201によって装置全体が制御されている。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えば、CPU、MPU、DSP、ASIC、またはPLDである。またプロセッサ201は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ201には、バスを介して、RAM202と、前述の画像処理回路100を含む複数の周辺機器が接続されている。
RAM202は、情報処理装置200の主記憶装置として使用される。RAM202には、プロセッサ201に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM202には、プロセッサ201による処理に必要な各種データが格納される。
プロセッサ201に接続されている周辺機器としては、画像処理回路100の他、HDD203、通信インタフェース204、読み取り装置205、入力装置206、カメラ207および表示装置208がある。
HDD203は、情報処理装置200の補助記憶装置として使用される。HDD203には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
通信インタフェース204は、ネットワーク204aを介して他の装置との間でデータの送受信を行う。入力装置206は、入力操作に応じた信号をプロセッサ201に送信する。入力装置206としては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タッチパッド、トラックボールなどがある。
読み取り装置205には、可搬型記録媒体205aが脱着される。読み取り装置205は、可搬型記録媒体205aに記録されたデータを読み取ってプロセッサ201に送信する。可搬型記録媒体205aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
カメラ207は、撮像素子によって画像を撮像する。画像処理回路100は、例えば、カメラ207によって撮像された画像の圧縮符号化処理を行う。なお、画像処理回路100は、例えば、ネットワーク204aや可搬型記録媒体205aを介して情報処理装置200に入力された画像の圧縮符号化処理を行ってもよい。表示装置208は、プロセッサ201からの命令にしたがって画像を表示する。表示装置としては、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどがある。
なお、例えば、画像処理回路100のCPU160の処理の少なくとも一部は、プロセッサ201によって実行されてもよい。また、CPU160の処理に限らず、画像処理回路100の処理の少なくとも一部が、プロセッサ201によって実行されてもよい。さらに、画像処理回路100が情報処理装置200に搭載される代わりに、画像処理回路100の処理全体がプロセッサ201によって実行されてもよい。これらのいずれの場合も、プロセッサ201は、所定のプログラムを実行することで上記の処理を実現する。
[第3の実施の形態]
図16は、第3の実施の形態に係る情報処理装置の構成例を示す図である。以下、第3の実施の形態について、第2の実施の形態と異なる点についてのみ説明し、共通する事項については説明を省略する。
第3の実施の形態に係る情報処理装置200aは、図15に示した情報処理装置200を次のように変形したものである。情報処理装置200aは、1つの画像処理回路100の代わりに、複数の画像処理回路100a,100b,100c,100dを有している点で、図15に示した情報処理装置200と異なる。画像処理回路100a,100b,100c,100dの内部構成は、第2の実施の形態の画像処理回路100と同じである。なお、画像処理回路の個数は4個に限らず、2以上の任意の個数であってよい。
情報処理装置200aのプロセッサ201は、画像処理回路100a,100b,100c,100dの符号化処理を統合的に制御する。プロセッサ201は、最初に、画像処理回路100a,100b,100c,100dに、それぞれ個別のタイルを割り当てる。タイルとは、ピクチャを分割した方形領域である。以下、本実施の形態では、ピクチャをそれぞれ同じ大きさの4つのタイルに分割するものとする。画像処理回路100a,100b,100c,100dは、割り当てられたタイルを処理対象として第2の実施の形態の画像処理回路100と同様の符号化処理を実行する。
ここで、図17〜図19を用いて、第3の実施の形態での符号化処理例について説明する。まず、図17は、各タイルでのシンタクス要素の生成処理例を示す図である。
プロセッサ201は、例えば、画像処理回路100a,100b,100c,100dに、それぞれタイル211,212,213,214を割り当てる。画像処理回路100aは、その内部のシンタクス要素生成部の処理により、タイル211の全CTBラインについてのシンタクス要素を生成する。生成されたシンタクス要素は、画像処理回路100a内のRAMのシンタクス領域183_1に格納される。また、画像処理回路100aは、その内部のテーブル構築部150により、タイル211の全CTBラインについてのコンテキストテーブルを構築する。構築されたコンテキストテーブルは、画像処理回路100aのRAMのコンテキスト領域184_1に格納される。
画像処理回路100b,100c,100dでも、それぞれタイル212,213,214を処理対象として画像処理回路100aと同様の処理が実行される。画像処理回路100bでは、全CTBラインについてのシンタクス要素およびコンテキストテーブルが、画像処理回路100bのRAMのシンタクス領域183_2およびコンテキスト領域184_2にそれぞれ格納される。画像処理回路100cでは、全CTBラインについてのシンタクス要素およびコンテキストテーブルが、画像処理回路100cのRAMのシンタクス領域183_3およびコンテキスト領域184_3にそれぞれ格納される。画像処理回路100dでは、全CTBラインについてのシンタクス要素およびコンテキストテーブルが、画像処理回路100dのRAMのシンタクス領域183_4およびコンテキスト領域184_4にそれぞれ格納される。
図18は、各タイルでのエントロピー符号化処理例を示す図である。図17の処理により、タイル211,212,213,214のそれぞれについてシンタクス要素の生成とコンテキストテーブルの構築が終了すると、図17に示すようにタイル211,212,213,214のエントロピー符号化が開始される。
すなわち、画像処理回路100aは、その内部のエントロピー符号化部の処理により、タイル211の全CTBラインについてのシンタクス要素のエントロピー符号化を実行する。このとき、画像処理回路100aのエントロピー符号化部は、先頭以外のCTBラインのエントロピー符号化の開始時には、その上側に隣接するCTBラインについてのコンテキストテーブルをコンテキスト領域184_1から読み込む。画像処理回路100aのエントロピー符号化部は、読み込んだコンテキストテーブルを初期コンテキスト情報に設定して処理対象のCTBラインのエントロピー符号化を開始する。また、画像処理回路100aのエントロピー符号化部は、“split_cu_flag”,“cu_skip_frag”をエントロピー符号化するために、上側のCTBラインの各CTBについての“cu_skip_frag”,“CtDepth”をシンタクス領域183_1から読み出す。
画像処理回路100b,100c,100dでも、それぞれタイル212,213,214を処理対象として画像処理回路100aと同様の処理が実行される。すなわち、画像処理回路100bのエントロピー符号化部によってタイル212の先頭以外のCTBラインがエントロピー符号化される際には、コンテキスト領域184_2から上側のCTBラインについてのコンテキストテーブルが読み出される。また、シンタクス領域183_2から上側のCTBラインの各CTBについての“cu_skip_frag”,“CtDepth”が読み出される。
画像処理回路100cのエントロピー符号化部によってタイル213の先頭以外のCTBラインがエントロピー符号化される際には、コンテキスト領域184_3から上側のCTBラインについてのコンテキストテーブルが読み出される。また、シンタクス領域183_3から上側のCTBラインの各CTBについての“cu_skip_frag”,“CtDepth”が読み出される。
画像処理回路100dのエントロピー符号化部によってタイル214の先頭以外のCTBラインがエントロピー符号化される際には、コンテキスト領域184_4から上側のCTBラインについてのコンテキストテーブルが読み出される。また、シンタクス領域183_4から上側のCTBラインの各CTBについての“cu_skip_frag”,“CtDepth”が読み出される。
図19は、あるタイルでのエントロピー符号化が完了した場合の処理例を示す図である。タイル211,212,213,214のそれぞれの画像の複雑度などに応じて、画像処理回路100a,100b,100c,100dのそれぞれによるエントロピー符号化にかかる時間は異なる。ここで、例として、画像処理回路100bによるタイル212のエントロピー符号化が最初に完了したとする。このとき、プロセッサ201は、エントロピー符号化が完了していないいずれかのタイルにおけるエントロピー符号化を、画像処理回路100bに補助させる。ここでは例として、タイル214におけるエントロピー符号化を画像処理回路100bに補助させるものとする。
プロセッサ201は、例えば、タイル214におけるエントロピー符号化が未実行のCTBラインのうち、終端から2CTBラインのエントロピー符号化を画像処理回路100bのエントロピー符号化部に実行させる。ここで、画像処理回路100dのシンタクス領域183_4には、タイル214の全CTBラインについてのシンタクス要素が格納済みであり、コンテキスト領域184_4には、タイル214の全CTBラインについてのコンテキストテーブルが格納済みである。そこで、プロセッサ201は、タイル214の終端から2CTBラインのエントロピー符号化に必要な情報を、画像処理回路100dのシンタクス領域183_4およびコンテキスト領域184_4から、画像処理回路100bのシンタクス領域183_2およびコンテキスト領域184_2にそれぞれ転送する。そして、プロセッサ201は、画像処理回路100bのエントロピー符号化部にタイル214の終端から2CTBラインのエントロピー符号化を実行させる。
画像処理回路100bのエントロピー符号化部は、コンテキスト領域184_2に転送されたコンテキストテーブルを用いて、タイル214の終端から2CTBラインのエントロピー符号化を即座に開始できる。また、画像処理回路100bのエントロピー符号化部は、シンタクス領域183_2に転送された情報を用いて、タイル214の終端から2CTBラインのエントロピー符号化を、CTBライン間で同期をとらずに並列に実行できる。さらに、画像処理回路100bのエントロピー符号化部と、画像処理回路100dのエントロピー符号化部との間で、エントロピー符号化を同期させる必要もない。したがって、画像処理回路100b,100dの両方によってタイル214のエントロピー符号化を並列に実行させることができ、簡単な制御によりエントロピー符号化にかかる時間を短縮できる。
図20は、プロセッサによるシンタクス要素生成の制御手順の例を示すフローチャートである。
[ステップS201]プロセッサ201は、画像処理回路100a,100b,100c,100dのそれぞれに対して処理対象のタイルを割り当てる。
[ステップS202]プロセッサ201は、画像処理回路100a,100b,100c,100dに対して、割り当てたタイルのシンタクス要素生成処理を開始するように指示する。この指示は、画像処理回路100a,100b,100c,100dのそれぞれのCPUに通知される。これにより、画像処理回路100a,100b,100c,100dのそれぞれのCPUは、図11と同様の手順により、割り当てられたタイルについてのシンタクス要素の作成とコンテキストテーブルの構築とが実行されるように制御する。
[ステップS203]画像処理回路100a,100b,100c,100dのそれぞれのCPUは、割り当てられたタイルについてのシンタクス要素の作成およびコンテキストテーブルの構築が完了すると、プロセッサ201に対して完了通知を送信する。プロセッサ201は、画像処理回路100a,100b,100c,100dのすべてから完了通知を受信したかを判定する。完了通知を未受信の画像処理回路がある場合、ステップS203の処理が所定時間後に実行される。そして、完了通知を画像処理回路100a,100b,100c,100dのすべてから受信した場合、図20の処理は終了する。
図21は、プロセッサによるエントロピー符号化の制御手順の例を示すフローチャートである。なお、図21の処理と並行して、プロセッサ201は、次のピクチャの各タイルについてのシンタクス要素生成およびコンテキストテーブル構築を、画像処理回路100a,100b,100c,100dのそれぞれのシンタクス生成部およびテーブル構築部に実行させる。
[ステップS211]プロセッサ201は、画像処理回路100a,100b,100c,100dのそれぞれに対するタイルの初期割り当てを行う。
[ステップS212]プロセッサ201は、画像処理回路100a,100b,100c,100dのそれぞれに、割り当てたタイルについてのエントロピー符号化処理を開始するように指示する。この指示は、画像処理回路100a,100b,100c,100dのそれぞれのCPUに通知される。これにより、画像処理回路100a,100b,100c,100dのそれぞれのCPUは、図12と同様の手順により、割り当てられたタイルについてのエントロピー符号化が実行されるように制御する。
[ステップS213]画像処理回路100a,100b,100c,100dのそれぞれのCPUは、割り当てられたタイルについてのエントロピー符号化が完了すると、プロセッサ201に対して完了通知を送信する。プロセッサ201は、画像処理回路100a,100b,100c,100dのいずれかから完了通知を受信したかを判定する。完了通知を受信していない場合、所定時間後にステップS213が再度実行される。完了通知を受信した場合、ステップS214の処理が実行される。
[ステップS214]プロセッサ201は、全タイルについてのエントロピー符号化が完了したかを判定する。完了していない場合、ステップS215の処理が実行される。完了した場合、図21の処理は終了する。
[ステップS215]プロセッサ201は、画像処理回路100a,100b,100c,100dのそれぞれのCPUから、各タイルでの残りCTBライン数を取得する。残りCTBライン数とは、エントロピー符号化が開始されていないCTBラインの数である。
[ステップS216]プロセッサ201は、ステップS215で取得した残りCTBライン数の最大値Xが所定の閾値以上かを判定する。閾値は、1以上の所定値に設定される。最大値Xが閾値以上の場合、ステップS217の処理が実行される。最大値Xが閾値未満の場合、ステップS213の処理が実行される。
[ステップS217]プロセッサ201は、残りCTBライン数が最大値Xのタイルをエントロピー符号化している画像処理回路を特定する。また、プロセッサ201は、そのタイルにおける終端からX以下の数のCTBラインを、新たに割り当てるCTBラインとして特定する。例えば、プロセッサ201は、そのタイルにおける終端からX/2だけのCTBラインを特定する。
プロセッサ201は、特定した画像処理回路のシンタクス領域およびコンテキスト領域から、特定したCTBラインのエントロピー符号化に必要な情報を読み出す。プロセッサ201は、読み出した情報を、ステップS213での完了通知の送信元の画像処理回路のシンタクス領域およびコンテキスト領域に転送する。
[ステップS218]プロセッサ201は、転送先の画像処理回路のCPUに対して、特定したCTBラインのエントロピー符号化処理を開始するように指示する。これにより、転送先の画像処理回路の各エントロピー符号化部によって、特定したCTBラインのエントロピー符号化が実行される。この後、ステップS213の処理が実行される。
なお、上記の各実施の形態に示した装置(例えば、画像符号化装置10、画像処理回路100,100a,100b,100c,100d、情報処理装置200,200a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD(Compact Disc)−ROM、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
10 画像符号化装置
11 記憶部
11a シンタクス領域
12 演算部
20 画像
21,22 分割領域
S1,S2 ステップ

Claims (10)

  1. 記憶部と、
    画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して前記記憶部に格納し、前記複数のシンタクス要素を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、前記複数の分割領域のうち前記第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応するシンタクス要素を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行する演算部と、
    を有する画像符号化装置。
  2. 記憶部と、
    画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素および複数のコンテキスト情報を算出して前記記憶部に格納し、前記複数のシンタクス要素および前記複数のコンテキスト情報を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応する第1のシンタクス要素、前記複数のシンタクス要素のうち前記第1の分割領域の上に隣接する第2の分割領域に対応する第2のシンタクス要素、および、前記複数のコンテキスト情報のうち前記第1の分割領域に対応する第1のコンテキスト情報を前記記憶部から読み出す処理を含む前記第1のエントロピー符号化処理と、前記複数の分割領域のうち第3の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第3の分割領域に対応する第3のシンタクス要素、前記複数のシンタクス要素のうち前記第3の分割領域の上に隣接する第4の分割領域に対応する第4のシンタクス要素、および、前記複数のコンテキスト情報のうち前記第3の分割領域に対応する第2のコンテキスト情報を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行する演算部と、
    を有する画像符号化装置。
  3. 前記演算部は、前記複数のシンタクス要素と前記複数のコンテキスト情報の算出および前記記憶部への格納と、前記画像の前の他の画像に対する第3のエントロピー符号化処理とを、前記第1のエントロピー符号化処理および前記第2のエントロピー符号化処理の実行前に並列に実行する、
    請求項2記載の画像符号化装置。
  4. 前記演算部は、前記第1のエントロピー符号化処理の完了前に前記第2のエントロピー符号化処理が完了した場合、前記複数の分割領域のうち第5の分割領域に対する第4のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第5の分割領域に対応する第5のシンタクス要素、前記複数のシンタクス要素のうち前記第5の分割領域の上に隣接する第6の分割領域に対応する第6のシンタクス要素、および、前記複数のコンテキスト情報のうち前記第5の分割領域に対応する第3のコンテキスト情報を前記記憶部から読み出す処理を含む前記第4のエントロピー符号化処理を開始する、
    請求項2または3記載の画像符号化装置。
  5. 記憶部と、
    画像に含まれる第1の領域を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して前記記憶部に格納し、前記複数のシンタクス要素を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、前記複数の分割領域のうち前記第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応する第1のシンタクス要素を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行し、前記画像に含まれる第2の領域に対する第3のエントロピー符号化処理を、前記第1のエントロピー符号化処理および前記第2のエントロピー符号化処理と並列に実行し、前記第3のエントロピー符号化処理が完了すると、前記複数の分割領域のうち第3の分割領域に対する第4のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第3の分割領域の上に隣接する第4の分割領域に対応する第2のシンタクス要素を前記記憶部から読み出す処理を含む前記第4のエントロピー符号化処理を実行する演算部と、
    を有する画像符号化装置。
  6. 前記演算部は、
    前記複数のシンタクス要素に基づいて前記複数の分割領域にそれぞれ対応する複数のコンテキスト情報を算出して前記記憶部に格納する処理をさらに実行し、
    前記複数のシンタクス要素および前記複数のコンテキスト情報を前記記憶部に格納した後に、前記第1のエントロピー符号化処理を開始するとともに、前記第2のエントロピー符号化処理を、前記記憶部に記憶された前記複数のコンテキスト情報のうち前記第1の分割領域に対応する第1のコンテキスト情報に基づいて開始し、
    前記第3のエントロピー符号化処理が完了すると、前記第4のエントロピー符号化処理を、前記記憶部に記憶された前記複数のコンテキスト情報のうち前記第4の分割領域に対応する第2のコンテキスト情報に基づいて開始する、
    請求項5記載の画像符号化装置。
  7. 画像符号化装置が、
    画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して記憶部に格納し、
    前記複数のシンタクス要素を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、前記複数の分割領域のうち前記第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応するシンタクス要素を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行する、
    画像符号化方法。
  8. 画像符号化装置が、
    画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素および複数のコンテキスト情報を算出して記憶部に格納し、
    前記複数のシンタクス要素および前記複数のコンテキスト情報を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応する第1のシンタクス要素、前記複数のシンタクス要素のうち前記第1の分割領域の上に隣接する第2の分割領域に対応する第2のシンタクス要素、および、前記複数のコンテキスト情報のうち前記第1の分割領域に対応する第1のコンテキスト情報を前記記憶部から読み出してエントロピー符号化する処理を含む前記第1のエントロピー符号化処理と、前記複数の分割領域のうち第3の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第3の分割領域に対応する第3のシンタクス要素、前記複数のシンタクス要素のうち前記第3の分割領域の上に隣接する第4の分割領域に対応する第4のシンタクス要素、および、前記複数のコンテキスト情報のうち前記第3の分割領域に対応する第2のコンテキスト情報を前記記憶部から読み出してエントロピー符号化する処理を含む前記第2のエントロピー符号化処理とを、並列に実行する、
    画像符号化方法。
  9. 画像符号化装置が、
    画像に含まれる第1の領域を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して記憶部に格納し、
    前記複数のシンタクス要素を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、前記複数の分割領域のうち前記第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応する第1のシンタクス要素を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行し、
    前記画像に含まれる第2の領域に対する第3のエントロピー符号化処理を、前記第1のエントロピー符号化処理および前記第2のエントロピー符号化処理と並列に実行し、
    前記第3のエントロピー符号化処理が完了すると、前記複数の分割領域のうち第3の分割領域に対する第4のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第3の分割領域の上に隣接する第4の分割領域に対応する第2のシンタクス要素を前記記憶部から読み出す処理を含む前記第4のエントロピー符号化処理を実行する、
    画像符号化方法。
  10. コンピュータに、
    画像を水平な分割線によって分割した複数の分割領域にそれぞれ対応する複数のシンタクス要素を算出して記憶部に格納し、
    前記複数のシンタクス要素を前記記憶部に格納した後に、前記複数の分割領域のうち第1の分割領域に対する第1のエントロピー符号化処理と、前記複数の分割領域のうち前記第1の分割領域の下に隣接する第2の分割領域に対する第2のエントロピー符号化処理であって、前記複数のシンタクス要素のうち前記第1の分割領域に対応するシンタクス要素を前記記憶部から読み出す処理を含む前記第2のエントロピー符号化処理とを、並列に実行する、
    処理を実行させる画像符号化プログラム。
JP2015100211A 2015-05-15 2015-05-15 画像符号化装置、画像符号化方法および画像符号化プログラム Pending JP2016219913A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015100211A JP2016219913A (ja) 2015-05-15 2015-05-15 画像符号化装置、画像符号化方法および画像符号化プログラム
US15/133,335 US20160337667A1 (en) 2015-05-15 2016-04-20 Image coding device and image coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015100211A JP2016219913A (ja) 2015-05-15 2015-05-15 画像符号化装置、画像符号化方法および画像符号化プログラム

Publications (1)

Publication Number Publication Date
JP2016219913A true JP2016219913A (ja) 2016-12-22

Family

ID=57277394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015100211A Pending JP2016219913A (ja) 2015-05-15 2015-05-15 画像符号化装置、画像符号化方法および画像符号化プログラム

Country Status (2)

Country Link
US (1) US20160337667A1 (ja)
JP (1) JP2016219913A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016220026A (ja) * 2015-05-20 2016-12-22 株式会社ソシオネクスト 画像処理装置および画像処理方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554977B2 (en) * 2017-02-10 2020-02-04 Intel Corporation Method and system of high throughput arithmetic entropy coding for video coding
WO2019184852A1 (en) * 2018-03-26 2019-10-03 Mediatek Inc. Methods and apparatus for signalling coding unit partitioning of video data
US12003722B2 (en) * 2022-04-01 2024-06-04 Intel Corporation Encoding apparatus, encoding device, encoding method, computer program, and corresponding computer system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
DK3481068T3 (da) * 2012-04-13 2020-11-16 Ge Video Compression Llc Billedkodning med lav forsinkelse
US20140003532A1 (en) * 2012-06-29 2014-01-02 Qualcomm Incorporated Wavefront parallel processing for video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016220026A (ja) * 2015-05-20 2016-12-22 株式会社ソシオネクスト 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US20160337667A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
JP6882560B2 (ja) 画像予測方法および装置
JP6590918B2 (ja) 画像を符号化する方法、画像を復号する方法、画像を符号化する装置、画像を復号する装置、及びプログラム
JP7384831B2 (ja) ビデオ符号化及び復号のための方法、装置及びコンピュータプログラム
US10477232B2 (en) Search region determination for intra block copy in video coding
RU2668729C1 (ru) Устройство кодирования изображения, способ кодирования изображения, устройство декодирования изображения, способ декодирования изображения и программа
JP6557260B2 (ja) パレットベースのビデオコーディングにおけるエスケープを伴うランのコーディング
JP5774780B2 (ja) ビデオコーディングにおけるイントラ予測のための境界画素のパディング
TWI827606B (zh) 網格寫碼之量化係數寫碼
US20150071357A1 (en) Partial intra block copying for video coding
JP6271558B2 (ja) 改善されたランダムアクセスポイントピクチャ挙動を用いたビデオコーディング
US9609316B2 (en) Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof
JP2022507670A (ja) ビデオ復号化方法、ビデオ復号化装置、コンピュータ・プログラム及びビデオ符号化方法
JP2017520163A (ja) パレットベースのビデオコーディングにおける予測子パレットの初期化
JP2017520158A (ja) パレットベースのビデオコーディングにおけるパレットインデックスに基づくラン値のコーディング
BR112014011058B1 (pt) Métodos para codificar e decodificar dados de vídeo, dispositivos compreendendo um codificador e um decodificador de vídeo e meio de armazenamento
JP2017513342A (ja) ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法
JP2016524409A (ja) 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和
JP2015516769A (ja) ビデオコード化のための簡略化された非正方形4分木変換
TWI836542B (zh) 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和非暫態電腦可讀取儲存媒體
JP6285025B2 (ja) 水平および垂直変換の並行処理
JP2016219913A (ja) 画像符号化装置、画像符号化方法および画像符号化プログラム
JPWO2015145504A1 (ja) 画像復号装置、画像復号方法、及び集積回路
KR102347598B1 (ko) 영상 부호화 장치 및 인코더
RU2624464C1 (ru) Порядки сканирования для кодирования без преобразования
WO2020190715A1 (en) Signaling of lossless coding in video coding