(57)【要約】【課題】符号化部内の下位データ処理部の処理時間を短縮することで、全体的な処理効率を高めることが可能な画像符号化装置を提供する。【解決手段】画像符号化装置は、色空間変換部、周波数変換部、量子化部、係数予測部、適応型スキャン部、ＶＬＣ符号化部１０及びビットストリーム出力部とを備える。ＶＬＣ符号化部１０は、上位データの抽出・符号化処理を実施する上位データ処理部１４と下位データの抽出・連接処理を並列に実施する下位データ処理部２０を供え、前記下位データ処理部２０は、サインフラグ要否並列判定部２５、下位データ並列連接部２６、連接シフト量並列算定部２７から構成される。【選択図】図２
2015050501.tif 000002
【特許請求の範囲】
【請求項１】
画像データを所定画素数のブロック単位で周波数変換して上位部分と下位部分とから成る係数データに係数化する周波数変換部と、
前記周波数変換部により係数化されたブロック単位のｎ個の係数データを量子化する量子化部と、
前記量子化部により量子化されたブロック単位のｎ個の係数データを入替処理する適応型スキャン部と、
前記入替後の前記係数データから前記上位部分のデータを抽出して符号化する上位データ処理部、並びにブロック単位のｎ個の前記係数データから並列的にそれぞれ前記下位部分のデータＬ（ｉ）を抽出して、ブロック単位のｎ個の前記下位データＬ（ｉ）を前記適応型スキャン部で入力入替処理した、１からｎの順に順次連接する下位データ処理部を有する符号化部とを備えた画像符号化装置において、
前記下位データ処理部は、前記下位データＬ（ｉ）の正負を示すサインフラグＳ（ｉ）の生成、並びに前記サインフラグＳ（ｉ）が必要であるか否かを示すサインフラグ要否Ｈ（ｉ）の生成を１〜ｎについて並列的に行うサインフラグ要否並列判定部と、
前記サインフラグ要否Ｈ（ｉ）を用いて、下位データＬ（ｉ）とサインフラグＳ（ｉ）とを、１〜ｎについて並列的に連接する下位データ並列連接部とを備えて構成されることを特徴とする画像符号化装置。
但し、前記ｎは２以上の整数であり、前記ｉは１〜ｎの整数である。
【請求項２】
前記下位データ処理部は、さらに、前記下位データを連接する際に、連接する該下位データＬ（ｉ）のビット長、並びにサインフラグＳ（ｉ）のビット長に基づいて、シフト量を並列的に算出する連接シフト量並列算定部を備え、
前記サインフラグ要否Ｈ（ｉ）及び、前記連接シフト量並列算定部で算定したシフト量を用いて、下位データＬ（ｉ）とサインフラグＳ（ｉ）とを連接したデータを１〜ｎについて左シフトしつつ並列的に連接する下位データ並列連接部とを備えて構成されることを特徴とする請求項１記載の画像符号化装置。
但し、前記ｎは２以上の整数であり、前記ｉは１〜ｎの整数である。
【請求項３】
前記下位データ処理部は、それぞれ、ブロック単位のｎ個の下位データＬ（ｉ）群を、１つのサイクルでの処理数をｍ個として、１つのサイクル又は複数のサイクルの繰り返しで処理するように構成されていることを特徴とする請求項１記載の画像符号化装置。
但し、前記ｎは２以上の整数であり、ｉは１〜ｎの整数である。また、前記ｍは、２以上ｎ以下の整数であり、処理の繰り返しが、１つのサイクルで終了するものであるときは、ｍとｎは等しくなる。
【請求項４】
前記下位データ処理部は、それぞれ、ブロック単位のｎ個の下位データＬ（ｉ）群を、１つのサイクルでの処理数をｍ個として、１つのサイクル又は複数のサイクルの繰り返しで処理するように構成されていることを特徴とする請求項２記載の画像符号化装置。
但し、前記ｎは２以上の整数であり、ｉは１〜ｎの整数である。また、前記ｍは、２以上ｎ以下の整数であり、処理の繰り返しが、１つのサイクルで終了するものであるときは、ｍとｎは等しくなる。
【請求項５】
請求項３記載の画像符号化装置であって、
前記下位データ並列連接部は、順次接続される第１段〜第Ｎ段までのＮ段の連接部を備え、各連接部の内部に連接器を有し、第１段連接部の連接器の個数が１〜ｍまでのｍ個で、順次、次段連接部の連接器の個数は前段連接部の連接器の個数の半分以下となり、第Ｎ段連接部の連接器の個数は１個となって、連接部全体の連接器の総数が（２ｍ−１）個となるように構成され、
第１段の連接部の各連接器は、それぞれ、３つの入力ポートＡ，Ｂ，Ｃおよび１つの出力ポートＤを有し、入力ポートＣに入力されたデータが１であれば、入力ポートＡに入力されたデータと入力ポートＢに入力されたデータとを入力ポートＡ，Ｂの順に連接して、出力ポートＤに出力し、入力ポートＣに入力されたデータが０であれば、入力ポートＡに入力されたデータをそのまま出力ポートＤに出力するものであり、
また、第２段以降の連接部の各連接器は、それぞれ、２つの入力ポートＡ，Ｂおよび１つの出力ポートＤを有し、入力ポートＡに入力されたデータと入力ポートＢに入力されたデータとを入力ポートＡ，Ｂの順に連接して、出力ポートＤに出力するものであり、
第１段連接部の１〜ｍまでの連接器は、１〜ｍまで並列的に連接処理され、入力ポートＡに前記下位データＬ（ａ）を入力し、入力ポートＢに前記サインフラグＳ（ａ）を入力して、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）が要である１なら、前記下位データＬ（ａ）と前記サインフラグＳ（ａ）を連接して出力ポートＤに出力し、前記サインフラグ要否Ｈ（ａ）が否である０なら、前記下位データＬ（ａ）を出力ポートＤに出力し、
第１段連接部の１〜ｍの連接器で連接した出力ポートＤのデータについて、隣接する連接出力データで対を作りながら、その出力データを次段の連接器の入力ポートＡと入力ポートＢに入力し、同段の出力ポートＤにその連接データを出力し、次段以降第Ｎ段まで、同様に隣接する連接出力データで対を作りながら、その出力データの連接を繰り返し、第Ｎ段連接部の連接器の出力ポートＤで第１段連接部の各連接器の出力ポートＤの連接データが１〜ｍの連接の並び順になるよう、１つの連接データを形成するように構成されていることを特徴とする画像符号化装置。
但し、前記Ｎは２以上の整数であり、前記ｍは２以上ｎ以下の整数である。また、前記ａは、ｓ＋（ｒ−１）×ｍで表される整数であり、前記ｓは１〜ｍまでの整数で、前記ｒは１以上の繰り返し回数である。
【請求項６】
請求項４記載の画像符号化装置であって、
前記連接シフト量並列算定部は、１つのサイクルでシフトされる複数のシフト量を、連接されるべきデータが有する連接された下位データの連接繰り返し数分のビット幅の値と連接された各サインフラグ要否Ｈ（ａ）の値を並列的に加算して算定し、
前記下位データ並列連接部は、順次接続される第１段〜第Ｎ段までのＮ段の連接部を備え、各連接部の内部に連接器を有し、第１段連接部の連接器の個数が１〜ｍまでのｍ個で、順次、次段連接部の連接器の個数は前段連接部の連接器の個数の半分以下となり、第Ｎ段連接部の連接器の個数は１個となって、連接部全体の連接器の総数は（２ｍ−１）個となるように構成され、
各連接器は、それぞれ、３つの入力ポートＡ，Ｂ，Ｃおよび１つの出力ポートＤを有し、入力ポートＡに入力されたデータを、入力ポートＣに入力されたシフト量の値で左シフトし、入力ポートＢに入力されたデータを入力ポートＡに入力されたデータの右側の、シフトされた領域に連接して、出力ポートＤに出力するものであり、
第１段連接部の１〜ｍまでの連接器は、１〜ｍまで並列的に連接処理され、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）の０又は１の値をシフト量として、入力ポートＡに入力された下位データＬ（ａ）を左シフトし、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）が要である１なら、前記下位データＬ（ａ）の右に前記サインフラグＳ（ａ）を連接して出力ポートＤに出力し、前記サインフラグ要否Ｈ（ａ）が否である０なら、前記下位データＬ（ａ）をそのまま出力ポートＤに出力し、
第１段連接部の１〜ｍの連接器で連接した出力ポートＤのデータについて、隣接する連接出力データで対を作りながら、その出力データを次段の連接器の入力ポートＡと入力ポートＢに入力し、前記連接シフト量並列算定部から入力ポートＣに、入力ポートＡのデータに対するシフト量を入力しつつ、同段の出力ポートＤにその連接データを出力し、次段以降第Ｎ段まで、同様に隣接する連接出力データで対を作りながら、その出力データの連接を繰り返し、第Ｎ段連接部の連接器の出力ポートＤで第１段連接部の各連接器の出力ポートＤの連接データを１〜ｍの連接の並び順になるよう、１つの連接データを形成するように構成されていることを特徴とする画像符号化装置。
但し、前記Ｎは２以上の整数であり、前記ｍは２以上ｎ以下の整数である。また、前記ａは、ｓ＋（ｒ−１）×ｍで表される整数であり、前記ｓは１〜ｍまでの整数で、前記ｒは１以上の繰り返し回数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮して符号化する画像符号化装置に関する。
【背景技術】
【０００２】
従来、通信における負担等の軽減を目的として、画像データを圧縮し、符号化する画像符号化装置が知られている。そして、近年では、より高い圧縮率で圧縮可能な符号化の規格が提案されている（非特許文献１参照）。
【０００３】
前記規格に従った画像符号化装置の概略構成を図７に示す。同図７に示すように、この画像符号化装置１００は、色空間変換部１１０と、周波数変換部１２０と、量子化部１３０と、係数予測部１４０と、適応型スキャン部１５０と、ＶＬＣ符号化部１６０と、ビットストリーム出力部１７０とからなる。なお、前記ＶＬＣ符号化部１６０の名称中のＶＬＣは、Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇの略称で可変長符号化方式のことである。
【０００４】
画像データは、画像の最小単位である画素（ピクセル）で構成される。そして、１６画素（水平方向）×１６画素（垂直方向）の２５６画素からなる画素領域をマクロブロック、そのマクロブロックを水平方向，垂直方向にそれぞれ４分割した各４×４画素（１６画素）をブロックと呼び、１つのマクロブロックには１６個のブロックが含まれている。
【０００５】
前記色空間変換部１１０は、入力された画像データをマクロブロック単位で画素毎に処理し、変換した画素データを周波数変換部１２０に入力する。色空間変換は、非特許文献１の規格で定められた画像の形式を表わすピクセルフォーマットというものに依存し、そのピクセルフォーマットが変換を必要とするものである場合には、原画像データがＲＧＢフォーマットである画像は、ＹＵＶフォーマットに変換され、原画像データがＣＭＹＫフォーマットである画像は、ＹＵＶＫフォーマットに変換される。また、そのピクセルフォーマットが色空間変換を必要とするものでない場合には、色空間変換されず、次段以降の画像処理に用いるために、そのピクセルフォーマットの変換処理内容に応じて処理された画像データを出力する。尚、以降の画像変換処理は、マクロブロック単位で色成分順に扱われ、更にマクロブロックではブロック単位で処理される。
【０００６】
前記周波数変換部１２０は、前記色空間変換部１１０によって処理された画像データを、ラスター順にマクロブロック単位で扱われ、更に各マクロブロックでは、ブロック単位で処理を実行し、各画素のデータを周波数帯域毎の係数データに変換する処理（周波数変換）を行う。この周波数変換部１２０は、マクロブロック内の１６個の各ブロックの１６画素に対して周波数変換を施し、周波数変換後の各ブロックの左上の１画素がブランクで、残り１５画素がＨＰ係数である第１階層のデータを形成し、前記第１階層の各ブロックの左上の１画素を集めて４×４画素のブロックを形成し、そのブロックを周波数変換し、周波数変換後のその４×４画素からなるブロックの左上の１画素がブランクで、残り１５画素がＬＰ係数である第２階層のデータと、周波数変換後の前記第２階層の４×４画素からなるブロックデータの左上の１画素をＤＣ係数とした第３階層のデータを生成し、前記第１階層データ（ＨＰ）、前記第２階層データ（ＬＰ）及び前記第３階層データ（ＤＣ）を前記量子化部１３０に入力する。
【０００７】
前記量子化部１３０は、前記周波数変換部１２０により係数化された前記第１階層データ、第２階層データ及び第３階層データを、それぞれ設定された量子化パラメータで除算して量子化する処理を行い、処理後の前記第１階層データ、第２階層データ及び第３階層データを係数予測部１４０に入力する。
【０００８】
前記係数予測部１４０は、前記量子化部１３０から入力された、ブロック毎の前記第１階層データ、第２階層データ及び第３階層データについて、それぞれ、隣接するブロック間の係数値の比較を行って予測モードを導出し、導出された予測モードの方向に、所定の演算式に従って、相関の高いブロック間で減算する処理を行う。そして、処理後の第１階層データ、第２階層データ及び第３階層データをブロック毎に適応型スキャン部１５０に入力する。
【０００９】
前記適応型スキャン部１５０は、第１階層データ及び第２階層データについて、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、周波数変換後のブロック内の画素位置が小さい側（低周波数側）に非ゼロの係数データを集め、ブロック内の画素位置が大きい側（高周波数側）にゼロ値が連続する係数データを集めるので、符号化の圧縮率を高めることができる。係数データが入れ替えられた第１階層データ，第２階層データ及び入替処理が実施されない第３階層データは、前記ＶＬＣ符号化部１６０に出力される。
【００１０】
ＶＬＣ符号化部１６０は、図８に示すように、係数データ記憶部１１１、マクロブロックカウンタ部１１２、モデルビッツ更新部１１３、上位データ処理部１１４、下位データ処理部１１７から構成され、前記上位データ処理部１１４は、上位データ抽出部１１５、上位データ符号化部１１６からなり、前記下位データ処理部１１７は、係数正負判定部１２１、下位データ抽出部１２２、下位データ符号反転部１２３、下位データ選択部１２４、サインフラグ要否判定部１２５、下位データ連接部１２６からなる。
以下、図９に示す下位データ処理部の処理フローの各ステップと照合しながら、説明する。
【００１１】
このＶＬＣ符号化部１６０では、マクロブロック毎にモデルビッツ更新部１１３で更新される（ステップＳ３６）モデルビッツと呼ばれる数値（初期値は、ＤＣ＝８、ＬＰ＝４、ＨＰ＝０）によって、適応型スキャン部１５０から入力された係数データＺ（ｉ）より上位データＵ（ｉ）及び下位データＬ（ｉ）とを抽出する。抽出幅は、図１０に示すように、上位データＵ（ｉ）が、（係数長−モデルビッツ長）、下位データＬ（ｉ）がモデルビッツ長となる。ここで、モデルビッツ長は、モデルビッツ値の大きさを示す。一例として、全係数長が１６ビットで、モデルビッツ長が１２ビットであれば、上位データＵ（ｉ）は、４ビット長、下位データＬ（ｉ）は１２ビット長に抽出されることとなる。なお、非特許文献１の規格では、第１階層データと第２階層及び第３階層データでこの抽出処理幅の名称は異なるが、本項では統一して、モデルビッツと称することとする。
【００１２】
上位データＵ（ｉ）は隣接するマクロブロックやブロック間の係数との相関が高く、係数予測部１４０での差分処理により、０近辺の数値となるため、可変長符号化に対し圧縮率が高くなり、ＶＬＣ（可変長）符号化されるが、下位データＬ（ｉ）は、隣接するマクロブロックやブロック間の係数との相関が低く、前記差分処理によっても、係数にランダム性が残り、可変長符号化してもあまり圧縮されないため、ＶＬＣ（可変長）符号化されず、元のデータのまま、連接してストリームデータとされる。
【００１３】
また、図１１に示すように、モデルビッツにより抽出された下位データＬ（ｉ）は、サインフラグＳ（ｉ）と呼ばれる１ビットの符号データが連接（付加）される場合と、連接されない場合がある。サインフラグＳ（ｉ）が必要となるのは、上位データＵ（ｉ）の値がゼロで、下位データＬ（ｉ）の値が非ゼロの場合であるが、これは、上位データＵ（ｉ）の値がゼロであると、上位データＵ（ｉ）からは係数が正か負か判断できず、かつ、下位データＬ（ｉ）の値がゼロでないときのみ、下位データＵ（ｉ）としての正負が意味をもってくるためである。また、サインフラグＳ（ｉ）が存在するとき、その符号値は係数データが正のときは０の値となり、負のときは１の値となる。なお、サインフラグＳ（ｉ）は、上位データＵ（ｉ）の値がゼロのときの下位データＬ（ｉ）の正負を意味するが、その際の下位データＬ（ｉ）の正負は、係数Ｚ（ｉ）全体の正負と同じものとなり、係数Ｚ（ｉ）の正負を下位データＬ（ｉ）についてのサインビットＳ（ｉ）の正負の値とする取扱いとしてもよい。
【００１４】
非特許文献１における従来技術では、ブロック毎に１係数ずつ、係数データＺ（ｉ）を係数データ記憶部１１１に記憶するとともに、上位データＵ（ｉ）を係数データＺ（ｉ）から抽出しつつ、ＶＬＣ符号化し（ステップＳ２３）、ビットストリーム出力部に入力後、下位データＬ（ｉ）を１係数ずつ下位データ処理部１１７にて処理していく（ステップＳ２５〜Ｓ３２）。
【００１５】
上位データＵ（ｉ）処理時に係数データ記憶部１１１に記憶しておいた係数データＺ（ｉ）を、１係数ずつ（ステップＳ２５）、係数正負判定部１２１に入力して正負判定するとともに（ステップＳ２７）、係数データＺ（ｉ）を１係数ずつ下位データ抽出部１２２にてモデルビッツの長さで、係数データＺ（ｉ）から下位データＬ（ｉ）を抽出する（ステップＳ２６）。
【００１６】
そして、前記正負判定した正負判定情報Ｊ（ｉ）に基づき、下位データ符号反転部１２３及び下位データ選択部１２４を用いて、下位データＬ（ｉ）の値を絶対値化する（ステップＳ２８，Ｓ２９）。この後、サインフラグＳ（ｉ）が必要であれば、絶対値化した下位データＬ（ｉ）に１ビットのサインフラグＳ（ｉ）を連接し（ステップＳ３２）、サインフラグＳ（ｉ）が不要であれば、下位データＬ（ｉ）のままビットストリーム出力部に入力する（ステップＳ３１）。この下位データＬ（ｉ）とサインフラグＳ（ｉ）との連接は、サインフラグＳ（ｉ）が存在する場合にだけ、単に、下位データＬ（ｉ）に１ビットのサインフラグＳ（ｉ）を連接するものである。
【００１７】
サインフラグＳ（ｉ）の要否判定は、サインフラグ要否判定部１２５で実施し、判定した要否判定情報Ｈ（ｉ）をビットストリーム出力部１７０に入力する。また、サインフラグ要否判定部１２５は、前記係数正負判定部からの正負判定情報Ｊ（ｉ）が正なら０、負なら１の１ビットのサインフラグＳ（ｉ）をビットストリーム出力部１７０に入力する。
【００１８】
前記ビットストリーム出力部１７０は、前記ＶＬＣ符号化部１６０から入力された１ブロック分の符号化された上位データＵ（ｉ）をビットストリームに連接後、下位データ連接部１１７より入力された下位データＬ（ｉ）及びサインフラグＳ（ｉ）の連接データをビットストリームに連接し、１画像データ分のビットストリームを１纏めにして１つのファイルを形成し、形成されたファイルを外部に出力する。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】ＪＰＥＧ  ＸＲ勧告書ITU-T T.832 : Information technology -JPEG XR image coding system - Image coding specification. [online].Recommendation T.832(01/12). Approval 2012-01-13. Status : In force.Retrieved from the Internet : <URL : http://www.itu.int/rec/T-REC-T.832-201201-I/en>.
【発明の概要】
【発明が解決しようとする課題】
【００２０】
圧縮対象の画像データは、技術進歩に伴う解像度の向上によって、そのデータ量が急増しており、上記従来の画像符号化装置１００では、データ量の増加によって、その処理に長時間を要するため、更なる効率化が求められている。
【００２１】
特に、前記ＶＬＣ符号化部１６０内の下位データ処理部１１７では、ブロック毎の上位データＵ（ｉ）のＶＬＣ符号化後、下位データＬ（ｉ）に、条件に依存して発生するサインフラグＳ（ｉ）を連接してビットストリーム出力部１７０に入力する処理を、当該処理を１サイクルとして、係数データＺ（ｉ）の個数分だけ、そのサイクルを繰り返す処理を行うので、第１階層データ、第２階層データ及び第３階層データの総数と同じサイクル数だけ処理を繰り返さなければならず、その処理に長時間を要していた。このため、この従来の下位データ処理部１１７の処理は、当該画像符号化装置１００における処理効率を低下させるネック要因の一つになっていた。
【００２２】
この従来のＶＬＣ符号化処理のタイミングを表したものが図１２であり、点線状の楕円で囲んだ部分のＬＰとＨＰの下位データＬ（ｉ）の矢印で表した処理に時間が掛かることが問題となっていた。そこで、図１３のタイミング図のように、点線状の楕円で囲んだ部分の下位データ処理部の矢印で表した処理時間を短縮して、ＶＬＣ符号化器の処理時間、ひいては、画像符号化装置全体の処理時間の高速化を達成することが望まれている。尚、同図１２，図１３に示すように、非特許文献１の規格では、ＨＰの処理は１６ブロック分あり、１６個のブロックでの処理の繰り返しがあるため、特にＨＰにおける下位データＬ（ｉ）の処理時間の短縮が望まれている。
【００２３】
但し、背景技術で述べたように、下位データＬ（ｉ）には、サインフラグＳ（ｉ）が連接する場合と連接しない場合があり、背景技術のように１係数ずつ処理する場合には、実現の際、特に問題とはならないが、このデータ処理を複数の係数で同時に処理する場合には、連接の場合の数が増え、連接処理部の構成に工夫が必要となる。
【００２４】
例えば、４個の係数Ｚ（ｉ）から抽出する下位データＬ（ｉ）を連接処理する場合、図１４に示すように、下位データＬ（ｉ）に対するサインフラグＳ（ｉ）の出現位置（同図１４では、サインフラグ（１），サインフラグ（２），サインフラグ（３），サインフラグ（４）と記載している部分）を考慮すると、１６通りの連接の組み合わせがあり、これに対応する必要がある。一般に、ｎ個の係数の下位データを連接処理する場合には、２ｎ通りの連接の組み合わせが存在する。非特許文献１の規格におけるブロック単位でのｎが最大値である１５の場合には、３２７６８通りの組み合わせとなり、１５個の係数の並列処理をする場合には、この組み合わせに対応する処理が必要である。
【００２５】
本発明は、以上の実情に鑑み、なされたものであって、ＶＬＣ符号化部における下位データ処理部の処理時間を短縮することで、全体的な処理効率を高めることが可能な画像符号化装置の提供を、その目的とする。
【課題を解決するための手段】
【００２６】
上記課題を解決するため、本発明の画像符号化装置は、
画像データを所定画素数のブロック単位で周波数変換して上位部分と下位部分とから成る係数データに係数化する周波数変換部と、
前記周波数変換部により係数化されたブロック単位のｎ個の係数データを量子化する量子化部と、
前記量子化部により量子化されたブロック単位のｎ個の係数データを入替処理する適応型スキャン部と、
前記入替後の前記係数データから前記上位部分のデータを抽出して符号化する上位データ処理部、並びにブロック単位のｎ個の前記係数データから並列的にそれぞれ前記下位部分のデータＬ（ｉ）を抽出してブロック単位のｎ個の前記下位データＬ（ｉ）を前記適応型スキャン部で入力入替処理した１からｎの順に順次連接する下位データ処理部を有する符号化部とを備えた画像符号化装置において、
前記下位データ処理部は、前記下位データＬ（ｉ）の正負を示すサインフラグＳ（ｉ）の生成、並びに前記サインフラグＳ（ｉ）が必要であるか否かを示すサインフラグ要否Ｈ（ｉ）の生成を１〜ｎについて並列的に行うサインフラグ要否並列判定部と、
前記サインフラグ要否Ｈ（ｉ）を用いて、下位データＬ（ｉ）とサインフラグＳ（ｉ）とを、１〜ｎについて並列的に連接する下位データ並列連接部とを備える。
但し、前記ｎは２以上の整数であり、前記ｉは１〜ｎの整数である。
【００２７】
上記構成を備えた本発明に係る画像符号化装置によれば、ブロック単位のｎ個の係数データから上位部分のデータを抽出して符号化し、ブロック単位のｎ個の係数データから、並列的に、下位部分のデータを抽出し、各下位データＬ（ｉ）に対し、サインフラグＳ（ｉ）の有無を判定し、サインフラグＳ（ｉ）を連接する場合としない場合とを考慮し、処理を一括して実施しようとすると複雑な処理となる下位データの連接処理を１回の処理で並列に実現できるので、従来、単純な１つ１つの連接処理を順次実行していた下位データＬ（ｉ）の連接処理を一括して実行でき、画像符号化装置全体としての処理効率を向上させることができる。
【００２８】
また、本発明の画像符号化装置の下位データ処理部は、上記下位データ処理を、それぞれ、ブロック単位のｎ個の下位データＬ（ｉ）群を、１つのサイクルでの処理数をｍ個として、１つのサイクル又は複数のサイクルの繰り返しで処理する。但し、前記ｎは２以上の整数であり、ｉは１〜ｎの整数である。また、前記ｍは、２以上ｎ以下の整数であり、処理の繰り返しが、１つのサイクルで終了するものであるときは、ｍとｎは等しくなる。
【００２９】
上記構成を備えた本発明に係る画像符号化装置によれば、上記下位データ処理の並列的な実行を１つのサイクルで実行し、又は、上記下位データ処理の並列的な実行が１つのサイクルで実現できない場合であっても、ブロック単位のｎ個の下位データを、１サイクルでｍ個毎に、数回のサイクルに分けて処理することにより、従来ｎ回のサイクルで処理してしたものをｎ／ｍの整数回のサイクルで処理することができる。いずれにしても、従来実施していたサイクル数よりも少ないサイクル数で下位データ処理を実行できるようになる。
【００３０】
さらに、本発明の画像符号化装置の下位データ処理部は、順次接続される第１段〜第Ｎ段までのＮ段の連接部を備え、各連接部の内部に連接器を有し、第１段連接部の連接器の個数が１〜ｍまでのｍ個で、順次、次段連接部の連接器の個数は前段連接部の連接器の個数の半分以下となり、第Ｎ段連接部の連接器の個数は１個となって、連接部全体の連接器の総数が（２ｍ−１）個となるように構成され、
第１段の連接部の各連接器は、それぞれ、３つの入力ポートＡ，Ｂ，Ｃおよび１つの出力ポートＤを有し、入力ポートＣに入力されたデータが１であれば、入力ポートＡに入力されたデータと入力ポートＢに入力されたデータとを入力ポートＡ，Ｂの順に連接して、出力ポートＤに出力し、入力ポートＣに入力されたデータが０であれば、入力ポートＡに入力されたデータをそのまま出力ポートＤに出力するものであり、
また、第２段以降の連接部の各連接器は、それぞれ、２つの入力ポートＡ，Ｂおよび１つの出力ポートＤを有し、入力ポートＡに入力されたデータと入力ポートＢに入力されたデータとを入力ポートＡ，Ｂの順に連接して、出力ポートＤに出力するものであり、
第１段連接部の１〜ｍまでの連接器は、１〜ｍまで並列的に連接処理され、入力ポートＡに前記下位データＬ（ａ）を入力し、入力ポートＢに前記サインフラグＳ（ａ）を入力して、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）が要である１なら、前記下位データＬ（ａ）と前記サインフラグＳ（ａ）を連接して出力ポートＤに出力し、前記サインフラグ要否Ｈ（ａ）が否である０なら、前記下位データＬ（ａ）を出力ポートＤに出力し、
第１段連接部の１〜ｍの連接器で連接した出力ポートＤのデータについて、隣接する連接出力データで対を作りながら、その出力データを次段の連接器の入力ポートＡと入力ポートＢに入力し、同段の出力ポートＤにその連接データを出力し、次段以降第Ｎ段まで、同様に隣接する連接出力データで対を作りながら、その出力データの連接を繰り返し、第Ｎ段連接部の連接器の出力ポートＤで第１段連接部の各連接器の出力ポートＤの連接データが１〜ｍの連接の並び順になるよう、１つの連接データを形成する。但し、前記Ｎは２以上の整数であり、前記ｍは２以上ｎ以下の整数である。また、前記ａは、ｓ＋（ｒ−１）×ｍで表される整数であり、前記ｓは１〜ｍまでの整数で、前記ｒは１以上の繰り返し回数である。
【００３１】
上記構成を備えた発明に係る画像符号化装置における下位データ並列連接部によれば、順次接続されるＮ段の連接部を備え、隣接する連接出力データで対を作りながら、各段に含まれる連接器の数を、段数が増す毎にほぼ半減させるように構成しているので、連接部の段数Ｎを少なく構成することができ、下位データ処理を１つのサイクルで実行する場合でも、複数のサイクルで処理する場合でも、各１つのサイクル内で処理できる並列連接処理の遅延時間を短縮することが可能となる。
【００３２】
さらに、本発明の画像符号化装置の下位データ処理部は、さらに、前記下位データを連接する際に、連接する該下位データＬ（ｉ）のビット長、並びにサインフラグＳ（ｉ）のビット長に基づいて、シフト量を並列的に算出する連接シフト量並列算定部を備え、
前記サインフラグ要否Ｈ（ｉ）及び、前記連接シフト量並列算定部で算定したシフト量を用いて、下位データＬ（ｉ）とサインフラグＳ（ｉ）とを連接したデータを１〜ｎについて左シフトしつつ並列的に連接する下位データ並列連接部とを備える。但し、前記ｎは２以上の整数であり、前記ｉは１〜ｎの整数である。
【００３３】
上記構成を備えた本発明に係る画像符号化装置によれば、前記下位データ処理部の構成に加えた連接シフト量並列算定部において、下位データ並列連接部で用いるシフト量を並列的に求め、左シフトをしつつ、下位データの連接処理を一括して実現できるので、バレルシフタを用いた連接器で下位データ並列連接部を構成する場合でも、複雑な並列処理となる下位データＬ（ｉ）の連接処理を１回の処理で実現でき、画像符号化装置全体としての処理効率を向上させることができる。
【００３４】
また、本発明の画像符号化装置の下位データ処理部は、その構成に、連接シフト量並列算定部を加えた構成においても、それぞれ、ブロック単位のｎ個の下位データＬ（ｉ）群を、１つのサイクルでの処理数をｍ個として、１つのサイクル又は複数のサイクルの繰り返しで処理する。但し、前記ｎは２以上の整数であり、ｉは１〜ｎの整数である。また、前記ｍは、２以上ｎ以下の整数であり、処理の繰り返しが、１つのサイクルで終了するものであるときは、ｍとｎは等しくなる。
【００３５】
上記下位データ処理部に連接シフト量並列算定部を加えた構成に係る本発明の画像符号化装置においても、１サイクルでの実行、又は、比較的少ない、数回のサイクルで実行することができるので、１つ１つの下位データＬ（ｉ）の連接を、各１つのサイクルで処理してした従来の複数のサイクルでの処理よりも少ないサイクル数で処理することができるようになり、画像符号化装置全体としての処理効率を向上させることができる。
【００３６】
さらに、本発明の画像符号化装置において、
前記連接シフト量並列算定部は、１つのサイクルでシフトされる複数のシフト量を、連接されるべきデータが有する連接された下位データの連接繰り返し数分のビット幅の値と連接された各サインフラグ要否Ｈ（ａ）の値を並列的に加算して算定し、
前記下位データ並列連接部は、順次接続される第１段〜第Ｎ段までのＮ段の連接部を備え、各連接部の内部に連接器を有し、第１段連接部の連接器の個数が１〜ｍまでのｍ個で、順次、次段連接部の連接器の個数は前段連接部の連接器の個数の半分以下となり、第Ｎ段連接部の連接器の個数は１個となって、連接部全体の連接器の総数は（２ｍ−１）個となるように構成され、
各連接器は、それぞれ、３つの入力ポートＡ，Ｂ，Ｃおよび１つの出力ポートＤを有し、入力ポートＡに入力されたデータを、入力ポートＣに入力されたシフト量の値で左シフトし、入力ポートＢに入力されたデータを入力ポートＡに入力されたデータの右側の、シフトされた領域に連接して、出力ポートＤに出力するものであり、
第１段連接部の１〜ｍまでの連接器は、１〜ｍまで並列的に連接処理され、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）の０又は１の値をシフト量として、入力ポートＡに入力された下位データＬ（ａ）を左シフトし、入力ポートＣに入力された前記サインフラグ要否Ｈ（ａ）が要である１なら、前記下位データＬ（ａ）の右に前記サインフラグＳ（ａ）を連接して出力ポートＤに出力し、前記サインフラグ要否Ｈ（ａ）が否である０なら、前記下位データＬ（ａ）をそのまま出力ポートＤに出力し、
第１段連接部の１〜ｍの連接器で連接した出力ポートＤのデータについて、隣接する連接出力データで対を作りながら、その出力データを次段の連接器の入力ポートＡと入力ポートＢに入力し、前記連接シフト量並列算定部から入力ポートＣに、入力ポートＡのデータに対するシフト量を入力しつつ、同段の出力ポートＤにその連接データを出力し、次段以降第Ｎ段まで、同様に隣接する連接出力データで対を作りながら、その出力データの連接を繰り返し、第Ｎ段連接部の連接器の出力ポートＤで第１段連接部の各連接器の出力ポートＤの連接データを１〜ｍの連接の並び順になるよう、１つの連接データを形成する。
但し、前記Ｎは２以上の整数であり、前記ｍは２以上ｎ以下の整数である。また、前記ａは、ｓ＋（ｒ−１）×ｍで表される整数であり、前記ｓは１〜ｍまでの整数で、前記ｒは１以上の繰り返し回数である。
【００３７】
前記連接シフト量並列算定部を加えた構成に係る前記下位データ処理部においても、前記下位データ並列連接部は、順次接続されるＮ段の連接部を備え、隣接する連接出力データで対を作りながら、各段に含まれる左シフト機能を有する連接器の数を、段数が増す毎にほぼ半減させるように構成しているので、連接部の段数Ｎを少なく構成することができ、下位データ処理を、１つのサイクルで処理する場合でも、複数のサイクルで処理する場合でも、各１つ１つのサイクルで処理できる並列連接処理の遅延時間を短縮することが可能となる。
【発明の効果】
【００３８】
下位データＬ（ｉ）の抽出・連接処理を並列的に実施する符号化部の下位データ処理部において、その処理を並列化し、１つのサイクル又は比較的少ない数回のサイクルに分割して実施することができるので、下位データ処理部の処理に掛かるサイクル数を少なくでき、画像符号化装置全体の処理速度を向上できる。また、順次接続されるＮ段の連接部を備え、隣接する連接出力データで対を作りながら、各段に含まれる連接器の数を段数が増す毎にほぼ半減させるように構成しているので、連接部の段数Ｎを少なく構成することができ、下位データ処理部自体の遅延時間も短縮することが可能となる。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態に係る画像符号化装置の概略構成を示したブロック図である。
【図２】本実施形態に係るＶＬＣ符号化部の構成を示したブロック図である。
【図３】本実施形態に係るサインフラグ要否並列判定部の構成を示したブロック図である。
【図４】本実施形態に係る連接シフト量並列算定部の構成を示したブロック図である。
【図５】本実施形態に係る下位データ並列連接部の構成を示したブロック図である。
【図６】本実施形態に係るＶＬＣ符号化部における処理手順を示したフローチャートである。
【図７】従来の画像符号化装置の概略構成を示したブロック図である。
【図８】従来のＶＬＣ符号化部の構成を示したブロック図である。
【図９】従来のＶＬＣ符号化部における処理手順を示したフローチャートである。
【図１０】従来のＶＬＣ符号化部の上位データと下位データの抽出の一例を説明するための説明図である。
【図１１】従来のＶＬＣ符号化部の下位データとサインフラグの連接の一例を説明するための説明図である。
【図１２】従来のＶＬＣ符号化部におけるタイミングチャートの一例を説明するための説明図である。
【図１３】課題解決となるＶＬＣ符号化部におけるタイミングチャートの一例を説明するための説明図である。
【図１４】４個の下位データを連接する際の下位データとサインフラグの出現の組み合わせを説明するための説明図である。
【発明を実施するための形態】
【００４０】
以下、本発明の具体的な実施形態について、図面を参照しながら説明する。尚、図１は本実施形態に係る画像符号化装置１の構成を示したブロック図である。
【００４１】
図１に示すように、本例の画像符号化装置１は、図７の従来の画像符号化装置１００におけるＶＬＣ符号化部１６０に替えて、これとはその構成が異なるＶＬＣ符号化部１０を備えるもので、この点においてのみ、従来の画像符号化装置１００とその構成が異なっている。したがって、他の構成については、上記画像符号化装置１００におけるものと同一の符号を付して、その詳しい説明は省略する。
【００４２】
前記ＶＬＣ符号化部１０は、図２に示すように、係数データ記憶部１１、マクロブロックカウンタ部１２、モデルビッツ更新部１３、上位データ処理部１４、及び下位データ処理部２０から構成され、前記上位データ処理部１４は、上位データ抽出部１５、上位データ符号化部１６から成り、前記下位データ処理部２０は、係数正負並列判定部２１、下位データ並列抽出部２２、下位データ並列符号反転部２３、下位データ並列選択部２４、サインフラグ要否並列判定部２５、下位データ並列連接部２６、及び連接シフト量並列算定部２７から成る。
【００４３】
このＶＬＣ符号化部１０においても、上述したＶＬＣ符号化部１６０と同様に、前記適応型スキャン部１５０から出力される第１階層データ及び第２階層データについて、マクロブロック単位で扱われ、更に各マクロブロックでは、ブロック単位で処理を行う。尚、以下では、第１階層データの処理について説明するが、第２階層データの処理についても同様である。
【００４４】
以上の構成を備えた本例の画像符号化装置１によれば、まず、外部から前記色空間変換部１１０に１画像分の画像データが入力され、画像データのピクセルフォーマットに依存し、画像データが色空間変換され、又は色空間変換されず、前記色空間変換部１１０での処理を経由した画像データが周波数変換部１２０に入力される。
【００４５】
周波数変換部１２０は、マクロブロック単位（１６×１６画素）を細分化したブロック単位（４×４画素）で、ラスター方向に順次処理して行き、各画素のデータを周波数帯域毎の係数に変換する処理を行い、処理後の第１階層データ（ＨＰ）、第２階層データ（ＬＰ）及び第３階層データ（ＤＣ）をブロック毎に量子化部１３０に入力する。
【００４６】
量子化部１３０は、周波数変換部１２０により係数化された第１階層データ、第２階層データ及び第３階層データを、それぞれ設定された量子化パラメータで除算して量子化する処理を行い、処理後の第１階層データ、第２階層データ及び第３階層データを係数予測部１４０に入力する。
【００４７】
前記係数予測部１４０は、同じくブロック毎の第１階層データ、第２階層データ及び第３階層データについて予測モードを導出するとともに、相関の高いブロック間で減算する処理を行い、処理後の第１階層データ、第２階層データ及び第３階層データをブロック毎に適応型スキャン部１５０に入力する。
【００４８】
適応型スキャン部１５０は、第１階層データ及び第２階層データについて、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、周波数変換後、ブロック内の画素位置が小さい側（低周波数側）に非ゼロの係数を集め、ブロックの画素位置が大きい側（高周波数側）にゼロ値が連続する係数データを集めることで符号化の圧縮率を高めることができる。係数データが入れ替えられた第１階層データ，第２階層データ及び入替処理が実施されない第３階層データは、前記ＶＬＣ符号化部１０に出力される。
【００４９】
本実施形態に係るＶＬＣ符号化処理部１０も、従来のＶＬＣ符号化処理部１６０と同様、前記適応型スキャン部１５０から出力された第１階層データ、２階層データ及び第３階層データに対して、上位データをブロック毎にＶＬＣ符号化し、ビットストリーム出力部に入力後、１係数ずつ、下位データ処理部２０にて下位データを処理していく。
【００５０】
図２における、ＶＬＣ符号化部１０の構成と動作を説明するが、下位データ処理部２０以外のＶＬＣ符号化部の構成および動作は、従来技術とほぼ同様であるので、簡単に説明し、下位データ処理部２０の動作を詳述する。また、図６に示すＶＬＣ符号化の処理フローの各ステップと照合しながら説明する。なお、本実施形態における画像符号化装置の下位データ処理では、１つのサイクルで５個の下位データを処理し、これを３回（３つのサイクルで）繰り返し、１つのブロックを処理する場合の例を示す。
【００５１】
前記ＶＬＣ符号化部１０は、前記適応型スキャン部１５０から入力されたブロック単位の１５個の係数データを１サイクルで係数データ記憶部１１に記憶する。モデルビッツ更新部１３にて初期設定又は更新されたモデルビッツの値がゼロか否かを判断し（ステップＳ１）、モデルビッツがゼロであれば、係数データＺ（ｉ）の全てを上位データＵ（ｉ）として、上位データ符号化部１６にて、上位データＵ（ｉ）の符号化のみ実施する（ステップＳ２）。
【００５２】
モデルビッツがゼロでなければ、１係数ずつ、モデルビッツの値に従い、上位データ抽出部１５にて、係数データＺ（ｉ）から上位データＵ（ｉ）を抽出し、上位データ符号化部１６にて順次ＶＬＣ符号化して（ステップＳ３）、符号化した可変長符号データとその符号長をビットストリーム出力部１７０に入力する。
【００５３】
なお、モデルビッツの更新は、マクロブロックカウンタ部１２における係数データのカウントがマクロブロック分の数量に達し、かつ、マクロブロックの最後の下位データの連接処理が終了した際に、モデルビッツ更新部１３にて実施される（ステップＳ１５）。
【００５４】
１ブロック分の上位データＵ（ｉ）の符号化が終了後（ステップＳ３）、下位データ処理部２０は、係数データ記憶部１１より、１個目から５個目までの係数データＺ（ｉ）を読み出し（ステップＳ５）、係数正負並列判定部２１にて各係数Ｚ（ｉ）について並列に正負判定する（ステップＳ７）とともに、下位データ並列抽出部２２にて、モデルビッツ更新分１３から入力されるモデルビッツの値を用いて５個の各係数Ｚ（ｉ）の下位データＬ（ｉ）を並列的に抽出する（ステップＳ６）。
【００５５】
下位データ並列抽出部２２により抽出された各下位データＬ（ｉ）は、係数データ判定部２１により判定された各係数Ｚ（ｉ）の判定結果に基づき（ステップＳ８）、下位データＬ（ｉ）そのものか、下位データ並列符号反転部２３により符号反転された下位データＬ（ｉ）（ステップＳ９）のうち一方を、下位データ並列選択部２４により選択して出力する。
【００５６】
その後、サインフラグ要否並列判定部２５は、各下位データＬ（ｉ）に、サインフラグＳ（ｉ）と呼ばれる符号ビットの連接が要か否かを判断し（ステップＳ１０）、サインフラグ要否結果が要ならば、下位データＬ（ｉ）にサインフラグＳ（ｉ）を連接しつつ、否ならば、サインフラグＳ（ｉ）を連接せずに、各下位データＬ（ｉ）を順に連接していく（ステップＳ１１）。
【００５７】
この一連の動作は、サインフラグ要否並列判定部２５にて、各下位データＬ（ｉ）について、並列に要否が判定され、その要否結果と抽出された上位データＵ（ｉ）および下位データＬ（ｉ）の値に基づき、連接シフト量並列算定部２７にて、連接時の各シフト量Ｒ（ｊ）を算定し、そのシフト量算定結果Ｒ（ｊ）とサインフラグ要否判定部２５からの判定結果Ｈ（ｉ）および下位データ並列選択部２４からの選択された下位データＬ（ｉ）を用いて、下位データ並列連接部２６は、各下位データＬ（ｉ）とサインフラグＳ（ｉ）を連接して、ビットストリーム出力部１７０に連接データを入力する（ステップＳ１１）。また、連接シフト量並列算定部２７からは、全連接下位データ長がビットストリームに対するシフト量Ｒ（５）として、ビットストリーム出力部１７０に入力される。
但し、ｊは１〜５までの整数である。
【００５８】
ここで、本発明に係る実施形態の特徴部分であるサインフラグ要否並列判定部２５、連接シフト量並列算定部２７、下位データ並列連接部２６に関し、構成と動作を詳述する。
【００５９】
図３は、サインフラグ要否並列判定部２５の構成図であり、ブロック単位の係数１５個の内、５個ずつを３回の繰り返しで処理する構成となっている。サインフラグ要否並列判定部２５は、５個の係数を処理するため、サインフラグ要否判定部３１〜３５の５個の判定部から構成されている。
【００６０】
サインフラグ要否判定部３１〜３５はそれぞれ、ゼロ判定器３１ａ〜３５ａ、サインフラグ要否判定器３１ｂ〜３５ｂ、非ゼロ判定器３１ｃ〜３５ｃからなり、各入力ポートとして、係数正負判定情報Ｊ（ａ１）〜Ｊ（ａ５）、上位データＵ（ａ１）〜Ｕ（ａ５）、下位データＬ（ａ１）〜Ｌ（ａ５）、各出力ポートとしてサインフラグ要否Ｈ（ａ１）〜Ｈ（ａ５）、サインフラグＳ（ａ１）〜Ｓ（ａ５）を備えている。
【００６１】
尚、入力ポート及び出力ポートに記載したａ１〜ａ５のパラメータは、処理する繰返し回数で異なり、繰返し回数ｒが１のときは、ａ１〜ａ５は、それぞれ１〜５、繰返し回数ｒが２のときは、それぞれ６〜１０、繰返し回数ｒが３のときは、１１から１５の値を取る。
【００６２】
ブロック内の３回の繰返しの内、第一回目の繰返し回数ｒが１の場合について説明すると、サインフラグ要否判定部３１〜３５は、ゼロ判定器３１ａ〜３５ａで上位データ抽出部１５から入力された上位データＵ（１）〜Ｕ（５）がゼロか否かを独立に判定し、その値がゼロであり、かつ、非ゼロ判定器３１ｃ〜３５ｃで下位データ並列選択部２４から入力された下位データＵ（１）〜Ｕ（５）が非ゼロか否かを独立に判定し、その値が非ゼロであれば、それぞれ１〜５に対応したサインフラグＳ（１）〜Ｓ（５）が存在し、サインフラグＳ（１）〜Ｓ（５）の各々が存在する場合には、それぞれ１〜５に対応させてサインフラグ要否Ｈ（１）〜Ｈ（５）に１を連接シフト量並列算定部２７へ入力し、存在しない場合にはそれぞれ１〜５に対応させた０を出力する。また、サインフラグＳ（１）〜Ｓ（５）が存在する場合のサインフラグＳ（１）〜Ｓ（５）の値は、サインフラグ要否判定器３１ｂ〜３５ｂで係数正負並列判定部２１から入力された係数正負判定情報Ｊ（１）〜Ｊ（５）が正の場合には、それぞれ１〜５に対応したサインフラグＳ（１）〜Ｓ（５）として０を下位データ並列連接部２６へ入力し、それぞれ１〜５に対応した係数正負判定情報Ｊ（１）〜Ｊ（５）が負の場合には１を入力する。
【００６３】
以下、繰返し回数ｒが２の場合については、パラメータａ１〜ａ５を６〜１０とし、繰返し回数ｒが３の場合については、パラメータａ１〜ａ５を１１〜１５として同様に動作するが、以下、簡単に説明する。
【００６４】
繰返し回数ｒが２の場合については、上記繰返し回数ｒが１の場合と同様、サインフラグ要否判定部３１〜３５は、係数正負判定情報Ｊ（６）〜Ｊ（１０）、上位データＵ（６）〜Ｕ（１０）、下位データＬ（６）〜Ｌ（１０）に基づき、ゼロ判定器３１ａ〜３５ａ、サインフラグい要否判定器３１ｂ〜３５ｂ、非ゼロ判定器３１ｃ〜３５ｃを用いて、それぞれサインフラグ要否Ｈ（６）〜Ｈ（１０）、サインフラグＳ（６）〜Ｓ（１０）を生成する。
【００６５】
繰返し回数ｒが３の場合については、上記繰返し回数ｒが２の場合と同様、サインフラグ要否判定部３１〜３５は、係数正負判定情報Ｊ（１１）〜Ｊ（１５）、上位データＵ（１１）〜Ｕ（１５）、下位データＬ（１１）〜Ｌ（１５）に基づき、ゼロ判定器３１ａ〜３５ａ、サインフラグ要否判定器３１ｂ〜３５ｂ、非ゼロ判定器３１ｃ〜３５ｃを用いて、それぞれサインフラグ要否Ｈ（１１）〜Ｈ（１５）、サインフラグＳ（１１）〜Ｓ（１５）を生成する。
【００６６】
以上のように、サインフラグ要否並列判定部２５は、ブロック単位の１５個の係数を５個毎の３回（３サイクル）に分けて、係数正負判定情報Ｊ（１）〜Ｊ（１５）、上位データＵ（１）〜Ｕ（１５）、下位データＬ（１）〜Ｌ（１５）に基づき、サインフラグ要否Ｈ（１）〜Ｈ（１５）を生成し、連接シフト量並列算定部２７へ入力し、サインフラグＳ（１）〜Ｓ（１５）を生成し、下位データ並列連接部２６へ入力する。
【００６７】
図４は、５個の係数の並列処理の場合の例としての連接シフト量並列算定部２７の構成図であり、加算器４１〜４９の９個の加算器で構成されており、図５は、５個の係数の並列処理の場合の例としての下位データ並列連接部２６の構成図であり、連接部５０ａ〜５０ｄの４個の連接部と、該連接部内の５１〜５９の９個の連接器から構成されている。
【００６８】
尚、同図４，図５の処理も、ブロック単位の１５個の係数を５個毎で３回（３つのサイクルで）処理しており、入力ポート記載したａ１〜ａ５のパラメータは、処理する繰返し回数で異なり、繰返し回数ｒが１のときは、ａ１〜ａ５は、それぞれ１〜５、繰返し回数ｒが２のときは、それぞれ６〜１０、繰返し回数ｒが３のときは、１１から１５の値を取る。上記処理は、各繰り返し処理とも、入力ポートに入力されるデータが異なるだけで、処理内容自体は同じ処理を繰り返すものである。
【００６９】
連接シフト量並列算定部２７と下位データ並列連接部２６は密接に関係しており、相互に参照しながら説明する。
【００７０】
まず、ブロック内の３回の繰返しの内、第一回目の繰返し回数ｒが１の場合について説明する。
図５の下位データ並列連接部２６は、第１段の５０ａでサインフラグ要否信号Ｈ（１）〜Ｈ（５）に基づき、それぞれ、下位データＬ（１）〜Ｌ（５）とサインフラグＳ（１）〜Ｓ（５）を連接するか否かの処理をする。第１段連接部５０ａにおいて、連接器５１〜５５は、サインフラグ要否並列判定部２５から入力された各サインフラグ要否Ｈ（１）〜Ｈ（５）が要である１なら、下位データ並列選択部２４から入力された各下位データＬ（１）〜Ｌ（５）にサインフラグ要否並列判定部２５から入力された各サインフラグＳ（１）〜Ｓ（５）を連接し、各サインフラグ要否Ｈ（１）〜Ｈ（５）が否である０なら、各下位データＬ（１）〜Ｌ（５）にサインフラグＳ（１）〜Ｓ（５）を連接せずに出力する。
【００７１】
第２段連接部５０ｂにおいて、連接器５６は、前段の連接器５１で連接された連接データを左シフト量Ｒ（１）だけ左シフトした後、前段の連接器５２で連接された連接データと連接し、同様に、連接器５７は、前段の連接器５３で連接された連接データを左シフト量Ｒ（２）だけ左シフトした後、前段の連接器５４で連接された連接データと連接する。この左シフト量Ｒ（１）及び左シフト量Ｒ（２）は、図４に示す連接シフト量並列算定部２７の加算器４２と４４で算定され、それぞれ、（モデルビッツ＋サインフラグ要否Ｈ（２））および（モデルビッツ＋サインフラグ要否（４））の値を取る。なお、上述のように、サインフラグ要否信号Ｈ（１）及びＨ（２）は、０か１の値を取る。
【００７２】
第３段連接部５０ｃにおいて、連接器５８は、前段の連接器５６で連接された連接データを左シフト量Ｒ（３）だけ左シフトした後、前段の連接器５７で連接された連接データと連接する。この左シフト量Ｒ（３）は、図４の加算器４７で算定され、（モデルビッツ×２＋サインフラグ要否Ｈ（３）＋サインフラグ要否Ｈ（４））の値を取る。
【００７３】
第４段連接部５０ｄにおいて、連接器５９は、前段の連接器５８で連接された連接データを左シフト量Ｒ（４）だけ左シフトした後、前々々段の連接器５５で連接された連接データと連接する。この左シフト量Ｒ（４）は、図４の加算器４５で算定され、（モデルビッツ＋サインフラグ要否Ｈ（５））の値を取る。
【００７４】
また、連接シフト量並列算定部２７は、連接した下位データＬ（ａ）とサインフラグ（Ｓ（ａ）の全連接量を加算器４９で算定し、左シフト量Ｒ（５）として、ビットストリーム出力部１７０に入力する。この左シフト量Ｒ（５）は、（モデルビッツ×５＋サインフラグ要否Ｈ（１）＋サインフラグ要否Ｈ（２）＋サインフラグ要否Ｈ（３）＋サインフラグ要否Ｈ（４）＋サインフラグ要否Ｈ（５））の値を取る。
【００７５】
以下、繰返し回数ｒが２の場合については、パラメータａ１〜ａ５を６〜１０とし、繰返し回数ｒが３の場合については、パラメータａ１〜ａ５を１１〜１５として同様に動作するが、以下、簡単に説明する。
【００７６】
繰返し回数ｒが２の場合については、上記繰返し回数ｒが１の場合と同様、連接部５０ａ〜５０ｄはサインフラグ要否Ｈ（６）〜Ｈ（１０）、左シフト量Ｒ（１）〜Ｒ（４）に基づき、連接器５１〜５９、及び、連接シフト量並列算定部２７の加算器４１〜４９を用いて、所定の順序で、下位データＬ（６）〜Ｌ（１０）、サインフラグＳ（６）〜Ｓ（１０）を連接する。
また、連接シフト量並列算定部２７の左シフト量は、それぞれ、Ｒ（１）がモデルビッツ＋サインフラグ要否Ｈ（６）、Ｒ（２）がモデルビッツ＋サインフラグ要否Ｈ（９）、Ｒ（３）がモデルビッツ×２＋サインフラグ要否Ｈ（８）＋サインフラグ要否Ｈ（９）、Ｒ（４）がモデルビッツ＋サインフラグ要否Ｈ（１０）、Ｒ（５）がモデルビッツ×５＋サインフラグ要否Ｈ（６）＋サインフラグ要否Ｈ（７）＋サインフラグ要否Ｈ（８）＋サインフラグ要否Ｈ（９）＋サインフラグ要否Ｈ（１０）となる。
【００７７】
繰返し回数ｒが３の場合については、上記繰返し回数ｒが２の場合と同様、連接部５０ａ〜５０ｄはサインフラグ要否Ｈ（１１）〜Ｈ（１５）、左シフト量Ｒ（１）〜Ｒ（４）に基づき、連接器５１〜５９、及び、連接シフト量並列算定部２７の加算器４１〜４９を用いて、所定の順序で、下位データＬ（１１）〜Ｌ（１５）、サインフラグＳ（１１）〜Ｓ（１５）を連接する。
また、連接シフト量並列算定部２７の左シフト量は、それぞれ、Ｒ（１）がモデルビッツ＋サインフラグ要否Ｈ（１１）、Ｒ（２）がモデルビッツ＋サインフラグ要否Ｈ（１４）、Ｒ（３）がモデルビッツ×２＋サインフラグ要否Ｈ（１３）＋サインフラグ要否Ｈ（１４）、Ｒ（４）がモデルビッツ＋サインフラグ要否Ｈ（１５）、Ｒ（５）がモデルビッツ×５＋サインフラグ要否Ｈ（１１）＋サインフラグ要否Ｈ（１２）＋サインフラグ要否Ｈ（１３）＋サインフラグ要否Ｈ（１４）＋サインフラグ要否Ｈ（１５）となる。
【００７８】
上記のように、サインフラグ要否並列判定部２５でサインフラグの要否を判定した上で、連接シフト量並列算定部２７において、下位データ並列連接部２６で左シフトするシフト量を予め並列的に算定しておくことで、バレルシフタを用いて構成した連接器において並列化した係数データの下位データ連接処理を高速化できる。
【００７９】
以上述べてきたように、１個目から５個目の係数を１つのサイクルで処理し、続いて６個目から１０個目の係数を次の１つのサイクルで処理し、さらに１１個目から１５個目の係数を次の１つのサイクルで処理し、下位データの１個のブロックの処理を計３つのサイクルで終了する（ステップＳ１３）。
【００８０】
更に次のブロックがあれば、上述の動作を繰り返し、１６個のブロックの処理を完了したところで、１個のマクロブロックの処理を終了し、モデルビッツ更新部１３により、モデルビッツの更新処理を実施する（ステップＳ１５）。
【００８１】
さらに、次のマクロブロックがあれば、そのマクロブロックについて、上述の処理を繰り返し（ステップＳ１６）、次のマクロブロックの処理がなくなった時点で、１画像データ分のマクロブロックの処理を終了する。
【００８２】
前記ビットストリーム出力部１７０は、前記ＶＬＣ符号化部１０から入力された１ブロック分のＶＬＣ符号化された上位データＵ（ｉ）をビットストリームに連接後、前記下位データ連接部より入力された下位データＬ（ｉ）とサインフラグＳ（ｉ）の連接データをビットストリームに連接し、これを１６個のブロックであるマクロブロック分の個数になるまで繰り返し、さらに画像内の全マクロブロックに対して本処理を行い、１つの画像データ分のビットストリームとして、１纏めにして１個のファイルを形成し、形成されたファイルを順次外部に出力する。
【００８３】
以上詳述したように、本例の画像符号化装置１によれば、そのＶＬＣ符号部１０内の下位データ処理部２０において、係数データから抽出した下位データを連接する処理につき、１つのサイクルで５個の下位データを処理し、この処理を３つのサイクルで実行するので、従来の下位データ処理部１１７に比べて、その処理時間を短くし、効率的に下位データの連接処理を行うことができ、その結果、画像符号化装置１全体の処理速度を速めることができ、効率的な符号化処理を実現することができる。
また、順次接続される４段の連接部を備え、隣接する連接データで対を作りながら、各段に含まれる連接器の数を段数が増す毎に、ほぼ半減するように構成しているので、連接部の段数を少なく構成することができ、下位データ処理部自体の遅延時間を短縮させることができる。
さらに、各連接器は、左シフトしながら、データを連接する機能をもっているので、バレルシフタを用いて構成した連接器においても、同様に下位データ処理部を高速に動作させることができる。
【００８４】
尚、１サイクルの処理は、処理のタイミングとして用いられるクロックの、１クロック内で処理されるものであり、したがって、本例では、３クロックで１個のブロックの下位データ連接処理が実行される。
【００８５】
以上、本発明の一実施形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。例えば、上例では、ＶＬＣ符号化部１０内の下位データ処理部２０における下位データ連接処理を３つのサイクルで生成するようにしているが、これに限られるものではなく、４つ以上のサイクルで下位データを連接するようにしても良く、また、可能であれば、１ブロックの下位データを８個と７個に分けて２つのサイクルで連接するようにしても良く、１つのサイクルで１ブロックを構成する１５個の下位データを連接するようにしても良い。
【００８６】
この場合、処理サイクルの数に応じて、１サイクルで処理する下位データの連接数を設定する必要があるが、前記下位データ並列連接部２６における下位データの連接数は、本発明の趣旨から言って、係数データの数よりも少ないサイクル数で処理できるようにすることが肝要である。
【００８７】
なお、本構成では、ブロック単位の１５個の係数データを係数データ記憶部に一括して記憶しているので、上位データの符号化と並行して下位データの抽出・連接処理を実施するようにすることもできる。
【００８８】
また、本構成では、連接器として、シフト機能を有するものを用いているが、データを連接することができる連接器であれば、他の態様の連接器でもよく、バレルシフタを用いないで構成された連接器を用いて構成してもよい。
【符号の説明】
【００８９】
１    画像符号化装置
１０  ＶＬＣ符号化部
１１  係数データ記憶部
１２  マクロブロックカウンタ部
１３  モデルビッツ更新部
１４  上位データ処理部
１５  上位データ抽出部
１６  上位データ符号化部
２０  下位データ処理部
２１  係数正負並列判定部
２２  下位データ並列抽出部
２３  下位データ並列符号反転部
２４  下位データ並列選択部
２５  サインフラグ要否並列判定部
２６  下位データ並列連接部
２７  連接シフト量並列算定部
３１〜３５  サインフラグ要否判定部
３１ａ〜３５ａ  ゼロ判定器
３１ｂ〜３５ｂ  サインフラグ要否判定器
３１ｃ〜３５ｃ  非ゼロ判定器
４１〜４９  加算器
５０ａ〜５０ｄ  連接部
５１〜５９  連接器
１１０  色空間変換部
１１１  係数データ記憶部
１１５  上位データ抽出部
１１６  上位データ符号化部
１１２  マクロブロックカウンタ部
１１３  モデルビッツ更新部
１１４  上位データ処理部
１１７  下位データ処理部
１２０  周波数変換部
１２１  係数正負判定部
１２２  下位データ抽出部
１２３  下位データ符号反転部
１２４  下位データ選択部
１２５  サインフラグ要否判定部
１２６  下位データ連接部
１３０  量子化部
１４０  係数予測部
１５０  適応型スキャン部
１６０  ＶＬＣ符号化部
１７０  ビットストリーム出力部
【図１】
2015050501.tif 000003
【図２】
2015050501.tif 000004
【図３】
2015050501.tif 000005
【図４】
2015050501.tif 000006
【図５】
2015050501.tif 000007
【図６】
2015050501.tif 000008
【図７】
2015050501.tif 000009
【図８】
2015050501.tif 000010
【図９】
2015050501.tif 000011
【図１０】
2015050501.tif 000012
【図１１】
2015050501.tif 000013
【図１２】
2015050501.tif 000014
【図１３】
2015050501.tif 000015
【図１４】
2015050501.tif 000016