(57)【要約】【課題】  ＶＬＤデコード処理に必要な出力バッファの記憶容量の最適化が図れ回路規模の抑制が得られるようにしたデコード処理装置を提供すること。【解決手段】  ＶＬＤ部２が或るサブマクロブロックＳＭＢのデコード処理が終わって受信バッファ３から次のサブマクロブロックＳＭＢのデータＤ(code)を要求する際、length制御部１２から選択信号Ｐ(sel)を出力させ、サブマクロブロックＳＭＢの信号成分に応じて要求信号Ｃ(rdreq)を有効コード長信号Ｍ(length)から固定値信号Ｎ(レベル０)に切替えるようにし、符号化ストリームのデコード処理にサブマクロブロックの信号成分に応じた停止期間が与えられるようにした。【選択図】  図１
2008193313.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームをリアルタイムで伸張処理するデコーダ処理装置において、
前記入力された符号化ストリームのデコード処理にサブマクロブロックの信号成分に応じた停止期間を設け、
固定のサイクル数でデコード処理が得られるように構成したことを特徴とするデコード処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号の可変長符号化コードを対象としたデコード処理装置に係り、特にＨ.２６４符号化規格による可変長符号化コードを対象としてリアルタイムで伸張処理するデコード処理装置に関するものである。
【背景技術】
【０００２】
周知の通り、画像信号のＶＬＣ((Variable Length coding：可変長符号化)に際して、Ｈ.２６４符号化規格では、短い符号化コードに圧縮するＣＡＶＬＣ(Context-based Adaptive VLC)と、算術符号化を行いながらより短い符号化コードに圧縮するＣＡＢＡＣ(Context Adaptive Binary-Arithmetic Coding)の２種類の符号化ツールを用意し、符号化に使用する符号化テーブルを、隣接マクロブロックＭＢのＤＣＴ(直交演算)係数の状態に合わせて切り替えている。
【０００３】
そこで、この場合に使用されるＨ.２６４符号化規格によるデコード処理装置の従来技術について、図３により説明すると、まず、この図３のデコード処理装置１は、Ｈ.２６４符号化ストリームをデコード処理するＶＬＤ部(Variable Length Decoder：可変長デコード部)２を備え、入力側には、受信バッファ３とヘッダ検出部４が設けられ、出力側には、デコードした復号ストリームを一定レートで出力するための３台の出力バッファ５、６、７が設けられている。
【０００４】
このとき、受信バッファ３には、映像エレメンタリーストリームＡ(Video-ＥＳ)が入力されるが、これは、フレーム画像若しくはフィールド画像を水平方向に分割した帯状のブロックに相当するスライスＮＡＬ(Network Abstraction Layer)ユニットと呼ばれる基本単位からなる。そこで、このときのスライスＮＡＬユニットについて説明すると、このスライスＮＡＬユニットは、図４に示すように、４バイトのユニークコード(ユニークなコード)から始まるスライスヘッダＳＨを有し、これに１６×１６画素のマクロブロックＭＢ１〜マクロブロックＭＢｎを順次、帯状につなげたスライスデータＳＤとで構成されている。
【０００５】
そして、各マクロブロックＭＢ１〜マクロブロックＭＢｎは、個々にＭＢコードが付き、この後に輝度成分と色差ＤＣ成分、それに色差ＡＣ成分の順にサブマクロブロックＳＭＢがいくつか並んだ構造となっている。例えば、いま、イントラ予測処理の画素が４×４サイズで、このときのクロマフォーマットが４：２：２の場合、ＭＢコードの後には輝度成分サブマクロブロックＳＭＢが１６個と色差ＤＣ成分サブマクロブロックＳＭＢが２個、それに色差ＡＣ成分サブマクロブロックＳＭＢが１６個の順に計３４個並び、これで１個のマクロブロックＭＢが構成されることになる。
【０００６】
図３に戻り、ヘッダ検出部４では、映像エレメンタリーストリームＡを入力して、その中にあるユニークコードの検出が行われる。そして、いま、ヘッダ検出部４でユニークコードが検出されたとすると、検出パルスＢ(Slice_detect)を生成し、受信バッファ部３に入力する。そこで、受信バッファ３は、この検出パルスＢに基づいて映像エレメンタリーストリームＡからＳＤを取り除き、スライスＮＡＬユニットの中の実データに相当するデータだけを書込み、バッファリングする。
【０００７】
そして、この後、受信バッファ３は、ＶＬＤ部２から要求信号Ｃ(rdreq)が供給されたとき、この要求信号Ｃにより要求されたビット分のデータを読み出し、データＤ(code)としてＶＬＤ部２に供給する。そこで、ＶＬＤ部２は、受信バッファ３から読み出した可変ビット長のデータＤ(code)を解析しながら各マクロブロックＭＢにより構成されている各々のサブマクロブロックＳＭＢを輝度成分から順次デコード処理し(図４参照)、復号ストリームＳＥとして伸張する。
【０００８】
このとき、復号ストリームＳＥは、図４に示されている通り、輝度成分と色差ＤＣ成分、色差ＡＣ成分が時間的に多重化されたままのストリームであるため、出力バッファ５、６、７に転送する際、ＳＥＬ部(選択部)８により、復号ストリームの送り込み先となるバッファを切替え、各信号成分を分別しながら各出力バッファ５、６、７にバッファリングする。そして、このときのＳＥＬ部８によるバッファの切替は、次のようにして行なわれる。
【０００９】
まず、End_smb 生成部９を設け、ＶＬＤ部２においてデータＤ(code)を解析する過程で得られる信号Total_coeff、信号Total_zeros、信号run_beforeの各情報をEnd_smb生成部９に供給し、サブマクロブロックＳＭＢのデコード処理が終了したことを示すデコード終了信号Ｆ(End_smb)を生成する。次に、カウンタ部１０を設け、ヘッダ検出部４がＭＢコードを検出したとき出力する検出パルスＧ(ＭＢ_header_detect)をカウンタ部１０に供給してリセットパルスとする。
【００１０】
これによりカウンタ部１０は、ＭＢコード以降のデコード終了信号Ｆをカウントし、これによりデコード処理したサブマクロブロックＳＭＢのＳＭＢ番号を認識して、輝度成分と色差ＤＣ成分、色差ＡＣ成分の各サブマクロブロックＳＭＢの始まり毎に、それを表わす選択制御信号Ｈ(sel_con)を発生させることができるようになり、これをＳＥＬ部８に供給することにより切替制御を得るようにしている。
【００１１】
例えば、カウンタ部１０によりカウントしたデコード終了信号Ｆの数が１〜１５の場合には、デコード処理した復号ストリームのサブマクロブロックＳＭＢは輝度成分Ｊ(輝度ＳＭＢ)と判断でき、従って、このときはサブマクロブロックＳＭＢの復号結果を輝度成分Ｊとして輝度用の出力バッファ５に出力する。また同様に、カウントしたデコード終了信号Ｆの数が１６若しくは１７になった場合は色差ＤＣ成分のサブマクロブロックＳＭＢであるとして出力バッファ６に色差ＤＣ成分Ｋ(色差ＤＣＳＭＢ)を出力し、１８〜３５の場合には色差ＡＣ成分のサブマクロブロックＳＭＢであるとして出力バッファ７に色差ＡＣ成分Ｌ(色差ＡＣＳＭＢ)を出力することになる。
【００１２】
このようにして各バッファ５〜７に格納された復号ストリームは、この後、復号係数としてモニタのスキャンレートに合わせて読み出され、最終的にモニタに出力され、画像が表示されることになる。
【００１３】
ここで、上記従来技術に関連した技術について開示したものとしては、例えば特許文献１を挙げることができる。
【特許文献１】特開平１０−２６１９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ところで、このときＶＬＤ部２で行なわれるサブマクロブロックＳＭＢ単位のデコード処理においては、前述した信号Total_coeff、Total_zeros、run_beforeの各情報だけではなく、その他にも有意係数のレベルを示す信号Levelについてデコードしなければならないが、ここで、これらの信号Total_coeff、Total_zeros、run_before、Levelをデコード処理するのに必要な処理サイクルの回数は、サブマクロブロックＳＭＢを構成する１次元係数列の並び方に依存し、例えば伝送ビットレートが低い場合には、１次元係数列の高周波数成分側には有意係数が少なくなり、ゼロ係数が連続して続いてしまう傾向になる。
【００１５】
このため、従来技術では、ＶＬＤ部２がデコード処理する際にルックアップテーブル(Look_up_table)を参照する頻度が下がり、参照に要していたクロックサイクル数が抑えられ、結果的に受信バッファから符号化ストリームを読み出してから復号した係数が出力するまでの一連の処理にかかるサイクル数は少なくなる傾向にある。
【００１６】
一方、ビットレートが高い場合、サブマクロブロックＳＭＢを構成する１次元係数列の並びには低周波から高周波数成分まで一様に有意係数が出現するようになるため、ルックアップテーブルを参照する回数が増え、各情報を１クロックサイクルで算出するものと仮定した場合、輝度成分のサブマクロブロックＳＭＢは１６係数、色差ＤＣ成分のサブマクロブロックＳＭＢは８係数、色差ＡＣ成分のサブマクロブロックＳＭＢは１５係数で構成されることから、係数以外の情報である信号Total_coeffと信号Total_zerosを算出するためには、２クロック別に必要となってしまう。
【００１７】
この結果、サブマクロブロックＳＭＢのデコード処理にかかる最大サイクル数も各信号成分毎に異なってしまい、輝度成分サブマクロブロックＳＭＢ、色差ＤＣ成分サブマクロブロックＳＭＢ、色差ＡＣ成分サブマクロブロックＳＭＢはそれぞれ最大１８サイクル、１０サイクル、１７サイクルとなる。つまり、伝送されるビットレートに応じてサブマクロブロックＳＭＢの１次元係数列の並び方が変化し、１サブマクロブロックＳＭＢあたりのデコードにかかるサイクル数も変動してしまうことになる。
【００１８】
このとき従来技術では、ＶＬＤ部によるデコード処理について、受信バッファに書込む際の基本単位となっている１スライスＮＡＬユニット相当データを、ストップすることなく連続処理しており、従って、従来技術では、１スライスＮＡＬユニットの変動分を考慮して、スライスＮＡＬユニットデータ時間内に発生しうる最大発生符号量のデータでも保持できるように容量を大きくしたバッファがＶＬＤ部の後段に必要であった。
【００１９】
本発明の目的は、ＶＬＤデコード処理に必要な出力バッファの記憶容量の最適化が図れ回路規模の抑制が得られるようにしたデコード処理装置を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的は、符号化ストリームをリアルタイムで伸張処理するデコーダ処理装置において、前記入力された符号化ストリームのデコード処理にサブマクロブロックの信号成分に応じた停止期間を設け、固定のサイクル数でデコード処理が得られるようにして達成される。
【００２１】
上記手段によれば、サブマクロブロックＳＭＢのデコード処理が終わって次のサブマクロブロックＳＭＢのデコードを行う際に、スライスＮＡＬユニット単位で、連続して行っていた受信バッファからのデータcodeの読み出し処理を、各サブマクロブロックＳＭＢの信号成分に合わせて一定の間隔をおいて受信バッファからのデータcodeの読み出し処理を行なうようにリクエスト信号を制御することができる。
【００２２】
これによりＶＬＤ部によるサブマクロブロックＳＭＢのデコード処理において、或る１個のサブマクロブロックＳＭＢのデコード処理を終えてから次のサブマクロブロックＳＭＢのデコード処理を開始する際、デコードするサブマクロブロックＳＭＢの信号成分に合わせた一定の停止期間をおいた後、受信バッファからデータcodeの読み出しを行うようにしたので、停止期間における出力バッファからのデータの読み出しか得られるようになり、この結果、出力バッファに必要な記憶容量の適正化が図れ、バッファ容量が少なくて済むことになる。
【発明の効果】
【００２３】
本発明によれば、出力バッファのオーバーフローが抑えられるので、出力バッファに必要な記憶容量が少なくて済み、この結果、回路規模が小さなデコード処理装置を得ることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明によるデコード処理装置について、図示の実施の形態により詳細に説明する。ここで、図１が本発明によるデコード処理装置の一実施の形態を示したブロック構成図で、ここでは、図示のように、デコード処理装置が符号１００で表わされている。そして、このデコード処理装置１００においても、図３の従来技術によるデコード処理装置１と同じくＨ.２６４符号化ストリームをデコード処理するＶＬＤ部２が備えられ、入力側には受信バッファ３とヘッダ検出部４が、そして出力側には出力バッファ５、６、７が、夫々設けられている。
【００２５】
従って、この実施形態でも、図３の従来技術の場合と同じく、映像エレメンタリーストリームＡ(Video-ＥＳ)が入力されると、ヘッダ検出部４でユニークコードの検出が行われ、ユニークコードが検出されると検出パルスＢが受信バッファ部３に入力され、受信バッファ３では、映像エレメンタリーストリームＡ(Video-ＥＳ)からＳＤが取り除かれてスライスＮＡＬユニットの中の実データに相当するデータだけがバッファリングされるようになり、この後、要求信号Ｃ(rdreq)が供給されたとき、この要求信号Ｃにより要求されたビット分のデータがデータＤ(code)として読み出され、ＶＬＤ部２に供給されるようになる。
【００２６】
そこで、ＶＬＤ部２は、受信バッファ３から読み出した可変ビット長のデータＤを解析しながら各マクロブロックＭＢにより構成されている各々のサブマクロブロックＳＭＢを輝度成分から順次デコード処理し(図４参照)、復号ストリームＳＥとして伸張する。そして、この結果、輝度成分Ｊ(輝度ＳＭＢ)は輝度用の出力バッファ５にバッファリングされ、色差ＤＣ成分Ｋ(色差ＤＣＳＭＢ)は色差ＤＣ成分用の出力バッファ６にバッファリングされ、そして色差ＡＣ成分Ｌ(色差ＡＣＳＭＢ)は色差ＡＣ成分用の出力バッファ７にバッファリングされることになり、この後、各バッファ５〜７に格納された復号ストリームが復号係数としてモニタのスキャンレートに合わせて読み出され、最終的にモニタに画像が表示されることになる点は、これも図３の従来技術の場合と同じである。
【００２７】
しかしながら、この図１の実施形態によるデコード処理装置１００では、更にLength 切替部１１とLength 制御部１２、それにStart_ＳＭＢ生成部１３が設けられ、要求信号Ｃ(rdreq)がlength 切替部１１から出力されるようになっている点が、図３の従来技術によるデコード処理装置１とは異なっていて、これにより、受信バッファ３からのデータcodeの読み出しに上記の停止期間が与えられるようになっているのが特徴である。
【００２８】
まず、Length 切替部１１は、ＶＬＤ部２から要求される有効コード長信号Ｍ(length)と予め設定されている固定値信号Ｎ(レベル０)の何れか一方をLength 制御部１２から供給される選択信号Ｐ(sel)に応じて切替え、選択された方の信号を要求信号Ｃ(rdreq)として受信バッファ３に供給する働きをする。このとき受信バッファ３は、（レベル０）の固定値信号Ｎが、要求信号Ｃとして供給されたときには、ビット長ゼロのデータＤ(code)を出力するようになっている。従って、この場合、実質的には、受信バッファ３から読み出されるデータはないことを意味する。
【００２９】
次に、Length制御部１２では、ＶＬＤ部２によるサブマクロブロックＳＭＢのデコードが終了したことを示すデコード終了信号Ｆ(end_ＳＭＢ)をend_smb 生成部９から入力し、Start_ＳＭＢ生成部１３からは、サブマクロブロックＳＭＢ単位のデコード処理の開始タイミングを示す開始タイミングパルスＳ(Start_ＳＭＢ)を入力し、これらデコード終了信号Ｆと、開始タイミングパルスＳに基づいて選択信号Ｐ(sel)を生成し、Length 切替部１１に供給する。このときStart_ＳＭＢ生成部１３では、ヘッダ検出部４から出力される検出パルスＧ(ＭＢ_header_detect)に基づいて開始タイミングパルスＳを生成している。
【００３０】
そこで、次に、これら開始タイミングパルスＳ(Start_ＳＭＢ)、デコード終了信号Ｆ(end_ＳＭＢ)、選択信号Ｐ(sel)のタイミングについて、図２により説明する。このとき開始タイミングパルスＳのパルスの間隔は、各信号成分のＳＭＢをデコード処理する際にかかる最大サイクル数とする。そして、この開始タイミングパルスＳは、ヘッダ検出部４から出力される検出パルスＧによりトリガされているので、図２(a)のＸ期間に現れる初めの１６個のサブマクロブロックＳＭＢは輝度成分のサブマクロブロックＳＭＢと判断できる。
【００３１】
そこで、Start_ＳＭＢ生成部１３では、輝度サブマクロブロックＳＭＢにおける最大処理サイクル数と等しい１８クロック(clk)毎に１クロック期間幅のパルスを発生させ、これを期間Ｘ内で、輝度成分サブマクロブロックＳＭＢの個数に相当する回数、この場合は１６回、繰り返えし、その後、色差ＤＣ成分サブマクロブロックＳＭＢの最大処理サイクル数である１０クロック(clk)間隔おきに色差ＤＣ成分サブマクロブロックＳＭＢの個数(２個)と同数の２パルスを期間Ｙ内に出力し、最後に色差ＡＣ成分サブマクロブロックＳＭＢの最大処理サイクル数である１７クロック(clk)間隔おきに、１クロック期間幅のパルスを、色差ＡＣ成分のサブマクロブロックＳＭＢ数と等しい数である１６回、期間Ｚ内で繰り返す信号を生成し、これを開始タイミングパルスＳとする。
【００３２】
このとき、図２(e)に示すデコード終了信号Ｆは、従来技術で説明したように、ＶＬＤ部２でコードＤ(code)を解析する過程で、当該ＶＬＤ部２から得られる信号Total_coeff、Total_zeros、run_beforeをEnd_smb 生成部９に入力し、これらの信号に基づいてEnd_smb 生成部９により生成される信号であり、これは、サブマクロブロックＳＭＢ単位のデコードが終了したことを示す。
【００３３】
従って、開始タイミングパルスＳ(Start_ＳＭＢ)の１パルスからデコード終了信号Ｆ(End_smb)の１パルスまでの期間は、実際にサブマクロブロックＳＭＢのデコード処理にかかったサイクル数を意味し、デコード終了信号Ｆから次の開始タイミングパルスＳまでの期間が、或る一連のサブマクロブロックＳＭＢのデコード処理が完了してから次のサブマクロブロックＳＭＢのデコード処理を再開するまでのデコード停止期間に相当する。
【００３４】
そこで、選択信号Ｐ(sel)として、図２(f)に示すように、開始タイミングパルスＳからデコード終了信号Ｆの１パルスまでの期間は“Ｈ”(Highレベル)になり、デコード終了信号Ｆの１パルスから次の開始タイミングパルスＳの１パルスまでの期間は“Ｌ”(Lowレベル)になる信号を生成してLength 切替部１１に入力し、この選択信号Ｐが“Ｈ”のときは、ＶＬＤ部２から要求される有効コード長信号Ｍ(length)が要求信号Ｃ(rdreq)として選択され、選択信号Ｐが“Ｌ”のときは、固定値信号Ｎ「０」が要求信号Ｃとして選択されるようにする。
【００３５】
この結果、ＶＬＤ部２から単位時間に出力される復号ストリームＳＥは、ビットレートに依存せず常に一定になり、この結果、ＳＥＬ部８の後段にある出力バッファ５、６、７のバッファ容量に余裕を持たせておく必要がなくなり、従って、この実施形態によれば、回路規模が小さくできることになる。
【００３６】
このとき、カウンタ部１０は、ＭＢコード以降のデコード終了信号Ｆをカウントしてデコード処理したサブマクロブロックＳＭＢのＳＭＢ番号を認識し、輝度成分と色差ＤＣ成分、色差ＡＣ成分の各サブマクロブロックＳＭＢの始まり毎に選択制御信号Ｈ(sel_con)を発生させ、これをＳＥＬ部８に供給して切替制御を行い、この結果、輝度成分Ｊは輝度用の出力バッファ５に格納され、色差ＤＣ成分Ｋ(色差ＤＣＳＭＢ)は出力バッファ６に格納され、それに出力バッファ７には色差ＡＣ成分Ｌ(色差ＡＣＳＭＢ)が格納されるようになることは、図３で説明した従来技術の場合と同じである。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るデコード処理装置の一実施形態を示すブロック構成図である。
【図２】本発明の一実施形態による動作を説明するための信号タイミング図である。
【図３】従来技術によるデコード処理装置の一例を示すブロック構成図である。
【図４】映像エレメンタリーストリームの説明図である。
【符号の説明】
【００３８】
１、１００：デコード処理装置
２：ＶＬＤ部(可変長デコード部)
３：受信バッファ
４：ヘッダ検出部
５：出力バッファ(輝度成分)
６：出力バッファ(色差ＤＣ成分)
７：出力バッファ(色差ＡＣ成分)
８：ＳＥＬ部(選択部)
９：End_smb生成部
１０：カウンタ部
１１：length 切替部
１２：length 制御部
１３：Start_ＳＭＢ生成部
Ａ：映像エレメンタリーストリーム(Video-ＥＳ)
Ｂ：検出パルス(Slice_detect)
Ｃ：要求信号(rdreq)
Ｄ：データ(code)
Ｆ：デコード終了信号(End_smb)
Ｇ：検出パルス(ＭＢ_header_detect)
Ｈ：選択制御信号(sel_con)
Ｊ：輝度成分(輝度ＳＭＢ)
Ｋ：色差ＤＣ成分(色差ＤＣＳＭＢ)
Ｌ：色差ＡＣ成分(色差ＡＣＳＭＢ)
Ｍ：有効コード長信号(length)
Ｎ：固定値信号(レベル０)
Ｐ：選択信号(sel)
【図１】
2008193313.tif 000003
【図２】
2008193313.tif 000004
【図３】
2008193313.tif 000005
【図４】
2008193313.tif 000006