JP5302769B2 - スキャン変換装置及び画像符号化装置及びそれらの制御方法 - Google Patents

スキャン変換装置及び画像符号化装置及びそれらの制御方法 Download PDF

Info

Publication number
JP5302769B2
JP5302769B2 JP2009118045A JP2009118045A JP5302769B2 JP 5302769 B2 JP5302769 B2 JP 5302769B2 JP 2009118045 A JP2009118045 A JP 2009118045A JP 2009118045 A JP2009118045 A JP 2009118045A JP 5302769 B2 JP5302769 B2 JP 5302769B2
Authority
JP
Japan
Prior art keywords
data
scan conversion
statistical information
scan
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009118045A
Other languages
English (en)
Other versions
JP2010268243A5 (ja
JP2010268243A (ja
Inventor
玲子 藤野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009118045A priority Critical patent/JP5302769B2/ja
Priority to US13/203,719 priority patent/US8509547B2/en
Priority to PCT/JP2010/056890 priority patent/WO2010131546A1/en
Publication of JP2010268243A publication Critical patent/JP2010268243A/ja
Publication of JP2010268243A5 publication Critical patent/JP2010268243A5/ja
Application granted granted Critical
Publication of JP5302769B2 publication Critical patent/JP5302769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、スキャン変換装置及び画像符号化装置、並びにそれらの制御方法に関するものである。
一般に、画像データは、多数の画素で構成される。そして、1つの画素が複数の色成分を持ち、尚且つ、1つの色成分は多ビットで表わされるものであるから、画像データのデータ量は非常に大きいものとなる。従って、そのデータを保存するため、或いは、短時間で転送するため、圧縮符号化技術は欠かせない。ここで、撮像素子などで撮影されたデジタル画像データの符号化手順を説明する。先ず、画像データは、所望の矩形サイズのタイルに分割される。そして、各タイルは、予め定められた2次元配列の複数のMB(マクロブロック)に分割される。このMBが符号化処理の処理単位となる(図5参照)。
MBデータは、直交変換が施され、色空間データから周波数空間の変換係数に変換される。非可逆符号化の場合には、更に圧縮率を高めるため、変換係数を量子化する。さらに、画像のデータパターンが複数ブロックにまたいでいる場合は、量子化された変換係数を各周波数帯に応じてフレーム内予測することで、更に変換係数の強度を削減する。ただし、量子化値がブロック内の係数位置によって異なっている場合やブロック間で異なっている場合は、画像のデータパターンが複数ブロックにまたいでいても、変換係数の周波数帯応じた相関が保たれているわけではない。そのため、フレーム内予測を施すことで必ずしも変換係数の強度を抑制することができるわけではない。このような場合は、フレーム内予測の処理を省いてもかまわない。そして、量子化、および、フレーム内予測が施された変換係数は2次元データとしてスキャンし、有意係数(有意データ)を前方に、非有意係数(非有意データ)、すなわち、ラン(零)を後方に連続するように1次元データとして並びかえる。このようにして並びかえた1次元データをエントロピー符号化することで符号化ストリームが生成される。また、このように生成された符号化ストリームに対して復号処理を施すことで、画像を再構成することも可能になる。
JPEG、MPEG2、MPEG4、JPEG−XRなどに代表される画素ブロックを単位に符号化する一般的な画像符号化装置では、エントロピー符号化としてランレングス符号化を用いている。ランレングス符号化は、ランの連続する長さを符号化するものである。画像の符号化を行う場合、周波数変換後、或いは、その後の量子化後の2次元配列の変換係数を1次元の配列に変換し、その一次元配列に対してランレングス符号化を行う。従って、2次元配列から1次元配列に変換(スキャン変換)が適正であればあるほど符号化効率が高くなると言える。周波数変換の代表的なものとしてDCTが知られている。このDCT変換による2次元配列である8×8個の変換係数のうち、左上隅の位置に1つのDC成分値が得られる。そして、それ以外の63個は交流成分であり、左上から右下に向かう順番に周波数が高い成分値が配置される。このような2次元配列の変換係数を1次元配列にするために有効とされているスキャン順が図3(a)に示すジグザグスキャンと呼ばれるものである(図示のマス目の番号が、そのスキャン順序を示しており、数字の順番の軌跡がジグザグであることからこのように呼ばれる)。
しかし、以下の3つの理由で「ジグザグ」パターンのような一定の走査パターンでは、符号化効率に必ずしも寄与するとは言えない。
第1の理由は、ブロック歪を抑制するため、ブロック間をまたいで変換を施す場合は、エッジが強調され、変換係数の分散が大きくなり、変換係数の強度も大きくなる点である。この場合、2次元配列の右下の変換係数の強度が必ずしも小さくなるとは限らない。そのため、ブロックの左上から右下へ変換係数をスキャンするスキャン順序が最適とは言えない。第2の理由は、ブロック内の画素に水平方向や垂直方向に依存関係がある場合は、依存関係に応じて変換係数の周波数帯が偏る傾向になる点である。このような場合においては、図3(b)や図3(c)に示されるような水平方向と垂直方向にそれぞれ異なるスキャン順序が適している。そして、第3の理由は、ブロックをまたいでテクスチャーが存在する場合、ブロック間で変換係数の偏りが同じ傾向になる点である。その場合は、量子化された変換係数に対して、係数予測を行うことで係数の強度を抑制できる。この場合は予測方法に応じて変換係数の周波数帯の偏りが変わる。そのため、予測方法に応じた走査パターンが必要となる。以上の理由から、入力画像と符号化方式に合った最適なスキャン順序を適応的に選択することが望ましいと言える(例えば、特許文献3参照)。
さらに、JPEG−XRに代表されるように、MBをさらにブロックに分割し、ブロック毎に量子化値やフレーム内予測方法が変更できる符号化方式においては、ブロック毎にスキャン順序を変更する方法が適している(例えば、特許文献1および特許文献2参照)。例えば、特許文献1に記載のスキャン順序決定方法によると、図4に示すように16×16画素で構成されたMBを4×4画素のブロックに分割する。そして、スキャン変換処理は、A〜Pの順番で各ブロックの変換係数を読み込み、スキャン変換を行うものである。例えば、ブロックAの変換係数全てが入力された後、予め定められたスキャン順序で並び替えて変換係数を出力する。一方、ブロックAのスキャン変換結果を分析し、すなわち、並び替えた後のスキャン順序で変換係数を分析して、次のブロックBのスキャン順序が決定される。このようにして、スキャン変換対象となるブロック以前に、スキャン変換が施されたブロックによって、当該ブロックのスキャン順序が因果的に決定される。
ここで、上記スキャン順序の詳細な決定方法の例を、図6のフローチャートに従って説明する。ここでは、配列変換対象の2次元配列が4×4個の変換係数であるものとする。
先ず、4×4個の変換係数のどの位置に有意係数が発生しやすいのかを統計的に求めた統計情報ScanTotals(例えば、図7(a))を用意する。なお、統計情報ScanTotalsの初期値として、{t*N, t*(N-1), t*(N-2),……,t}として設定されているものとする。一般にtは小さい整数(2 or 4)であるように選択される。また、tの値は、量子化で用いられる量子化パラメータによって決定されてもよい。そして、統計情報は、ある一定期間を置いてリセットすれば、統計情報の各要素の最大ビット長を固定することができる。ここで、この統計的に有意係数の発生しやすい順番を示すスキャンオーダ情報ScanOrder[]も用意する(図7(b))。図7(b)における小文字のアルファベットは、図4における小文字のアルファベットの位置である。図7(a),(b)の場合、変換係数の位置“d”が統計上、有意係数となる確率が高いことを示している。すなわち、同図(a),(b)の場合、1次元配列に変換された最初の変換係数は位置“d”の位置にある変換係数となる。
なお、図7(a),(b)は、画像符号化側と画像復号側で共通になっていれば良いので、図示の数値はあくまでその例である。例えば、水平方向の係数予測がなされることを前提にする符号化装置に適用する場合には、水平方向を優先的に走査するスキャン順序となるスキャンオーダテーブルを用意すればよい(図3(b)参照)。また、垂直方向の係数予測がなさることを前提にする符号化装置に適用する場合には、垂直方向を優先的に走査するスキャンオーダテーブルを用意すればよい(図3(c))。
さて、S801において、スキャン変換を施されたブロック内の変換係数C[x](0≦x≦15)を1次元の順序で1つ取得する(初期の状態ではn=0)。次に、S802において、S801で取得した変換係数C[x]がラン(零)であるか否かを判定する。変換係数C[x]がランである場合は、S806の判定に進む。一方、変換係数C[n]が有意係数(非零)であった場合は、S803の処理を施す。処理がS803に処理が進んだ場合、有意係数であると判断された変換係数C[x]の統計情報ScanTotals[x]をインクリメントする。さらに、S804において、統計情報ScanTotals[x]とScanTotals[x-1]の大小関係を判定する。ScanTotals[x]がScanTotals[x-1]より大きい場合は、変換係数C[x]の位置では、変換係数C[x-1]の位置より有意係数の発生回数が多くなったことを意味する。そのため、S805において、スキャン順序に対応する係数の位置ScanOrderとそれに対応するScanTotalsに対して交換処理を施す。また、S803において、統計情報ScanTotals[x]がScanTotals[x-1]より小さい場合は、スキャン順序の変更処理は施さない。
ここで、S805の具体的な交換処理について説明する。交換処理では、係数位置ScanOrder[x]とScanOrder[x-1]を入れ替えるため、例えば下記のような演算を行う。
Temp = ScanOrder[x-1]
ScanOrder[x-1] = ScanOrder[x]
ScanOrder[x] = Temp
一方、統計情報ScanTotals[x]とScanTotals[x-1]とを入れ替えるため、例えば下記のような演算を行う。
Temp = ScanTotals[x-1]
ScanTotals[x-1] = ScanTotals[x]
ScanTotals[x] = Temp
S806で、次のブロックのスキャン順序を決定するために、ブロック内の変換係数の取得が完了していない場合は、S807へ進み、次の係数の取得に備える。一方、ブロック内の全係数の取得が完了していれば、スキャン順序決定フローを終了する。
以上で説明したように、スキャン順序ScanOrder[x-1]に対応する係数位置ScanOrder[x-1]を、スキャン順序xとx-1に対応する統計情報ScanTotals[x]とScanTotals[x-1]を用いて、因果的に決定している。これにより、スキャン変換を繰り返すと、段階的に最適なスキャン順序に近くづけることができる。また、因果的にスキャン順序を決定できることにより、スキャン順序を復号化処理装置に明示的に知らせる情報を符号化ストリームに付加する必要がなくなる。
特開2006−191628号公報 特開平07−050836号公報 特開2004−032788号公報
しかしながら、従来のスキャン順序決定方法では、スキャン変換を施すブロックを逐次的に処理せざるを得ず、1サイクル辺りに決定できるスキャン順序は1係数分のみだった。また、従来のスキャン順序決定方法では、1つのブロックのスキャン変換が完了しない限り、次のブロックのスキャン変換を開始できない。すなわち、同時に、複数のブロックのスキャン変換を行うことができない。
本発明はかかる点に鑑みなされたものであり、スキャン変換をより効率良く実行することを可能ならしめる技術を提供する。
この課題を解決するため、例えば本発明のスキャン変換装置は以下の構成を備える。すなわち、
2次元配列のN個のデータで構成されるブロック内をスキャンし、有意データを前方、非有意データを後方に偏るように1次元配列データに並べ替えるスキャン変換装置であって、
前記ブロック内の各データの位置を示す位置情報と、当該各データの位置における有意データとなる出現頻度を示す統計情報とをペアにして、前記統計情報について降順に並べられた並び替え情報を設定する設定手段と、
それぞれが、与えられたブロックを構成するN個のデータを、前記並べ替え情報における前記位置情報に従って該当するデータを順番に読出し、1次元配列データとして出力すると共に、読出したデータが有意データであるか否かを示す情報を出力する、互いに並列に実行が可能なM個(2≦M≦N/2)のスキャン変換手段と、
前記M個のスキャン変換手段のいずれかから、第i番目のデータが有意データであることを示す情報が出力されたとき、前記第i番目の位置に対応する統計情報を更新する統計情報更新手段と、
該統計情報更新手段による更新結果、更新対象となった統計情報と順位が1つ前の統計情報との関係が非降順関係となった場合、非降順関係になった統計情報を持つ2つの並び替え情報を交換する交換手段と、
前記M個のスキャン変換手段のそれぞれは、第1乃至第Mのスキャン変換手段として優先順位が割り当てられ、それぞれのスキャン変換手段を、それぞれより1つ順位が高いスキャン変換手段よりも、少なくとも2つのデータ分だけ遅いタイミングで、データのスキャンを開始させる制御手段とを備える。
本発明によれば、統計情報の更新処理を行うものの、実質的にM個のブロック内のデータの並べ替え処理を並列に実行することが可能になる。従って、ブロック単位にランレングスする画像符号化技術に適用した場合には、符号化処理を高速化させることが可能になる。
第1の実施形態におけるスキャン変換部のブロック構成図。 画像符号化部及び復号部のブロック構成図。 2次元配列データのスキャン順を表わすパターンを示す図。 ブロック内のデータの配列とマクロブロックとの関係を示す図。 画像、タイル、マクロブロックの関係を示す図。 ブロック内のスキャン順を決定するための処理のフローチャート。 統計情報とスキャン順序情報の例を示す図。 デジタルカメラのブロック構成図。 第2の実施形態におけるスキャン変換部のブロック構成図。 図1のスキャン順序更新部と統計情報更新部のブロック図。 図1の第1,第2の変換部のブロック図。 第3の実施形態におけるスキャン変換部のブロック構成図。 第3の実施形態のスキャン順序更新部のブロック構成図。 第3の実施形態の統計情報更新部のブロック構成図。 図13における判定部の判定テーブルを示す図である。 第1の実施形態における逆スキャン変換部のブロック構成図。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。
[第1の実施形態]
まず、本実施形態が産業上利用され得る形態として、画像を符号化する機能、符号化された画像を復号する機能を有する画像処理装置について説明する。画像を符号化する機能は、デジタルカメラやデジタルカムコーダが有する撮像素子から読み出された画像や、ネットワークを介して受信した画像を、符号化対象とする。
ここでは、図8の構成を有するデジタルカメラを例に説明する。撮像対象の像は、レンズ1201を介して、CCDやCMOSセンサなどの撮像素子1202上に結像される。撮像素子1202は、この結像された像をアナログ信号に変換し、このアナログ信号を後段のA/D変換器1203に送出する。
A/D変換器1203は、撮像素子1202から受けたアナログ信号をデジタル信号に変換する。メモリ制御回路1207は、この変換されたデジタル信号をデータ(画像データ)としてA/D変換器1203から取得すると、この画像データを画像処理部1204に送出する。画像処理部1204は、この画像データに対して周知の画像補間処理や色変換処理などを施す。
メモリ制御回路1207は、画像処理部1204による処理後の画像データをこの画像処理部1204から取得すると、この取得した画像データをメモリ1205に格納する。メモリ1205は、撮像された静止画像や動画像のデータを一時的に格納するためのメモリであって、所定枚数の静止画像(所定フレーム数分の静止画像)を格納するための領域を有する。このメモリ1205は読み書き可能なメモリであるので、メモリ制御回路1207は、メモリ1205に対するデータ書込み専用の複数のメモリ制御部と、メモリ1205に対するデータ読出し専用の複数のメモリ制御部と、を有する。
メモリ1205に格納された画像データはメモリ制御回路1207によって再度読み出され、D/A変換器1208と符号化部1211に送出される。D/A変換器1208は、この画像データをアナログ信号に変換し、この変換したアナログ信号を画像表示部1209に送出する。これにより、画像表示部1209の表示画面上には、このアナログ信号が示す画像(撮像された画像)が表示される(再生される)ことになる。
一方で、符号化部1211は、メモリ制御回路1207から受けた画像データ(入力画像)から符号化ストリームを生成する。メモリ制御回路1207は、符号化部1211が生成した符号化ストリームを記憶媒体1206に記録する。記憶媒体1206には、SDカード等の、画像処理装置に着脱可能なリムーバブルな媒体が利用される。
ここで、このデジタルカメラには、ユーザが操作する為のモードダイアル1221が備わっている。モードダイアル1221は、撮像モード、再生モードの何れかを選択するためのものである。ユーザがモードダイアル1221を操作して撮像モードを選択すると、システム制御部1220は画像処理装置を構成する各部の動作制御を行い、撮影処理が開始可能な状態になる。即ち、レンズ1201を介して得た像の画像データに基づく画像を画像表示部1209に表示させる。さらに、モードダイアル1221は撮影モードが選択された状態で、撮影記録スイッチ1222が投入されると、撮影処理が開始される。即ち、レンズ1201を介して得た像の画像データを符号化し、符号化ストリームとして記憶媒体1206に記録する処理を実現する。
一方、ユーザがモードダイアル1221を操作して再生モードを選択すると、システム制御部1220は画像処理装置を構成する各部の動作制御を行い、以下に説明する各処理を実現する。
メモリ制御回路1207は、記憶媒体1206に記録されている符号化ストリームを順次読み出し、読み出した符号化ストリームを復号部1213に送出する。復号部1213は、メモリ制御回路1207から受けた符号化ストリームを復号する。復号部1213には、復号された画像を1枚、ROM1223には、画像処理装置の設定データや、システム制御部1220による実行対象のコンピュータプログラムが格納されている。更に、ROM1223には、以下に説明する処理において既知のデータとして説明するものについても格納されている。即ち、システム制御部1220は、このROM1223に格納されているコンピュータプログラムやデータを用いて処理を実行することで、デジタルカメラを構成する各部の動作制御を行う。これにより、本実施形態に係るデジタルカメラは、以下に説明する各処理を実現することになる。
[符号化部1211]
図2(a)は、符号化部1211の詳細な機能構成例を示すブロック図である。図2(a)に示した各部はハードウェアでもって構成されているものとするが、その一部、若しくは全部をコンピュータプログラムで実現しても良い。
符号化部1211に1枚の画像データが入力されると、タイル分割部201は入力した画像データを1以上のタイルに分割し、個々のタイルをMB分割部202に出力する。MB分割部202は、入力した1つのタイルデータを、符号化処理単位となるマクロブロック(MB)に分割し、個々のマクロブロックMBを直交変換部203に出力する。この結果、直交変換部203以降の処理は、MB単位で処理が施される。以下では、1つのMBを符号化する為の符号化の動作について説明するが、同様の動作は、他のMBに対しても行われることになる点に注意されたい。
直行変換部203は入力したMBデータに対して直行変換を施し、色空間データから周波数空間の変換係数を出力する。さらに、色空間データへの非可逆符号化で良いのであれ、量子化部204において、変換係数を量子化処理して、変換係数のダイナミックレンジを小さくする。さらに、画像のデータパターンが複数ブロックにまたいでいる場合は、フレーム内予測部205において、量子化された変換係数を各周波数帯に応じてフレーム内予測することで、さらに変換係数の強度を削減する。ただし、量子化値がブロック内の係数位置によって異なっている場合やブロック間で異なっている場合は、画像のデータパターンが複数ブロックにまたいでいても、フレーム内予測の処理を省いてもかまわない。そして、量子化、および、フレーム内予測が施された変換係数は2次元データとしてスキャン変換部206に入力される。スキャン変換部206は、2次元の変換係数をスキャンして、その変換係数を符号化効率が高い1次元データに並べ替え、出力する。このときの理想的な並べ替えは、有意係数(有意データ)を前方に、非有意係数(ラン(零)=非有意データ)を後方に連続するようにすることである。このようにして並びかえた1次元データをエントロピー符号化部207において、エントロピー符号化(ランレングス符号化)することで符号化ストリームが生成される。ここで、ブロック毎に量子化値やフレーム内予測方法が変更できる符号化方式においては、ブロック毎にスキャン順序を変更する方法が適している。従来技術にも記載したようなブロック毎にスキャン順序を決定して、スキャン返還を施す符号化部1211において、2つ以上のブロックを並列にスキャン変換を施すように半導体上に回路を構成する。この並列処理を可能にするスキャン変換に係る構成は後述することとする。
[復号部1213]
次に、復号部1213を図2(b)を参照して説明する。なお、同図に示した各部はハードウェアでもって構成されているものとするが、その一部若しくは全部をコンピュータプログラムで実現しても良い。復号部1213には、画像毎の符号化ストリームが入力される。エントロピー復号部1107は、入力した符号化ストリームの符号語を復号し、予測変換係数誤差データを得る。復号された予測変換係数誤差データデータは、逆スキャン変換部1106において、逆スキャン変換を施し、1次元スキャン順序から2次元スキャン順序を変換する。次に、予測復号部1105において、予測変換係数誤差データに予測誤差を加算する、量子化変換係数を得る。その後、逆量子化部1104において、逆量子化を施し、逆直交変換部1103において、逆直交変換を施して、色空間データに復元する。以上の処理によってMBデータが復元できる。MB結合部1102は、各MBデータを結合して1つのタイルを復元する。タイル結合部1101は、各タイルを結合し、画像に復元する。
以上の手順により、復号部1213は、符号化ストリームから画像を再構成し、再構成画像をメモリ制御回路1207へ送出する。なお、各復号部の処理については周知であるので、これ以上の説明は省略する。また、以下説明する実施形態は、上述した符号化部1211および復号部1213にあって、スキャン変換を並列処理する本発明を具体的に実施した場合の一例を示すものである。
[スキャン変換部の説明]
本第1の実施形態のスキャン変換部206は、複数(実施形態では2つ)のブロックの変換係数を同時に実行する。スキャン変換の対象となるデータは、先に説明したとおり、量子化されたブロック変換係数や予測符号化されたブロック(1ブロック=4×4個の変換係数)である。そして、ブロック毎にスキャン順序が更新され、スキャン順序やスキャン順序の更新に伴う付加情報は因果的に決定される。
本第1の実施形態に係るスキャン変換部206は、図1に示すハードウェア構成図の如く、第1のスキャン変換部101、第2のスキャン変換部102、スキャン順序更新部103、統計情報更新記憶保持部104、及び、制御部105により構成される。また、第1のスキャン変換部101、第1変換部110、有意係数検出部112、スキャン順序更新判定部113を有する。そして、第2のスキャン変換部102は、第2変換部120、有意係数検出部122、スキャン順序更新判定部123を有する。
第1のスキャン変換部101は、入力されたブロックの変換係数に対してスキャン変換を施し、且つ、その変換したスキャン順序に基づいて次回のスキャン順序を更新する。第2のスキャン変換部102は、入力されたブロックの変換係数に対して、第1のスキャン変換部101が更新したスキャン順序に従ってスキャン変換を施し、且つ、その変換したスキャン順序に基づいて次回のスキャン変換を更新する。スキャン順序更新部103は、第1のスキャン変換部101および第2のスキャン変換部102から入力される判定結果を用いて、スキャン順序を更新して保持する。
統計情報更新部104は、第1のスキャン変換部101および第2のスキャン変換部102から入力される有意係数の検出結果を用いて、入力された変換係数のブロック内の各位置に対する有意係数の検出回数を集計して保持する。制御部105は、第2のスキャン変換部102における第2の変換部120の変換開始タイミングを制御する。第1の変換部110は、スキャン順序更新部103からのスキャン情報を用いて、入力ブロックデータに対してスキャン変換を施す。第2の変換部120は、制御部105から入力される制御信号にしたがい、スキャン順序更新部103からのスキャン情報を用いて、入力されたブロックの変換係数に対してスキャン変換を施す。有意係数検出部122は、有意係数(非零)を検出する。スキャン順序更新判定部123は、統計情報更新部104の統計結果を用いてスキャン順序を更新するか否かを判定する。
以下、図1におけるスキャン変換部206の更に詳しい処理内容を説明する。図4に示すように、予測符号化されたMB内の変換係数は、MBを4×4個のブロック、すなわち16個のブロックに分割される。各ブロックは、A〜Pに示す順序にスキャン変換を施される。本第1の実施形態では、2個のブロックに対して並列にスキャン変換を施すため、MBを構成する16個のブロックは、下記のような1組のセット(X、Y)で順番に処理が施されるものとする。
(A、B)→(C、D)→(E、F)→(G,H)→(I、J)→(K、L)→(M、L)→(O、P)
以降、上記セット(X、Y)のうち、Xに相当するブロックを「ブロックX」、Yに相当するブロックを「ブロックY」と呼ぶこととする。本実施形態は、ブロックXの変換係数と、ブロックXのスキャン変換に用いられたスキャン順序から、ブロックYのスキャン変換に用いるスキャン順序が決定される。ブロックXの変換係数は、第1のスキャン変換部101に入力され、1次元データに並び替えられる。そこで、このブロックXの2次元の変換係数を1次元に並び替える処理を図11(a)を用いて説明する。
先ず、第1アドレス生成部1601は、変換係数記憶保持部1602に、予め設定された順番にアドレスと書き込み信号を出力することで、入力される2次元変換係数(実施形態では15個であり、図4の英小文字a乃至oに対応する)を変換係数記憶保持部1602に記憶保持させる。その後、第1のアドレス生成部1601は、スキャン順序更新部103に保持されたスキャン順(図7(b)参照)の1つScanOrder[1]を読出しては、その読出したScanOrder[1]に従い、変換係数記憶保持部1602に記憶された変換係数の1つを読出すためのリードアドレスを生成する。言い換えると、各ScanOrder[]は、変換係数記憶保持部1602の先頭アドレスに対するオフセットアドレスである。すなわち、第1アドレス生成部1601は、第1アドレス生成部1601の先頭アドレスに、読出したScanOrder[]で示されるオフセットアドレスを加算することで、リードアドレスを算出する。そして、第1のアドレス生成部1601は、この算出したリードアドレスを、変換係数記憶保持部1602に出力すると共に、リード信号をも出力する。この結果、変換係数記憶保持部1602は、記憶した変換係数の1つを1次元に変換された変換係数として出力することになる。次に、第1のアドレス生成部1601は、スキャン順序更新部103に保持された次のスキャン順(図7(b)参照)であるScanOrder[2]を読出し、同様の処理を行う。以下、ScanOrder[15]に至るまで、第1のアドレス生成部1601はこの処理を繰り返す。以上の結果、例えば、スキャン順序更新部103に記憶されたスキャン順序が、図7(b)のような状態であった場合、入力した2次元配列の変換係数をその順番に1次元配列の変換係数にして出力することになる。従って、ブロックXの変換係数を効率的なエントロピー符号化が可能となる順序に並び替えることができる。
変換係数記憶保持部1602から送出された変換係数は、先に説明した通り、エントロピー符号化部207に供給されるが、ブロックYのスキャン順序を決定するために、有意係数検出部112にも供給される。有意係数検出部112は、入力された変換係数の強度を分析する。そして、変換係数の強度が0(零)でない場合、即ち、着目変換係数が非ゼロの場合、その着目変換係数は有意係数と判断し、その判断結果(1ビットで良い)を統計情報更新部104に供給する。統計情報更新部104は、有意係数検出部112の検出結果を用いて、着目スキャン順位について、有意係数の発生頻度(出現頻度)の更新処理を行う。例えば、着目現在のスキャン順序をxとすると、当該変換係数が有意係数であった場合は、図7(a)に示す統計情報ScanTotals[x]の値を“1”だけインクリメント(増加)する。また、着目変換係数が有意係数ではない(非有意係数=ゼロ)であった場合、統計情報更新部104は、着目スキャン順位の統計情報テーブルScanTotals[x]の値を変更しない。着目変換係数が有意係数の場合は、統計情報更新部104は、更新対象となった着目スキャン順位の統計情報ScanTotals[x]と、その1つ前のスキャン順位の統計情報ScanTotals[x-1]をスキャン順序更新判定部113に供給する。着目変換係数が非有意係数の場合は、スキャン順序更新判定部113がスキャン順序の更新判定を行わないように、供給する統計情報ScanTotals[x]およびScanTotals[x-1]が無効であることをスキャン順序更新判定部113に通知する。あるいは、スキャン順序更新判定部113において、スキャン順序の更新判定を行わない場合と同じ結果が得られる統計情報ScanTotals[x]およびScanTotals[x-1]を供給する。
スキャン順序更新判定部113は、入力した統計情報ScanTotals[x]とScanTotals[x-1]とを比較する。そして、その比較結果が降順関係、すなわち、『ScanTotals[x-1]≧ScanTotals[x]』である場合、ブロックXに適用される着目スキャン順位は、最適であると判断する。従って、スキャン順序更新判定部113はその時点でのスキャン順序ScanOrder[x-1]とScanOrder[x]の関係を維持する信号をスキャン順序更新部103に出力する。一方、『ScanTotals[x-1]<ScanTotals[x]』であると判断した場合、統計情報ScanTotals[]がそこだけ非降順関係になっていることになる。それ故、スキャン順序更新判定部113は、ScanTotals[x-1]とScanTotals[x]の保持している値を交換する指示を統計情報更新部104に出力すると共に、スキャンオーダ情報ScanOrder[x-1]とScanOrder[x]とを交換する指示を、スキャン順序更新部103に出力する。この指示を受けた統計情報更新部104は、内部に保持するScanTotals[x-1]とScanTotals[x]の値を交換する。また、スキャン順序更新部103も、内部に保持するスキャンオーダ情報ScanOrder[x-1]とScanOrder[x]とを交換する処理を行う。以上説明した処理を、繰り返し処理することで、ブロックXのスキャン変換が行われ、同時に、ブロックYのスキャン順序を決定することができる。
ここで、ブロックXにおける着目スキャン順位をxとした場合を考察する。この場合、着目スキャン順位xで示される変換係数が有意係数である場合のみ、ScanOrder[x]とその1つ前のスキャンオーダScanOrder[x-1]の交換処理が行われる可能性があると言える。換言すれば、着目スキャン順位をxとしたとき、ScanOrder[1]、ScanOrder[2]、…ScanOrder[x-2]は、ブロックYのスキャン変換用として確定していると見なして構わない。そこで、本実施形態の制御部105は、第1スキャン部101によるブロックXのスキャン変換を開始してから、x番目の変換係数のスキャン変換を行うタイミングで、第2スキャン変換部102に対してx−2番目の変換係数のスキャンを行うように制御する。「x−2」は1以上の値であるから、第1スキャン変換部101がブロックXの3番目の変換係数のスキャン変換を行うタイミングで、制御部105は第2のスキャン変換部102にブロックYの1番目の変換係数のスキャン変換を行なわせる。
以下、第2のスキャン変換部102の処理を説明する。第2のスキャン変換部102の第2の変換部120は、制御部105の制御の下で、入力したブロックYの変換係数を、スキャン順序更新部103からのスキャンオーダ情報に従ってスキャン変換を施し、エントロピー符号化207に出力する。また、第2のスキャン変換部102内の有意係数位置検出部122、スキャン順序更新判定部123は、先に説明した有意係数検出部112及びスキャン順序更新判定部113と同様に、統計情報ScanTotals[]とスキャンオーダ情報を更新する。
第2の変換部120の構成と処理を図11(b)に従って説明する。変換係数記憶保持部1702は、2次元のブロックYの変換係数(図4の英小文字a乃至oに対応する)を記憶保持する。そして、第2のアドレス生成部1701は、制御部105からの実行開始指示信号に応じて、スキャン順序更新部103に保持されたスキャン順(図7(b)参照)の1つScanOrder[1]を読出しては、変換係数記憶保持部1702に記憶された変換係数の1つを読出すためのアドレスを生成する。そして、第2のアドレス生成部1701は、この発生したアドレスを、変換係数記憶保持部1702に出力すると共に、リード信号をも出力する。この結果、変換係数記憶保持部1702は、記憶した変換係数の1つを1次元に変換された変換係数として出力することになる。次に、第2のアドレス生成部1701は、スキャン順序更新部103に保持されたスキャン順(図7(b)参照)の1つScanOrder[2]を読出し、同様の処理を行う。以下、ScanOrder[15]に至るまで、第2のアドレス生成部1701はこの処理を繰り返す。従って、ブロックYの変換係数を効率的なエントロピー符号化が可能となる順序に並び替えることができる。こうして、第2のスキャン変換部102は、ブロックYのスキャン変換を施すと同時に、次のタイミングにおけるブロックXで用いるスキャン順序を決定することができる。また、スキャン順序更新部103、統計情報更新部104は、第1のスキャン変換部101によるスキャン変換結果を受けた処理と実質的に同じ処理を、第2のスキャン変換部102によって得られたスキャン変換に対しても実行する。従って、例えば、本実施形態のスキャン変換部206が、現在、ブロックのセット(A,B)を処理している場合、第2のスキャン変換部102は、次のブロックのセット(C、D)のブロックCが用いるスキャン順序を決定していることに他ならない。この場合、第1のスキャン変換部101がブロックCに対する処理を開始するタイミングは、先に説明したように、第2のスキャン変換部102がスキャン変換中の変換係数の順位をxとしたとき、それより2つ前のx−2を処理すればよい。
実施形態では、1ブロック分のScanTotalsとScanOrderを、2つのスキャン変換部101、102で共有している。より厳密には、2つのスキャン変換部101、102は、常に異なるスキャン順序を更新することで、1ブロックずつ逐次的にスキャン順序を更新した場合と等価のスキャン順序を得られるようにしている。そこで、以下では、統計情報更新部104とスキャン順序更新部103について説明する。
図10(a)に、図1のスキャン順序更新部103の構成図の一例を示す。図10(a)に示すように、スキャンオーダ情報ScanOrder[]はリングバッファ内に記憶保持している。まず、リングバッファを構成するラッチDS1乃至DS14には、初期値として図7(b)に示したような初期のスキャン順序で初期化する。初期化時は、ScanOrder[0]がラッチDS4に記憶保持され、ScanOrder[1]がラッチDS5に記憶保持される。このようにして、各ScanOrderの要素が各ラッチに対応している。ちなみに、初期化時は、ScanOrder[14]がDS0に対応し、ScanOrder[15]がDS1に対応することになる。その後、サイクル毎に保持しているスキャン順序を前段のラッチに送出し、後段のラッチから入力されたスキャン順序を記憶保持する。このようにスキャン順序をバケツリレーすることで、第1,第2のスキャン変換部101、102は、常に固定ラッチから、1番目から順番にスキャン順序ScanOrderを得ることができる。
例えば、スキャン順序更新部103が、ラッチDS4から第1のスキャン変換部101へスキャン順序ScanOrder[x+2]を送出しているときは、その2つ前段のラッチDS2から第2のスキャン変換部102へスキャン順序ScanOrder[x]を送出する。
さらに、ラッチDS4は、ブロックXのスキャン順序を第1のスキャン変換部101へ送出しなければならない。同様に、ラッチDS2は、ブロックYのスキャン順序を第2のスキャン変換部102へ送出しなければならい。そこで、ラッチDS4がブロックXのScanOrder[x]を保持し、送出している際に、ScanOrder[x]とScanOrder[x-1]のスキャン順序の交換処理を行って、ブロックYのScanOrder[x-1]を決定する。例えば、第1のスキャン変換部101のスキャン順序更新部113から入力される更新情報SwapXにしたがい、選択部1401、1402を用いて、ScanOrder[x]とScanOrder[x-1]のスキャン順序の交換処理を行う。これにより、ブロックYのScanOrder[x-1]は、ラッチDS2に記憶保持される。同様に、ラッチDS2がブロックYのScanOrder[x]を保持し、送出している際に、ScanOrder[x]とScanOrder[x-1]のスキャン順序の交換処理を行って、次のブロックXのScanOrder[x-1]を決定する。例えば、第2のスキャン変換部102のスキャン順序更新判定部123から入力される更新情報SwapXにしたがい、選択部1403、1404を用いて、ScanOrder[x]とScanOrder[x-1]のスキャン順序の交換処理を行う。これにより、ブロックYのScanOrder[x-1]は、ラッチDS0に記憶保持される。以上の説明したように、スキャン順序更新部103が、ブロックYのスキャン順序ScanOrder[x]を第2のスキャン変換部102へ送出しているときに、ブロックXのスキャン順序ScanOrder[x+2] を第1のスキャン変換部101へ送出することが可能となる。
次に、統計情報更新部104の構成とその処理を図10(b)に従って説明する。この統計情報更新部104も、先に説明したスキャン順序更新部103と同様にリングバッファで構成され、ラッチDT0乃至DT14に、統計情報ScanTotals[]が記憶保持される。ここでは、図10(a)との差異についてのみ説明する。図10(b)のリングバッファを構成するラッチDT0からDT14には、図7(a)に示したような値が初期値として設定される。統計情報ScanTotalsの各要素は、有意係数検出部112の検出結果によって、値がインクリメントされる。そのため、ラッチDT4とDT3の間には、DT4から送出されたブロックXの統計情報ScanTotals[x]の値をインクリメントする加算器が備わっている。加算値が0であるか、あるいは、1であるかは、有意係数検出部112の検出結果によって決定されている。同様の理由で、ラッチDT2とDT1の間には、ラッチDT2から送出されたブロックYの統計情報ScanTotals[x]の値をインクリメントする加算器が備わっている。
以上の説明により、複数のブロックを並列にスキャン変換を施すスキャン変換装置において、第2のスキャン変換部102における並び替えたデータの出力タイミングを直接制御することで、因果的なスキャン順序更新方法を用いたスキャン変換の実施的に並列処理が可能である。
なお、従来技術で説明した図6に示すスキャン順序決定フローの各ステップと図1の構成要件の対応を下記に示す。有意係数検出部112は、S801およびS802に対応する。統計情報更新記憶保持部104は、S803に対応する。スキャン順序更新判断部113は、S804に対応する。スキャン順序更新記憶保持部103は、S805に対応する。また、本実施形態におけるスキャン変換部を複数のプロセッサに割り当て、タスクの開始タイミングを制御しても構わない。
以上、実施形態1におけるスキャン変換部206の構成とその動作を説明した。上記実施形態では、1つのブロック内のスキャン変換対象の2次元の変換係数の個数を4×4−1=15個とする例を説明した。そして、第1のスキャン変換部101がブロックX内の3つ目以降の変換係数のスキャン変換を行うときに、第2のスキャン変換部102がブロックYの変換係数の1つ目の変換係数のスキャン変換を開始する。このような因果的なスキャン順序更新法を採用しながらも、常に2つのブロックのスキャン変換処理を並列に実行した。しかしながら、並列処理数が“2”に限定されるものではなく、3つ以上に拡張できる。今、並列数がmの場合について説明する。この場合、第n−1のスキャン変換部(1≦n<m)が或るブロックの変換係数のスキャン変換を行って2つのデータ分だけ遅れたタイミングで第nのスキャン変換部が別のブロックの変換係数の1つ目の変換係数のスキャン変換を開始するようにすればよい。但し、第m(最後)のスキャン変換部が或るブロックの変換係数のスキャン変換を行って3つ目以降の変換係数のスキャン変換を行うときに、第1のスキャン変換部が別のブロックの変換係数の1つ目の変換係数のスキャン変換を開始するようにする必要がある。すなわち、2次元の変換係数の個数がM個とした場合、スキャン変換の最大並列処理できる数は「M/2」となる。
[逆スキャン変換部の説明]
以下、復号装置における逆スキャン変換部1106について説明する。すなわち、実施形態における逆スキャン変換部1106は、1ブロック分の1次元配列データの2次元配列に戻す逆スキャン変換を、複数ブロックに対して並列に処理する。ここで、逆スキャン変換対象となるデータは、符号化されたビットスリームのエントロピー復号して得られたブロック変換係数である(図2(b)参照)。そして、ブロック毎にスキャン順序が更新され、スキャン順序やスキャン順序の更新に伴う付加情報は因果的に決定される。
本実施形態に係る逆スキャン変換部1106の構成と処理内容を図16に従って説明する。ここでは、説明を簡単にするため、2つのブロックの同時に逆スキャン変換を施す構成となっている。
逆スキャン変換部1106に入力される2つのブロックのセットは、スキャン変換部206と同じであり、図4におけるブロック(A、B)→(C、D)→(E、F)→(G,H)→(I、J)→(K、L)→(M、L)→(O、P)の順である。ここでも、セット(X、Y)のうち、Xに相当するブロックを「ブロックX」、Yに相当するブロックを「ブロックY」と呼ぶこととする。
本実施形態における逆スキャン変換部1106は、2つのブロックの2次元配列への変換を並列処理するものであるので、図16の通り、第1の逆スキャン変換部2401、第2の逆スキャン変換部2402を有する。また、これら2つの逆変換部が共有するスキャン順序更新部173、統計情報更新部174と、第2の逆スキャン変換部2402の処理開始タイミングを制御する制御部176を有する。また、第1の逆スキャン変換部2401は、第1の変換部150、有意係数検出部152、スキャン順序更新判定部153を有する。そして、第2の逆スキャン変換部2402は、第2の変換部161、有意係数検出部162、スキャン順序更新判定部163を有する。
図示の通り、逆スキャン変換部1106の構成は、スキャン変換部206と実質的に同じ構成である。ただし、スキャン順序更新部173が記憶保持するScanOrder[]の意味がスキャン順序更新部103のそれとは逆になる。例えば、入力される1次元配列の先頭の変換係数を、ブロックXの2次元配列の画素位置“d”(図4参照)に配置させるための情報をScanOrder[1]として記憶保持する。ScanOrder[2]以降も同様である。
なお、統計情報更新部174に記憶するデータは、スキャン変換部206における統計情報更新部104と同じで良い。本実施形態の逆スキャン変換部1106の処理は、符号化装置側のスキャン変換部206のそれと実質的に同じである。すなわち、第1の逆スキャン変換部2401が入力した3つ目の変換係数を、2次元配列であるブロックX内に配置するとき、第2の逆スキャン変換部2402は入力した最初の変換係数の2次元配列であるブロックY内に配置する処理を開始する。以降、第2の逆スキャン変換部2402は、第1の逆スキャン変換部2401で確定したスキャン順に追従して処理を進めていく。なお、第1の変換部150、第2の変換部161は、内部に15個の変換係数を格納するメモリを有し、1ブロック分の変換係数が格納された(逆スキャン)が完了したとき、予め設定された順、例えば、図3(d)や図3(e)の順に変換係数を出力する。
なお、上記は逆スキャン変換の並列処理数を“2”とする例であったが、符号化側のスキャン変換部206と同様の理由で、更に多くの並列数とすることもできる。2次元配列に変換させる対象の変換係数がN個とした場合、逆スキャン変換の最大並列処理数は「N/2」となる。
また、実施形態では、スキャン位置を示す位置情報ScanOrderと、統計情報ScanTotalsを別々に記憶管理するものとしたが、ScanOrder[i]と統計情報ScanTotals[i]は常にペアとして扱われるので、1つのメモリに記憶管理するようにしても構わない。すなわち、これらのペアを並び替え情報Inf[i]と定義したとき、Inf[i]={ScanOrder[i],ScanTotals[i]}(i=1,2,,,N)として記憶管理し、交換が必要になった場合には、Inf[j-1]とInf[j]が保持するデータを交換するようにしても、上記と等価のものと言える。
[第2の実施形態]
第2の実施形態に係るスキャン変換部206の構成と処理を図9に従って説明する。本第2の実施形態でも、スキャン変換処理の並列数は“2”の例である。図1と異なるのは、制御部105の無くなり、代わりに制御部1305、及び、スイッチ1301が追加された点である。それ以外は同じであり、その且つ同様の機能を有するものとして同符号を付し、その説明は省略する。
本第2の実施形態では、制御部1305がスイッチ1301を制御することで、第2のスキャン変換部102に供給される変換係数の入力タイミングを、第1のスキャン変換部101のそれより2つの変換係数分だけ遅らせるようにした。この結果、他の構成の処理は、第1の実施形態におけるスキャン変換部206と同じになる。なお、逆スキャン変換部1106も、図9と実質的に同様の構成になるのは、第1の実施形態の説明から容易に理解できよう。
[第3の実施形態]
上記の第1,第2の実施形態では、2つのスキャン変換部の一方が、他方のそれより2個の変換係数分だけ遅れてスキャン変換を行うものであった。本第3の実施形態では、2つのスキャン変換部の置換処理に時間差を無くし、その代わりに一方のスキャン変換部の出力タイミングを制御する例を図12を用いて説明する。
本第3の実施形態のスキャン変換部206は、第1のスキャン変換部401、第2のスキャン変換部402、統計情報更新部403、スキャン順序更新部404を有する。統計情報更新部403は、各第1の変換部401の出力データから、スキャン順序に対応した有意係数の発生頻度を統計し、記憶保持する。さらに、スキャン順序更新部404は、第1のスキャン変換部401、第2のスキャン変換部402それぞれの有意係数検出部からの出力データと、統計情報更新部403の統計情報から、スキャン順序を更新して記憶保持する。また、スキャン順序の更新信号を統計情報更新部403に送出する。
第1のスキャン変換部401が有する第1の変換部110、有意係数検出部112、並びに、第2のスキャン変換部402が有する第2の変換部120、有意係数検出部122は、第1の実施形態と同じ機能を有数ものであるので、その説明は省略する。第2のスキャン変化部402は、更に保持部411と選択部412で構成される変換部421と、第1の判定部420を有する。
第1のスキャン変換部401における第1の変換部110は、スキャン順序更新部404から入力されたスキャン順序情報ScanOrder[]にしたがい、入力したブロックXの変換係数を1次元配列に並べ替えて出力する。このとき、有意係数検出部112がスキャン変換された変換係数が有意係数であるか否かを検出し、検出結果を信号S1として出力する。
一方、第2のスキャン変換部402における第2の変換部120も、スキャン順序更新部404から入力されたスキャン順序情報ScanOrder[]にしたがい、入力したブロックYの変換係数を1次元配列に並べ替えて出力する。但し、第2の変換部120から出力される変換係数の順序がただしくないことも起こり得る。そこで、第2のスキャン変換部402の第1の判定部420、交換部421により、第2の変換部120から出力された変換係数C[x]と1つ前に出力された変換係数C[x-1]を出力順のまま出力するのかを決定する。すなわち、C[x-1]を先に出力するのか、その逆にC[x]を先に出力するのかを決定する。
以下、図12におけるスキャン変換部206の処理について説明する。なお、本第3の実施形態でも、並列処理する対象の2つのブロックのセットをブロック(X,Y)とし、その入力順は第1の実施形態と同じであるものとして説明する。以下、n番目の変換係数をスキャンするタイミングを#n(n=1、2、…15)として表わすこととする。
第1のスキャン変換部401はブロックXを入力し、第2のスキャン変換部402はブロックYを入力し、それぞれがスキャン変換更新部404からのスキャン順序情報ScanOrder[]に従って、並べ替えを行なう。例えば、スキャン変換更新部404が保持するスキャン順序情報ScanOrder[]が図7(b)の状態であったとする。このとき、第1のスキャン変換部401の第1変換部110はタイミング#1にて、ブロックX内のScanOrder[1]で示される変換係数“d”を読み込み、出力する。また、第2のスキャン変換部401の第2変換部120もタイミング#1にて、ブロックY内のScanOrder[1]で示される変換係数“d”を読み込み、出力するが、この段階では選択した変換係数“d”は第2スキャン変換部402の外部には出力されず、保持部411に保持される。
次にタイミング#2にて、第1のスキャン変換部401の第1変換部110はブロックX内のScanOrder[2]で示される変換係数“a”を読み込み、出力することになる。また、第2のスキャン変換部401の第2変換部120もタイミング#2でブロックY内の変換係数“a”を読み込み、出力する。
ここで、仮に、タイミング#2にて第1のスキャン変換部401から出力された変換係数“a”が非有意係数であったとする。この場合、信号S1は“0”となる。第1判定部420は、タイミング#1で読み込んだScanTotals[1]を既に読み込んでいる。なお、タイミング#1以前には変換係数が存在しないので、保持部411には何も記憶保持されていないと見なされる。そして、タイミング#2では、ScanTotals[2]を読み込んでいるが、信号S1が“0”であるので、統計情報更新部403にてScanTotals[2]が更新されない(インクリメントされない)ことがわかる。従って、第1の判定部420は、第1のスキャン変換部401によるブロックXのタイミング#2にけるスキャン処理を終えた時点で、少なくとも、『ScanTotals[1]≧ScanTotals[2]』の関係が維持されることを判定できる。従って、第1の判定部420は、交換不要(並べ替え不要)を示す信号を選択部412に出力する。選択部412はこの信号を受信すると、保持部411に保持された変換係数“d”を選択して出力する。なお、変換係数“d”を出力したとき、記憶保持部411には変換係数“a”が格納されることになる。
一方、タイミング#2にて第1のスキャン変換部401から出力された変換係数“a”が有意係数であったとする。すなわち、信号S1が“1”であった場合である。このとき、第1判定部は、『ScanTotals[1]≧ScanTotals[2]+1』を満たすか否かを判定する。そして、この関係を満たす場合、第1の判定部420は、交換不要(並べ替え不要)を示す信号を選択部412に出力する。選択部412はこの信号を受信すると、保持部411に保持された変換係数“d”を選択して出力する。そして、記憶保持部411には新たに変換係数“a”が格納されることになる。
もし、タイミング#2にて、信号S1が“1”となり、その結果、『ScanTotals[1]<ScanTotals[2]+1』となると判定した場合、第1の判定部420は、交換要(並べ替え要)を示す信号を選択部412に出力する。選択部412はこの信号を受信すると、タイミング#2にて第2交換部120から出力された変換係数“a”を出力する。このとき、次のタイミング#3に備えて、保持部411は変換係数”d”が保持されている。
以上のように、同一タイミングにて、2つのスキャン変化部がブロックX、Yそれぞれの同じスキャン順序情報ScanOrser[]に従って並べ替えを行いながらも、第2のスキャン変換部402は、第1のスキャン変換部401の統計情報ScanTotals[]の更新結果に従った並べ替えを行うことが可能になる。
ここで、第3の実施形態における統計情報更新部403について説明する。統計情報更新部403は、変換係数のIDに対応して有意係数が発生するたびに更新する。2つのブロック、ブロックXとブロックYの両方のブロックの同じIDに有意係数が発生した場合は、IDに対応する統計情報値ScanTotals[]に“2”を加算する。また、当該IDにおいて、ブロックX、または、ブロックYのいずれか一方のブロックに有意係数が発生した場合は、当該IDに対応する統計情報ScanTotals[]に“1”を加算する。さらに、当該IDにおいて、ブロックX、および、ブロックYのいずれにおいても有意係数が発生しなかった場合(ランであった場合)は、統計情報は更新されない。なお、当該IDを更新するために、図14に示すようなリングバッファを用いると、計算リソースを少なくでき、逐次統計情報を第1の判定部へ出力することができる。その際、統計情報の加算値は、有意係数検出部のブロックXの当該IDに対応する検出結果S1と、有意係数検出部のブロックYの当該IDに対応する検出結果S2から決定される。
次に、スキャン順序更新部404について説明する。スキャン順序更新部404は、統計情報更新403の3つの統計情報値と、有意係数検出部112、122の検出結果S1、S2からスキャン順序ScanOrder[]を更新する。スキャン順序更新部404の構成例を図13に示す。2つの比較部501、502、判定部503、スキャン順序記憶用バッファ、および、スキャン順序更新のための選択部504,505、506から構成される。スキャン順序記憶バッファは、図13に示すようなリングバッファを用いると、回路構成リソースを少なくできる。また、固定ラッチの出力をスキャン変換時の出力データアドレスとして出力することができる。比較部501は、統計情報更新部403から入力された2つの統計情報を比較し、比較結果を出力する。この比較結果をCMP1とする。比較部501は、当該IDに対応する統計情報ScanTotals[x]と、その1つ前の統計情報ScanTotals[x-1]を比較し、比較結果を出力する。例えば、ScanTotals[x]とScanTotals[x-1]が一致している場合は「1」を出力する。また、ScanTotals[x]がScanTotals[x-1]より小さい場合は「0」を出力する。さらに、ScanTotals[x]がScanTotals[x-1]より小さい場合は「2」を出力する。このようにして出力データをできるだけ少ないビットで表現することが望ましい。しかし、比較結果のビット表現は、本発明のかかるところではない。同様に、当該IDの1つ前の統計情報値ScanTotals[x-1]と同2つ前の統計情報値SanTotals[x-2]についても、別の比較部502で比較する。この比較結果CMP2とする。図15に示すように、有意係数検出信号S1、S2、および、比較結果CMP1、CMP2から、スキャン順序の交換操作は一意に決定される。例えば、S1=1,S2=1,CMP1=1 CMP2=1or2の場合は、ブロックXとブロックYの当該IDの係数がいずれも有意係数であり、統計情報値の状態の降順が崩れている状態(ScanTotals[x]==ScanTotals[x-1]、ScanTotals[x-1]≧ScanTotals[x-2])である。そのため、有意係数の発生により、スキャン順序が更新され、当該IDのスキャン順序は2つ前になる。このようにして、有意係数検出信号S1、S2、および、比較結果CMP1、CMP2から、スキャン順序の交換操作は一意に決定される。なお。図15において「!0」とあるのは、「0以外」という意味である。
上記を、より分かりやすく言えば、x番目のスキャン処理を行ってScanTotals[x]を更新した場合、先ず、ScanTotals[x-1]とScanTotals[x]に着目し、『ScanTotals[x-1]≧ScanTotals[x]』の関係にあるときは、交換処理は終了する。しかし、『ScanTotals[x-1]<ScanTotals[x]』の関係にあるときは、ScanTotals[x-1]とScanTotals[x]、及び、ScanOrder[x-1]とScanOrder[x]の交換を行う。ついで、今度は、ScanTotals[x-2]とScanTotals[x-1]に着目して同様に処理して行けばよい。
従って、本第3の実施形態における並列数を一般形式のM個とするなら、次のようにすれば良いことがわかる。
先ず、M個のスキャン変換部には、第1乃至第Mのスキャン変換部というように優先順位を設定する。そして、各スキャン変換部は、
第i番目のデータを並べ替え行う際の直前のタイミングで並べ替えを行ったデータを保持する保持部(保持部411に相当)と、
自身より高い優先順位にあるスキャン変換部中の、第i番目のデータが有意データであることを示す情報を出力したスキャン変換部の個数Lをカウントする計数部(第3の実施形態では、並列数が2であり、第2のスキャン変換部よりも高い優先順位にあるのは第1のスキャン変換部の1つだけであるので、単純にS1が“0”か“1”かで良かった)と、
『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすか否かを判定する判定部(第1の判定部420に相当)と、
この判定部の判定結果が、『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすことを示す場合、前記保持部に保持されたデータを出力した後に、今回並べ替えられたデータを前記保持部に保持させ、判定部の判定結果が、『ScanTotals[i-1]<ScanTotals[i]+L』であることを示す場合には、今回並べ替えられたデータを出力した後に、保持部に保持されたデータを出力する選択部(選択部412に相当)を備えればよい。
このようにすると、本第3の実施形態はM個(2≦M)のスキャン変換部を並列に処理させることができる。
なお、先に説明した統計情報更新部403とスキャン順序更新部404の構成は、一例であり、本発明に限定されるものではない。また本実施形態ではスキャン変換を想定して説明した。逆スキャン変換の場合は、第2の実施形態と同様に、有意係数検出部の入力データは、変換部の入力データとなる。その他の処理部は、スキャン変換と同様の処理であるため、説明を省略する。
以上説明したように、本第3の実施形態により、入力タイミングに関係なく、出力タイミングを制御することで、スキャン順序が異なる複数のブロックを同時にスキャン変換を施すことが可能となる。
また、実施形態では、デジタルカメラに適用する例を説明したが、デジタルカメラに限定されないことは明らかであり、符号化部1211を単体の画像符号化装置としても構わないことも勿論である。
また、実施形態では1ブロックのサイズを4×4のサイズとしたが、これは一例であり、一般的にn行m列にも適用できる。

Claims (8)

  1. 2次元配列のN個のデータで構成されるブロック内をスキャンし、有意データを前方、非有意データを後方に偏るように1次元配列データに並べ替えるスキャン変換装置であって、
    前記ブロック内の各データの位置を示す位置情報と、当該各データの位置における有意データとなる出現頻度を示す統計情報とをペアにして、前記統計情報について降順に並べられた並び替え情報を設定する設定手段と、
    それぞれが、与えられたブロックを構成するN個のデータを、前記並べ替え情報における前記位置情報に従って該当するデータを順番に読出し、1次元配列データとして出力すると共に、読出したデータが有意データであるか否かを示す情報を出力する、互いに並列に実行が可能なM個(2≦M≦N/2)のスキャン変換手段と、
    前記M個のスキャン変換手段のいずれかから、第i番目のデータが有意データであることを示す情報が出力されたとき、前記第i番目の位置に対応する統計情報を更新する統計情報更新手段と、
    該統計情報更新手段による更新結果、更新対象となった統計情報と順位が1つ前の統計情報との関係が非降順関係となった場合、非降順関係になった統計情報を持つ2つの並び替え情報を交換する交換手段と、
    前記M個のスキャン変換手段のそれぞれは、第1乃至第Mのスキャン変換手段として優先順位が割り当てられ、それぞれのスキャン変換手段を、それぞれより1つ順位が高いスキャン変換手段よりも、少なくとも2つのデータ分だけ遅いタイミングで、データのスキャンを開始させる制御手段と
    を備えることを特徴とするスキャン変換装置。
  2. 画像データを符号化する画像符号化装置であって、
    画像をn行m列より構成されるブロックの単位に分割する画像分割手段と、
    前記画像分割手段より出力されるブロックの単位で直交変換を施し、変換係数を出力する直交変換手段と、
    前記直交変換手段により出力されるM個のブロックの変換係数を、並列に並び替える請求項1に記載のスキャン変換装置と、
    前記スキャン変換装置より出力されるM個のブロックの変換係数に対して、エントロピー符号化を施し符号化ストリームを出力するエントロピー符号化手段と
    を有することを特徴とする画像符号化装置。
  3. 2次元配列のN個のデータで構成されるブロック内をスキャンし、有意データを前方、非有意データを後方に偏るように1次元配列データに並べ替えるスキャン変換装置であって、
    前記ブロック内の各データの位置を示す位置情報と、当該各データの位置における有意データとなる出現頻度を示す統計情報とをペアにして、前記統計情報について降順に並べられた並び替え情報を設定する設定手段と、
    それぞれが、与えられたブロックを構成するN個のデータを、前記並べ替え情報における前記位置情報に従って該当するデータを順番に読出し、1次元配列データとして出力すると共に、読出したデータが有意データであるか否かを示す情報を出力する、互いに並列に実行が可能なM個(2≦M)のスキャン変換手段と、
    前記M個のスキャン変換手段が並列に第i番目のデータを並べ替えした際に、当該第i番目のデータが有意データであることを示す情報を出力したスキャン変換手段の個数に対応して、前記第i番目の位置に対応する統計情報を更新する統計情報更新手段と、
    該統計情報更新手段による更新結果、更新対象となった統計情報と順位が1つ前の統計情報との関係が非降順関係となった場合、非降順関係になった統計情報を持つ2つの並び替え情報を交換する交換手段とを備え、
    前記M個のスキャン変換手段のそれぞれは、第1乃至第Mのスキャン変換手段として優先順位が割り当てられ、それぞれのスキャン変換手段は、
    第i番目のデータを並べ替え行う際の直前のタイミングで並べ替えを行ったデータを保持する保持手段と、
    第i番目のデータが有意データであることを示す情報を出力した、自身より高い優先順位にあるスキャン変換手段の個数をL、第i番目の統計情報をScanTotals[i]としたとき、『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすか否かを判定する判定手段と、
    該判定手段の判定結果が、『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすことを示す場合、前記保持手段に保持されたデータを出力した後に、今回並べ替えられたデータを前記保持手段に保持させ、
    前記判定手段の判定結果が、『ScanTotals[i-1]<ScanTotals[i]+L』であることを示す場合、今回並べ替えられたデータを出力する選択手段と
    を備えることを特徴とするスキャン変換装置。
  4. 画像データを符号化する画像符号化装置であって、
    画像をn行m列より構成されるブロックの単位に分割する画像分割手段と、
    前記画像分割手段より出力されるブロックの単位で直交変換を施し、変換係数を出力する直交変換手段と、
    前記直交変換より出力されるM個のブロックの変換係数を、並列に並び替える請求項3に記載のスキャン変換装置と、
    前記スキャン変換装置より出力されるM個のブロックの変換係数に対して、エントロピー符号化を施し符号化ストリームを出力するエントロピー符号化手段と
    を有することを特徴とする画像符号化装置。
  5. 与えられたブロックを構成するN個のデータを、前記並べ替え情報における前記位置情報に従って該当するデータを順番に読出し、1次元配列データとして出力すると共に、読出したデータが有意データであるか否かを示す情報を出力する、互いに並列に実行が可能なM個(2≦M≦N/2)のスキャン変換手段を有し、2次元配列のN個のデータで構成されるM個のブロック内を並列に、有意データを前方、非有意データを後方に偏るように1次元配列データに並列に並べ替えるスキャン変換装置の制御方法であって、
    設定手段が、前記ブロック内の各データの位置を示す位置情報と、当該各データの位置における有意データとなる出現頻度を示す統計情報とをペアにして、前記統計情報について降順に並べられた並び替え情報を設定する設定工程と、
    統計情報更新手段が、前記M個のスキャン変換手段のいずれかから、第i番目のデータが有意データであることを示す情報が出力されたとき、前記第i番目の位置に対応する統計情報を更新する統計情報更新工程と、
    交換手段が、該統計情報更新工程による更新結果、更新対象となった統計情報と順位が1つ前の統計情報との関係が非降順関係となった場合、非降順関係になった統計情報を持つ2つの並び替え情報を交換する交換工程と、
    制御手段が、前記M個のスキャン変換手段のそれぞれは、第1乃至第Mのスキャン変換手段として優先順位が割り当てられ、それぞれのスキャン変換手段を、それぞれより1つ順位が高いスキャン変換手段よりも、少なくとも2つのデータ分だけ遅いタイミングで、データのスキャンを開始させる制御工程と
    を備えることを特徴とするスキャン変換装置の制御方法。
  6. 画像データを符号化する画像符号化装置の制御方法であって、
    画像分割手段が、画像をn行m列より構成されるブロックの単位に分割する画像分割工程と、
    直交変換手段が、前記画像分割工程より出力されるブロックの単位で直交変換を施し、変換係数を出力する直交変換工程と、
    処理手段が、前記直交変換工程より出力されるM個のブロックの変換係数を、並列に並び替える請求項1に記載のスキャン変換装置に供給する処理工程と、
    エントロピー符号化手段が、前記スキャン変換装置より出力されるM個のブロックの変換係数に対して、エントロピー符号化を施し符号化ストリームを出力するエントロピー符号化工程と
    を有することを特徴とする画像符号化装置の制御方法。
  7. 与えられたブロックを構成するN個のデータを、前記並べ替え情報における前記位置情報に従って該当するデータを順番に読出し、1次元配列データとして出力すると共に、読出したデータが有意データであるか否かを示す情報を出力する、互いに並列に実行が可能なM個(2≦M)のスキャン変換手段を有し、2次元配列のN個のデータで構成されるM個のブロック内を並列に、有意データを前方、非有意データを後方に偏るように1次元配列データに並列に並べ替えるスキャン変換装置の制御方法であって、
    設定手段が、前記ブロック内の各データの位置を示す位置情報と、当該各データの位置における有意データとなる出現頻度を示す統計情報とをペアにして、前記統計情報について降順に並べられた並び替え情報を設定する設定工程と、
    統計情報更新手段が、前記M個のスキャン変換手段が並列に第i番目のデータを並べ替えした際に、当該第i番目のデータが有意データであることを示す情報を出力したスキャン変換手段の個数に対応して、前記第i番目の位置に対応する統計情報を更新する統計情報更新工程と、
    交換手段が、該統計情報更新工程による更新結果、更新対象となった統計情報と順位が1つ前の統計情報との関係が非降順関係となった場合、非降順関係になった統計情報を持つ2つの並び替え情報を交換する交換工程とを備え、
    前記M個のスキャン変換手段のそれぞれは、第1乃至第Mのスキャン変換手段として優先順位が割り当てられ、それぞれのスキャン変換手段は、
    第i番目のデータを並べ替え行う際の直前のタイミングで並べ替えを行ったデータを保持する保持手段と、
    第i番目のデータが有意データであることを示す情報を出力した、自身より高い優先順位にあるスキャン変換手段の個数をL、第i番目の統計情報をScanTotals[i]としたとき、『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすか否かを判定する判定手段と、
    該判定手段の判定結果が、『ScanTotals[i-1]≧ScanTotals[i]+L』の関係を満たすことを示す場合、前記保持手段に保持されたデータを出力した後に、今回並べ替えられたデータを前記保持手段に保持させ、
    前記判定手段の判定結果が、『ScanTotals[i-1]<ScanTotals[i]+L』であることを示す場合、今回並べ替えられたデータを出力する選択手段と
    を備えることを特徴とするスキャン変換装置の制御方法。
  8. 画像データを符号化する画像符号化装置の制御方法であって、
    画像分割手段が、画像をn行m列より構成されるブロックの単位に分割する画像分割工程と、
    直交変換手段が、前記画像分割工程より出力されるブロックの単位で直交変換を施し、変換係数を出力する直交変換工程と、
    処理手段が、前記直交変換工程より出力されるM個のブロックの変換係数を、並列に並び替える請求項3に記載のスキャン変換装置に供給する処理工程と、
    エントロピー符号化手段が、前記スキャン変換装置より出力されるM個のブロックの変換係数に対して、エントロピー符号化を施し符号化ストリームを出力するエントロピー符号化工程と
    を有することを特徴とする画像符号化装置の制御方法。
JP2009118045A 2009-05-14 2009-05-14 スキャン変換装置及び画像符号化装置及びそれらの制御方法 Expired - Fee Related JP5302769B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009118045A JP5302769B2 (ja) 2009-05-14 2009-05-14 スキャン変換装置及び画像符号化装置及びそれらの制御方法
US13/203,719 US8509547B2 (en) 2009-05-14 2010-04-13 Scan conversion apparatus, image encoding apparatus, and control method therefor
PCT/JP2010/056890 WO2010131546A1 (en) 2009-05-14 2010-04-13 Scan conversion apparatus, image encoding apparatus, and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009118045A JP5302769B2 (ja) 2009-05-14 2009-05-14 スキャン変換装置及び画像符号化装置及びそれらの制御方法

Publications (3)

Publication Number Publication Date
JP2010268243A JP2010268243A (ja) 2010-11-25
JP2010268243A5 JP2010268243A5 (ja) 2012-05-31
JP5302769B2 true JP5302769B2 (ja) 2013-10-02

Family

ID=43084923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118045A Expired - Fee Related JP5302769B2 (ja) 2009-05-14 2009-05-14 スキャン変換装置及び画像符号化装置及びそれらの制御方法

Country Status (3)

Country Link
US (1) US8509547B2 (ja)
JP (1) JP5302769B2 (ja)
WO (1) WO2010131546A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2182732A1 (en) * 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JP2012129888A (ja) * 2010-12-16 2012-07-05 Samsung Electronics Co Ltd 画像符号化装置及び画像符号化方法
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US20120230418A1 (en) 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US9239850B2 (en) * 2011-11-18 2016-01-19 Nec Corporation Feature descriptor encoding apparatus, feature descriptor encoding method, and program
JP6081862B2 (ja) * 2013-05-15 2017-02-15 株式会社シキノハイテック 画像符号化装置
KR20140137506A (ko) * 2013-05-22 2014-12-03 한국전자통신연구원 3차원 발광 장치를 이용한 데이터의 다차원 시각화 방법 및 장치
JP6081869B2 (ja) * 2013-06-20 2017-02-15 株式会社シキノハイテック 画像復号化装置
US20160224503A1 (en) * 2015-02-04 2016-08-04 CommScope Connectivity Belgium BVBA Adaptive, predicative, and intelligent scanning of items in a physical layer management system
FR3033116B1 (fr) * 2015-02-20 2017-03-24 Stmicroelectronics (Grenoble 2) Sas Procede de selection d’une solution de placement des pixels d’une image en fonction du rendu visuel
US20180005059A1 (en) * 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US11457239B2 (en) * 2017-11-09 2022-09-27 Google Llc Block artefact reduction

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2240231B (en) 1990-01-19 1994-03-30 British Broadcasting Corp High definition television coder/decoder
US5714950A (en) * 1992-07-23 1998-02-03 Samsung Electronics Co., Ltd. System for variable-length-coding and variable-length-decoding digitaldata
JPH0750836A (ja) 1993-08-06 1995-02-21 Sharp Corp 画像符号化装置
US6141446A (en) 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
US6426975B1 (en) 1997-07-25 2002-07-30 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing apparatus and data recording medium
SE512291C2 (sv) 1997-09-23 2000-02-28 Ericsson Telefon Ab L M Inbäddad DCT-baserad stillbildskodningsalgoritm
WO1999044368A1 (en) 1998-02-27 1999-09-02 Kanebo Limited Image data processing device and processing method
JP3168183B2 (ja) * 1998-03-05 2001-05-21 カネボウ株式会社 データ処理装置
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
KR100468844B1 (ko) * 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
US7006699B2 (en) * 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
JP3925298B2 (ja) 2002-05-14 2007-06-06 日本電気株式会社 タイムシフト再生時間制御方法および情報再生装置
JP2004348706A (ja) 2003-04-30 2004-12-09 Canon Inc 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム
EP1530373A2 (en) 2003-11-06 2005-05-11 Matsushita Electric Industrial Co., Ltd. Memory arrangement for a quick read access to image blocks according to a different scan order
JP4559785B2 (ja) 2003-11-06 2010-10-13 パナソニック株式会社 信号処理方法および信号処理装置
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP4460521B2 (ja) 2005-11-07 2010-05-12 日本電信電話株式会社 直交変換係数のスキャン方法,逆スキャン方法,スキャン装置,逆スキャン装置,およびそのプログラム並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7852515B2 (en) 2007-06-05 2010-12-14 Xerox Corporation Infrared encoding for embedding multiple variable data information collocated in printed documents
US8353592B2 (en) 2009-07-31 2013-01-15 Zamtec Ltd Wide format printer with media encoder in the platen
JP5520122B2 (ja) 2010-04-14 2014-06-11 キヤノン株式会社 データ変換装置

Also Published As

Publication number Publication date
US8509547B2 (en) 2013-08-13
JP2010268243A (ja) 2010-11-25
US20120177298A1 (en) 2012-07-12
WO2010131546A1 (en) 2010-11-18

Similar Documents

Publication Publication Date Title
JP5302769B2 (ja) スキャン変換装置及び画像符号化装置及びそれらの制御方法
JP5620641B2 (ja) 適応型走査を用いる動画の符号化/復号化装置及びその方法
JP5004986B2 (ja) スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5520122B2 (ja) データ変換装置
US20150288974A1 (en) Video acquisition and processing systems
WO2009139123A1 (ja) 画像処理装置およびそれを搭載した撮像装置
WO2014010224A1 (ja) 動画像圧縮装置、動画像復号装置、画像圧縮装置、画像復号装置、撮像装置およびプログラム
WO2019142821A1 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、および復号プログラム
JP5421609B2 (ja) スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5995622B2 (ja) 動画像符号化装置、動画像符号化方法およびプログラム
JP2011147193A (ja) 動画像符号化装置、動画像復号装置
JP3990392B2 (ja) 可変長復号化装置、可変長復号化方法および撮像システム
JP2007074337A (ja) 符号化装置及び符号化方法
JP6946671B2 (ja) 画像処理装置及び画像処理方法
JP2005167655A (ja) 変換符号化方法および変換復号化方法
JP5974691B2 (ja) 動画像圧縮装置、撮像装置およびプログラム
JP2019004439A (ja) 符号化装置、撮像装置および符号化方法
US9762926B2 (en) Image processing device and image processing method, program, and imaging apparatus
JP2011055023A (ja) 画像符号化装置及び画像復号化装置
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2018191136A (ja) 符号化装置、符号化方法およびプログラム
JP5974692B2 (ja) 動画像復号装置およびプログラム
JP2017098753A (ja) 符号化装置、撮像装置、符号化装置の制御方法、プログラム及び記憶媒体
JP2015005939A (ja) 画像処理装置および方法、プログラム、並びに撮像装置
JP2007166555A (ja) 符号化装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120410

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130621

R151 Written notification of patent or utility model registration

Ref document number: 5302769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees