JPWO2009050897A1 - 符号化レート変換装置、符号化レート変換方法および集積回路 - Google Patents

符号化レート変換装置、符号化レート変換方法および集積回路 Download PDF

Info

Publication number
JPWO2009050897A1
JPWO2009050897A1 JP2009537928A JP2009537928A JPWO2009050897A1 JP WO2009050897 A1 JPWO2009050897 A1 JP WO2009050897A1 JP 2009537928 A JP2009537928 A JP 2009537928A JP 2009537928 A JP2009537928 A JP 2009537928A JP WO2009050897 A1 JPWO2009050897 A1 JP WO2009050897A1
Authority
JP
Japan
Prior art keywords
quantization
conversion
value
quantization matrix
matrix
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
JP2009537928A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2009050897A1 publication Critical patent/JPWO2009050897A1/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/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/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/93Run-length coding

Landscapes

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

Abstract

符号化データを構成する複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する。第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する低周波係数の値を変換するための第1変換値と、高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する(S408)。第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出する。複数の係数データの少なくとも一部を、第2量子化マトリクスと、少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化する。

Description

本発明は、符号化データの情報量をさらに削減するために符号化レートを変換する技術に関するもので、より具体的には、符号化レート変換に伴う画質劣化を抑制する符号化レート変換装置等に関するものである。
近年、高圧縮を実現するMPEG2(Moving Picture Experts Group 2)が画像符号化技術として採用されている。この技術はデジタル放送、DVD、ネットワークなどの記録媒体に用いられ、それらの用途に合わせて、ビットレートは一定の範囲内で選択できるようになっている。
例えば、高画質のデジタル放送を記録媒体に記録するビットレートを選択するにあたり、高画質のデータをそのまま記録媒体に記録するのではなく、さらに情報量を削減するためビットレートを小さくするよう符号化レートを変換することで、より多くのデータを記録媒体に記録することができる。また、記録媒体の容量を有効利用するために符号化レートを変換する高速ダビングなどのニーズも高まっている。
また、記録媒体に記録したデジタル放送をネットワークに配信するにあたり、高画質のデータをそのままネットワークに配信するのではなく、ネットワーク帯域に応じてビットレートを小さくするよう符号化レートを変換することで、帯域の狭いネットワークでも映像を配信することができる。
以上を実現する符号化レート変換方法の一つに、再量子化型の変換方法がある。この方法は、入力ビットストリームを画素レベルまで復号するのではなく、逆量子化した後のDCT(Discrete Cosine Transform)係数を、異なる量子化スケールで再量子化することで所望のデータ量に変換することで、画素レベルまで復号を行うことなく、符号化レートを削減できる方法である。
以降、再量子化型の符号化レート変換方法の詳細を説明する前に、MPEG2のDCT変換および量子化に関する詳細な説明を行う。
MPEG2では、1つのピクチャの符号化データは1つ以上のスライスから構成され、1つのスライスは1つ以上のマクロブロック(MB)から構成される。以下においては、マクロブロックを、MBという。MBは、ヘッダ部と、ブロック部とを有する。以下においては、MBのヘッダ部およびMBのブロック部を、それぞれ、MBヘッダ部およびMBブロック部という。MBブロック部は、複数の量子化DCT係数を示す。量子化DCT係数は、ピクチャに対し所定サイズのブロック毎にDCT(離散コサイン変換)して得られたDCT係数を量子化することにより得られる係数である。
また、1つのマクロブロックは、標準(4:2:0)で、輝度のブロックが4つ、色差のブロックが2つの合計6つのブロックから構成される。輝度と色差でブロックの数が異なるのは、密度の観点において、人間が色差より輝度に敏感である視覚特性に基づいて決定されている。MPEG2では、6つのブロックを、輝度Y(左上)、輝度Y(右上)、輝度Y(左下)、輝度Y(右下)、色差Cb(青成分)、色差Cr(赤成分)の順番に符号化されている。
1つのブロックは、8×8サイズの係数(量子化DCT係数)群で符号化されており、この係数群を逆量子化し、さらに逆DCT変換すると、8×8サイズの画素に復号することができる。
ブロックに含まれる係数群は、左上の係数が低周波成分で、右に行くほど水平方向に高周波成分の係数、下に行くほど垂直方向に高周波成分の係数になり、右下の係数は水平方向にも垂直方向にも高周波成分となる。左上角の1係数がDC成分(直流)で、その他はAC成分(交流)である。
上記の量子化DCT係数の逆量子化方法は、動き補償を行わないIntraMBか、動き補償を行うInterMBかどうかによって異なる。IntraMBは、処理対象のピクチャ内の情報を利用してデータを圧縮するマクロブロックである。また、IntraMBでは、DC成分かAC成分かによっても異なる。InterMBは、処理対象のピクチャと異なるピクチャ内の情報を利用してデータを圧縮するマクロブロックである。
IntraMBのDC成分は、以下の式に従って逆量子化される。
(DCT係数)=(逆量子化係数)×(量子化DCT係数)
一方、IntraMBのAC成分は、以下の式(以下、逆量子化の式という)に従って逆量子化される。
(DCT係数)=(2×量子化DCT係数)×量子化マトリクス×量子化スケール/32
また、InterMBは、DC成分、AC成分にかかわらず、以下の式(以下、逆量子化の式という)に従って逆量子化される。
DCT係数=
(2×量子化DCT係数+1)×量子化マトリクス×量子化スケール/32 (量子化DCT係数>0の場合)
(2×量子化DCT係数) ×量子化マトリクス×量子化スケール/32 (量子化DCT係数=0の場合)
(2×量子化DCT係数−1)×量子化マトリクス×量子化スケール/32 (量子化DCT係数<0の場合)
上式において、逆量子化係数や量子化スケールは係数(スカラ)であるが、量子化マトリクスは、8×8サイズの係数群(ベクトル)で構成されており、求めるDCT係数の位置に応じた係数を使用する。
逆量子化係数や量子化マトリクスは、ピクチャ単位で指定され、量子化スケールは、マクロブロック単位で指定される。
また、量子化スケールは、そのままの値で符号化されているのではなく、MBヘッダ部が示す符号化された量子化スケールコード(量子化パラメータ)から図1の表に基づいて変換する。量子化スケールコード(量子化パラメータ)から量子化スケールの変換は、線形タイプと非線形タイプの2つのタイプが存在し、どちらのタイプで符号化するかはピクチャ単位で指定される。
次に、量子化DCT係数は、図2Aに示すジグザグスキャンおよび図2Bに示すオルタネートスキャンのいずれかが示す順番で、非0係数だけが符号化される。どちらのスキャン順が用いられているかどうかはピクチャ単位で指定される。ジグザグスキャンはプログレッシブ画像の符号化に適し、オルタネートスキャンはインターレース画像の符号化に適する。以降、ジグザグスキャンにて説明を行うが、オルタネートスキャンでもジグザグスキャンと同様の議論が成り立つ。
非0係数の符号化は、一つ前の非0係数からの項目数run(=連続する0係数の個数)および非0の量子化DCT係数値levelが符号化され、最後の非0係数の次にはEOB(End Of Block)が符号化され、それ以降の0係数は省略される。例えば、低周波成分から7、3、0、0、1、以降すべて0、の順で量子化DCT係数が存在するブロックでは、(run、level)=(0、7)、(0、3)、(2、1)、EOBの順番で符号化される。
次に、再量子化型の符号化レート変換方法の詳細について説明する(特許文献1参照)。
図3は、MPEG2の復号化装置10000の一例の構成を示すブロック図である。可変長復号部2201は、MPEG2ストリームを復号し、復号により得られた複数のMBブロック部の各々が示す情報(量子化DCT係数)を逆量子化部2202に通知する。
まず、IntraMBの場合、逆量子化部2202は、量子化DCT係数を逆量子化してDCT係数に戻し、DCT係数を逆DCT変換部2203に通知する。逆DCT変換部2203は、逆DCT変換を行い、DCT係数を画素情報に戻す。戻された画素情報は画素復元部2206を通じて出力する。また、画素情報は次のピクチャ以降で参照される可能性があるため、参照フレーム格納部2204に格納される。
次に、InterMBの場合は、逆DCT変換により得られた画素情報が差分値であるため、画素復元部2206にDCT係数を出力した後もさらに処理が必要である。動き補償部2205は、可変長復号部2201で復号した動きベクトルで指定された参照画像を参照フレーム格納部2204から取得して、画素復元部2206に通知する。画素復元部2206は、参照画像と画素情報の差分を加算して画素情報を求め、出力する。復元した画素情報はInterMBと同様に参照フレーム格納部2204に格納される。
図4は、MPEG2の符号化装置10001の一例の構成を示すブロック図である。基本的にMPEG復号化装置10000の逆の構成となっている。
IntraMBの場合、画素情報はまずDCT変換部2301でDCT変換され、DCT変換により得られた情報が量子化部2302に通知される。レート制御部2311は、目標の符号化レートを、可変長符号部2303から得た実際の符号化ビット量の実績値で補正しながら、量子化スケールを求めて、量子化スケールを量子化部2302に通知する。
量子化部2302は、DCT係数をレート制御で算出された量子化スケールで量子化を行い、量子化により得られた情報を可変長符号部2303に通知すると同時に、参照画像として利用するため、量子化により得られた情報を逆量子化部2304に通知する。可変長符号部2303は、量子化DCT係数をストリームとして符号化する。次以降のピクチャで参照画像として利用するために、量子化DCT係数は、復号化装置10000と同様に、逆量子化部2304、逆DCT変換部2305により、画像情報まで復号されて、画像情報が参照フレーム格納部2306に格納される。
InterMBの場合、参照画像を用いた画像情報量削減を行うため、まず動き検出部2307で、参照フレーム格納部2306から入力画像と一致度の高い画像を検出して、動きベクトルを算出する。動きベクトルは、動き補償部2308に通知されるとともに、ストリームのMBヘッダ部の情報として符号化するため、可変長符号部2303に通知される。動き補償部2308は、動きベクトルを元に、参照フレーム格納部2306から参照画像を取得し、画素減算部2309が、入力画像との差分を求めることで、情報量を削減する。以降は、IntraMBの場合と同じである。
次以降のピクチャで参照画像として利用するために、逆量子化部2304、逆DCT変換部2305を通すと、画像情報の差分が求まるので、動き補償部2308で求めた参照画像を画素加算部2310が加えると、画像情報が復号でき、画像情報が参照フレーム格納部2306に格納される。
ここで、MPEG2では、MBヘッダ部のビット量はほぼ決まった範囲のビット量を取り、さらに、MBヘッダ部のビット量が符号化ストリーム全体に占める割合はわずかである。逆に、MBブロック部のビット量はMBごとのばらつきが大きく、さらに、MBブロック部のビット量は符号化ストリームの大部分を占める。したがって、符号化ストリームの符号化レートを低減するためには、何らかの手段で、MBブロック部の量子化DCT係数(level)を低減する手法が有効である。
量子化DCT係数(level)を低減すると、小さなlevelは短い符号化ビットで表現可能である。さらにlevelが0になれば、levelの符号化自体が不要になるため、符号化レートを低減できる。
再量子化型のレート変換装置は、上記の量子化の性質を利用した変換装置であり、MPEG復号化装置とMPEG符号化装置を結合して、不要な構成を省いた構成である。ストリームを画像レベルまで復号せずに、量子化だけでレートを変換するため、DCT変換や動き補償を行う必要がないという利点がある。
量子化DCT係数(level)を低減するには、前述した逆量子化の式を参照すると、量子化スケールおよび量子化マトリクスのいずれかを大きくすればよいことがわかる。まずは、再量子化型の符号化レート変換装置の一例として、量子化スケール再変換型の符号化レート変換装置の詳細を説明する。
量子化スケール再変換型の符号化レート変換装置11000の構成図を図5に示す。
可変長復号部2401は、MPEG2ストリームを復号する。可変長復号部2401は、逆量子化係数や量子化マトリクスを含むピクチャヘッダは変換せずに、ピクチャヘッダを可変長符号部2402にそのまま通知する(図示せず)。可変長復号部2401は、MBヘッダ部のパラメータをMBヘッダ格納部2405に通知すると同時に、MBヘッダ部が示す量子化スケールコードを量子化スケールに変換し、当該量子化スケールを量子化スケール増加変換部2404に通知する。可変長復号部2401は、MBブロック部が示す量子化DCT係数などのパラメータを逆量子化部2406に通知する。
逆量子化部2406は、入力ストリームの量子化スケールにしたがって、逆量子化を行い、量子化部2407に通知する。
一方、レート制御部2403は、目標変換レートに従って、目標量子化スケールを算出して、算出した目標量子化スケールを量子化スケール増加変換部2404に通知する。
量子化スケール増加変換部2404は、目標量子化スケールを参考に、入力時の量子化スケールから出力時の新しい量子化スケールに変換し、変換した量子化スケールを量子化部2407に通知すると同時に、変換した量子化スケールをMBヘッダ格納部2405に通知する。
MBヘッダ格納部2405では、量子化スケールを量子化スケールコードに変換し、新しい値に書き換える。MBヘッダ格納部2405は、MBヘッダに該当するパラメータを可変長符号部2402に通知する。これにより、MBヘッダ部のストリームが得られる。
また、量子化部2407は、新しい量子化スケールにしたがって、量子化を行い、その結果得られる量子化DCT係数を可変長符号部2402に通知する。これにより、MBブロック部のストリームが得られる。
レート制御部2403は、随時、可変長復号部2401から復号したビット量を取得し、かつ、可変長符号部2402から符号化されたビット量を得て、目標レートの補正を行う。
次に、量子化スケール再変換型の符号化レート変換装置11000におけるレート制御の詳細を説明する。
MPEG2では、ISO−IEC/JTC1/SC29/WG11/N0400 Test Model 5(以下、TM5と記載)に符号化時のレート制御方式が記載されており、符号化レート変換においても、TM5と同等の方式が用いられている(特許文献1参照)ことが多い。そのため、まずはTM5を説明する。TM5のレート制御方式は3つのステップから成り立っている。
ステップ1は、目標ビットレートからピクチャごとにビット配分を行うフェーズである。ステップ2は、ピクチャごとに配分されたビットを元に量子化スケールを算出するフェーズである。ステップ3は、視覚的特性を考慮して量子化スケールを補正するフェーズである。
ステップ1では、目標符号化レートやピクチャ構成(I,P,Bピクチャ)などに従って、ピクチャごとにビットを配分することが数式で規定されているが、本発明には直接関係しないので、詳細は省略する。
ステップ2では、仮想的な基準復号部を想定し、仮想バッファに対するレート制御を行う。このレート制御処理では、I,P,Bピクチャにそれぞれ割り当てられたビット量Ti、Tp、Tbと、実際にI,P,Bピクチャでそれぞれ発生するビット量Si、Sp、Sbとをそれぞれ一致させるための処理が行なわれる。具体的には、ピクチャタイプごとに個別に設定した3種類の仮想バッファ容量に基づいて、量子化スケールをマクロブロック単位のフィードバック制御で求める。I,P,Bピクチャ内のj番目のマクロブロックの符号化時に使用する仮想バッファの占有量di(j)、dp(j)、db(j)は、以下の式で与えられる。
dk(j)=dk(0)+B(j−1)−Tk×(j−1)/NMB (ただしk=i,p,b)
ここで、di(0)、dp(0)、db(0)は仮想バッファの初期占有量である。B(j−1)は(j−1)番目までのマクロブロックの発生符号量の総和である。NMBはピクチャのマクロブロック数である。上記仮想バッファの占有量に基づき、I,P,Bピクチャ内のj番目のマクロブロックの量子化スケールmqi(j)、mqp(j)、mqb(j)は、以下の式で与えられる。
mqk(j)=dk(j)×31/r (ただしk=i,p,b)
ここで、rはリアクションパラメータと呼ばれる定数である。ステップ3は、本発明には直接関係しないので、詳細は省略する。
次に、量子化スケール再変換型の符号化レート変換装置における量子化スケール変換の詳細を説明する。
レート制御により量子化スケールが得られる。しかし、符号化レート変換においてその量子化スケールをそのまま利用することは必ずしも得策ではない。例えば、TM5は入力ストリームとは無関係に量子化スケールを算出する。そのため、入力ストリームの量子化スケールqik(j)と比較して、レート制御で得られた量子化スケールmqk(j)が小さい場合が発生する。その場合に、量子化スケールにmqk(j)をそのまま用いると、出力されるビット量が入力ストリームより増加することになる。
しかし、入力ストリームを変換して出力する以上、出力ストリームの量子化誤差が入力ストリームの量子化誤差より小さくなることはありえないので、ここでのビット量の増加は全くの無意味である。したがって、出力ストリームの量子化スケールqok(j)は、
qok(j)=max{qik(j),mqk(j)} (ただしk=i,p,b)
とするのがよい。また、それ以外にも、出力ストリームの量子化スケールqok(j)に対して、レート制御で得られた量子化スケールmqk(j)をそのまま用いるのではなく、
qok(j)=
qik(j) (mqk(j)<1.5×qik(j)の場合)
2×qik(j) (1.5×qik(j)≦mqk(j)<2×qik(j)の場合)
mqk(j) ( 2×qik(j)<mqk(j)の場合)
(ただしk=i,p,b)
とするほうが、同一符号量あたりの画質劣化が抑えられるとの報告もある(特許文献2参照)。いずれの場合であっても、出力ストリームの量子化スケールは、レート制御で得られた量子化スケールをそのまま用いるのではなく、レート制御で得られた量子化スケールを参照して、入力ストリームの量子化スケールを増加方向に変換すればよいことになる。
次に、量子化スケール再変換型の符号化レート変換装置11000における量子化の具体例を図6を用いて説明する。
レート制御や量子化スケール変換の結果、量子化スケールが4から8に、すなわち2倍に変換されることになったとする。前述した逆量子化の式を参照すると、量子化DCT係数は量子化スケールにほぼ反比例させる必要があるため、量子化DCT係数は1/2倍に変換する必要がある。
8個の非0量子化DCT係数(level)7、−3、2、1、4、1、−1、1が存在するInterMBのブロックにおいては、本来3.5、−1.5、1、0.5、2、0.5、−0.5、0.5に変換するのが望ましい。しかしながら、量子化DCT係数は整数でしか符号化できないため、3.5、−1.5、1、0.5、2、0.5、−0.5、0.5は、それぞれ3、−1、1、0、2、0、0、0に整数化(ここでは小数点以下は切捨てとする)され、levelの値が減少する。
また、非0係数の個数が変換前の8個から変換後は4個に減少する。これを符号化すると、入力時50bitだった符号量が、25bitに減少させることができるので、符号化レートを低減することができる。
しかし、整数化(小数点以下を切り捨て)の際には誤差(量子化誤差)が発生する。量子化スケールは量子化DCT係数のすべての周波数成分にかかる係数である。そのため、低周波成分から高周波成分に至るまでのすべての周波数で一律に誤差が発生する可能性がある。中でも低周波成分に対する誤差に対しては、人間の視覚は非常に敏感であり、その誤差がブロック状のノイズとして観察される。
量子化スケール再変換型の符号化レート変換装置では、量子化スケールだけで符号化レートを制御する必要があるため、目標符号化レートを達成するために、量子化スケール変換率を大きくしなければならないので、上記の低周波成分の誤差に起因するブロックノイズが大規模に発生する可能性がある。ここで、量子化スケール変換率は、量子化スケールの値を変換するための値である。
一方、再量子化型の符号化レート変換方法として、量子化スケール再変換型の符号化レート変換方式だけではなく、量子化マトリクス再変換型の符号化レート変換方式も存在する(特許文献3参照)。
量子化マトリクスは、ブロックサイズ(8×8)の係数群である。量子化マトリクスは、量子化スケールと違い、周波数成分ごとに係数が独立しているため、周波数成分ごとに変換率を変更して量子化誤差を制御すれば、量子化スケール再変換型の符号化レート変換装置における課題を解決できる可能性がある。
量子化マトリクス再変換型の符号化レート変換装置12000を図7に示す。
可変長復号部2501は、MPEG2ストリームを復号する。可変長復号部2501は、復号により得られた量子化マトリクスを含むピクチャヘッダをピクチャヘッダ格納部2505に通知すると同時に、量子化マトリクス高域増加変換部2504に通知する。
レート制御部2503は、目標変換レートに基づいて、当該ピクチャの目標符号量を、量子化マトリクス高域増加変換部2504に通知する。
量子化マトリクス高域増加変換部2504は、制御情報に基づいて、入力ストリームの量子化マトリクスの高周波成分(高域)の係数を増加方向に変換し、変換された係数を示す変換後の量子化マトリクスを量子化部2507に通知すると同時に、変換後の量子化マトリクスをピクチャヘッダ格納部2505に通知する。
ピクチャヘッダ格納部2505は、ピクチャヘッダを可変長符号部2502に通知する。これにより、ピクチャヘッダのストリームが得られる。
次に、MBの処理としては、可変長復号部2501が、MBヘッダを、可変長符号部2502に直接通知する(図示していない)。また、可変長復号部2501は、MBのブロック部の量子化DCT係数などのパラメータを逆量子化部2506に通知する。
また、量子化部2507は、新しい量子化マトリクスにしたがって、量子化を行い、その結果得られる量子化DCT係数を可変長符号部2502に通知する。これにより、MBブロック部のストリームが得られる。
すべてのMBに対し処理が終了した後、レート制御部2503は、可変長復号部2501から復号されたビット量を得て、可変長符号部2502から符号化されたビット量を得て、目標レートの補正を行う。
次に、量子化マトリクス再変換型の符号化レート変換装置におけるレート制御の詳細を説明する。
当該ピクチャの目標符号量の算出は、量子化スケール再変換型の符号化レート変換装置11000と同様、TM5のステップ1を適用すればよいので、ここでは説明を省略する。
しかし、マクロブロック単位の制御は、量子化スケール再変換型の符号化レート変換装置11000ではTM5のステップ2を利用していたが、これは量子化スケールを変更する方法のため、本方式には適用できない。
次に、量子化マトリクス再変換型の符号化レート変換装置12000における量子化マトリクス変換の詳細を説明する。
ここでは量子化マトリクスの変換を制御する一例として、例えば、I,P,Bピクチャのi番目のピクチャの量子化マトリクス強度wi(i)、wp(i)、wb(i)を定義し、前のピクチャの実績値(目標と符号化結果の差)に基づいて、その強度を制御する例を取り上げる。
wk(i)=
max{1,wk(i−1)+1} (Bk(i−1)<Tk(i−1)+Cの場合)
wk(i−1) (Tk(i−1)−C≦Bk(i−1)≦Tk(i−1)+Cの場合)
min{4,wk(i−1)−1} (Tk(i−1)−C<Bk(i−1)の場合)
(ただしk=i,p,b)
ここで、Ti(i−1)、Tp(i−1)、Tb(i−1)は、I,P,Bピクチャの(i−1)番目のピクチャの目標符号量を示す定数である。Bi(i−1)、Bp(i−1)、Bb(i−1)は、I,P,Bピクチャの(i−1)番目のピクチャの実際の符号量を示す定数である。Cは目標の値と実際の値の差として許容可能な符号量を示す定数である。上記式により、量子化マトリクスは、目標符号化レートが達成できていれば強度を弱め、目標符号化レートが達成できていなければ強度を強めるように制御される。
次に、出力ストリームの量子化マトリクスの係数を、以下の式(以下、マトリクス変換式という)に基づいて、入力ストリームの量子化マトリクスの係数から変換する。なお、出力ストリームおよび入力ストリームの量子化マトリクスは、8行8列の行列であるとする。
Wo(u,v)=
Wi(u,v) (u+v≦ε(低周波成分)の場合)
wk(i)×Wi(u,v) (u+v>ε(高周波成分)の場合)
(ただしk=i,p,b)
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する閾値(基準周波数)を示す定数である。
次に、量子化マトリクス再変換型の符号化レート変換装置12000における量子化の具体例を図8を用いて説明する。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加させることになったとする。ここで、上記のマトリクス変換式において、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
前述した逆量子化の式から、量子化DCT係数は量子化マトリクスにほぼ反比例させる必要がある。そのため、量子化DCT係数の高周波成分の量子化DCT係数を1/2倍に変換する必要がある。
非0量子化DCT係数が7、−3、2、1、4、1、−1、1の合計8個で、うち前半の3個が低周波成分に該当するInterMBのブロックが変換対象の場合、低周波成分の係数は、変換不要である。また、高周波成分の量子化DCT係数は、本来0.5、2、0.5、−0.5、0.5に変換されるのが望ましいが、それぞれ0、2、0、0、0に整数化される。
これにより、量子化DCT係数の低周波成分は量子化誤差が発生しない一方、高周波成分は非0量子化DCT係数のlevel低減、非0係数の個数削減により、入力時50bitだった符号量が、35bitに減少される。そのため、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、符号化レートを削減することができる。
しかし、符号化レート変換装置12000では、量子化マトリクスがピクチャ単位でしか設定できないため、細かく符号化レートを制御できず、最悪、数十ピクチャ経過しないと符号化レートを目標レートに収束させることができない可能性がある。
例えば、符号化レート変換装置12000をネットワークの帯域に応じた符号化レート変換に適用させる場合、少なくともピクチャ単位やGOP単位で符号化レートを追随させることが要求される。しかしながら、符号化レート変換装置12000ではこの要求を満たすことができず、一定時間ネットワークの帯域を越えたストリームを配信することで、画像を乱れさせてしまう可能性がある。
また、MPEG2規格では、ピクチャごとのビット量がバッファモデルとして規定されているため、ピクチャ単位で規格の範囲内になるようにビット量を制御する必要があるが、符号化レート変換装置12000はこの制御の実現が困難なため、規格違反のストリームを出力してしまう可能性も存在する。
なお、上記で説明した量子化スケール再変換型の符号化レート変換方式と、量子化マトリクス再変換型の符号化レート変換方式を組み合わせた符号化レート変換方式(統合方式)も存在する(特許文献1参照)。
図9に量子化スケール再変換型と量子化マトリクス再変換型の統合方式(以降、統合方式と記載)の符号化レート変換装置13000を示す。
符号化レート変換装置13000は、図5の量子化スケール再変換型の符号化レート変換装置11000と、図7の量子化マトリクス再変換型の符号化レート変換装置12000をそのまま組み合わせた構成となっているため、説明は省略する。
また、統合方式の符号化レート変換装置13000におけるレート制御、量子化マトリクス変換、量子化パラメータ変換は、量子化スケール再変換型の符号化レート変換装置11000および量子化マトリクス再変換型の符号化レート変換装置12000と同等の方法で実施可能なため、説明は省略する。
また、統合方式の符号化レート変換装置13000における量子化の具体例を図10を用いて説明する。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加したとする。またレート制御や量子化スケール変換の結果、量子化スケールを4から8に、すなわち2倍に増加させることになったとする。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の係数を1×1/2=1/2倍に変換し、高周波成分を1/2×1/2=1/4倍に変換する必要がある。
非0量子化DCT係数が7、−3、2、1、4、1、−1、1の合計8個で、うち前半の3個が低周波成分に該当するInterMBのブロックが変換対象であるとする。この場合、低周波成分の係数は、3.5、−1.5、1を整数化した3、−1、1に変換される。高周波成分の係数は、0.25、1、0.25、−0.25、0.25を整数化した0、1、0、0、0に変換される。これにより、入力時50bitだった符号量を、20bitに減少させることができる。
上記の統合方式の符号化レート変換装置13000においては、量子化スケール再変換型の符号化レート変換装置11000と量子化マトリクス再変換型の符号化レート変換装置12000の両方の要素を組み合わせた性質を持つことがわかる。また、符号化レート変換装置13000は、目標レートからのずれを量子化スケールを変化させることでマクロブロック単位で補正しながら変換することができる。したがって、符号化レート変換装置13000は、量子化マトリクス再変換方式で存在した、細かく符号化レートを制御することができないといった課題を解決する。
また、符号化レート変換装置13000は、符号量の削減が、量子化スケール変換だけでなく、量子化マトリクス変換によっても可能になる。そのため、量子化マトリクス変換においては、低周波成分の量子化誤差は発生しないので、同一の符号化レートにおいては、量子化スケール変換による低周波成分の量子化誤差の発生規模は低減される。したがって、符号化レート変換装置13000は、量子化スケール再変換方式で存在した低周波成分の量子化誤差が大規模に発生するという課題を解決する。
したがって、上記の統合方式の符号化レート変換装置13000は、量子化スケール再変換方式と量子化マトリクス再変換方式のそれぞれの欠点を補完した形で、量子化スケールおよび量子化マトリクスを変換することができる。
特開2001−078194号公報 特開2001−204028号公報 特開2005−210502号公報
上記の統合方式の符号化レート変換装置13000を用いれば、DCT係数の低周波成分の量子化誤差が抑制される。しかしながら、符号化レート変換装置13000では、DCT係数の高周波成分に量子化誤差が発生した場合、低周波成分には及ばないものの、やはり画面の精細感が低減したり、モスキート状のノイズが発生したりなど、画質劣化の傾向が見られることがある。
一般的に符号化レートと画質はトレードオフの関係にある。そのため、ブロックレベルで見ると、符号化レートの低減と高周波係数の量子化誤差による画質劣化は不可避ではあるが、ピクチャレベルで見ると、必ずしもそれが成り立たない場合がある。
例えば、平坦で低精細の背景に対して、小さい人間の姿が高精細に映っている映像のように、ピクチャ内で精細度が異なるとする。この場合、背景の画像に対応する低精細のMBのDCT係数の低周波成分の量子化誤差より、人間の画像に対応する高精細のMBのDCT係数の高周波成分の量子化誤差を抑えるほうが、全体的な画質劣化を抑制できることがある。
その場合、高精細のMBでは、高周波係数も含めて量子化誤差を抑制し、低精細のMBでは、上記のMBで符号量が削減できなかった分も含めて、符号量を削減するといったように制御するのが望ましい。
しかし、上記の統合方式の符号化レート変換装置13000では、高精細のMBでは量子化スケールを増加させず、低精細のMBでは量子化スケールを大幅に増加させるといった重み付けで量子化スケールの制御を行ったとしても、ピクチャヘッダで量子化マトリクスの高周波成分を増加させている。そのため、符号化レート変換装置13000では、量子化スケールを増加させなくても、高周波成分の量子化誤差が発生する。
すなわち、上記の統合方式の符号化レート変換装置13000では、全体のMBのDCT係数の低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、精細度の高いMBなどの特定のMBではDCT係数の低周波成分だけでなく高周波成分の量子化誤差に起因する画質劣化も抑制可能な符号化レート変換を実現することができない。
また、これまでMPEG2に基づいて説明を行ったが、DCT変換あるいはそれに順ずる直交変換に基づいた符号化を行う画像コーデックであり、量子化マトリクスをピクチャ単位に指定し、量子化スケールをマクロブロック単位に指定する画像コーデックであれば同様の課題が存在する。上記に該当する画像コーデックとしては、例えば、JPEG、MPEG1、MPEG4、H.264などが存在する。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制可能な符号化レート変換装置等を提供することである。
上述の課題を解決するために、本発明のある局面に従う符号化レート変換装置は、ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られるピクチャの符号化データの符号化レートを変換するための装置である。量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定される。量子化マトリクスは、符号化データから得られるピクチャ単位で設定される。符号化レート変換装置は、複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化部と、第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、複数の係数のうち低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換部と、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、第2量子化マトリクスが符号化データの符号化レートを小さくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出部と、複数の係数データの少なくとも一部を、第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、逆量子化部により逆量子化される前の符号化レートより小さい符号化レートの符号化データを生成する再量子化部とを備える。
本発明の他の局面に従う符号化レート変換方法は、ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られるピクチャの符号化データの符号化レートを変換するための方法である。量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定される。量子化マトリクスは、符号化データから得られるピクチャ単位で設定される。符号化レート変換方法は、複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化ステップと、第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、複数の係数のうち低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換ステップと、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、第2量子化マトリクスが符号化データの符号化レートを小さくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出ステップと、複数の係数データの少なくとも一部を、第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、逆量子化ステップにより逆量子化される前の符号化レートより小さい符号化レートの符号化データを生成する再量子化ステップとを備える。
すなわち、本発明に従う符号化レート変換装置および符号化レート変換方法によれば、符号化データを構成する複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する。第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する低周波係数の値を変換するための第1変換値と、高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する。
第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出する。複数の係数データの少なくとも一部を、第2量子化マトリクスと、少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化する。
ここで、低周波係数の値を変換するための第1変換値と、高周波係数の値を変換するための、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを変換した第2量子化マトリクスは、低周波係数の値が、高周波係数の値より小さいマトリクスであるであるとする。
すなわち、量子化に使用される第2量子化マトリクスは、低周波係数の値が、高周波係数の値より小さいマトリクスであるとする。なお、量子化マトリクスはピクチャ単位で設定される。また、量子化に使用される量子化マトリクスの係数の値は小さいほど、量子化における量子化誤差は小さくなる。
また、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値が量子化に使用される。なお、量子化スケールは、複数のマクロブロックの各々に対し値が設定される。なお、量子化スケールの値は、量子化に使用される前の量子化マトリクスの全ての係数に乗算される。そのため、量子化スケールの値は小さいほど、量子化における量子化誤差は小さくなる。
ここで、量子化に使用される変換後スケール値が、少なくとも1つのマクロブロックに対応する量子化スケールの値を1倍した値であるとする。この場合、量子化に使用される第2量子化マトリクスの全ての係数(低周波成分および高周波成分の係数)は変化しないことになる。
そのため、低周波係数の値が高周波係数の値より小さい第2量子化マトリクスを使用して量子化が行なわれることにより、低周波成分の量子化誤差の発生を抑制することができるとともに、少なくとも1つのマクロブロックにおいて高周波成分の量子化誤差の発生を抑制することができる。すなわち、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本発明は、符号化レート変換方法で行なわれる処理を、コンピュータに実行させるプログラムとしても実現することもできる。また、本発明は、当該プログラムを格納するコンピュータ読み取り可能な記録媒体、集積回路としても実現することができる。
本発明によれば、符号化データを構成する複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する。第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する低周波係数の値が、高周波係数の値より小さくなるように、第1量子化マトリクスを第2量子化マトリクスに変換する。第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出する。複数の係数データの少なくとも一部を、第2量子化マトリクスと、少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化する。
すなわち、量子化に使用される第2量子化マトリクスは、所定周波数より低い周波数に対応する低周波係数の値が、高周波係数の値より小さいマトリクスである。また、量子化に使用される量子化マトリクスの係数の値は小さいほど、量子化における量子化誤差は小さくなる。
また、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値が量子化に使用される。なお、量子化スケールの値は、量子化マトリクスの全ての係数に乗算される。そのため、量子化スケールの値は小さいほど、量子化における量子化誤差は小さくなる。
ここで、量子化に使用される変換後スケール値が、少なくとも1つのマクロブロックに対応する量子化スケールの値を1倍した値であるとする。この場合、量子化に使用される第2量子化マトリクスの全ての係数(低周波成分および高周波成分の係数)は変化しないことになる。
そのため、低周波係数の値が高周波係数の値より小さい第2量子化マトリクスを使用して量子化が行なわれることにより、低周波成分の量子化誤差の発生を抑制することができるとともに、少なくとも1つのマクロブロックにおいて高周波成分の量子化誤差の発生を抑制することができる。すなわち、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
図1は、MPEG2の量子化スケールと量子化パラメータの対応を示す図である。 図2Aは、MPEG2のDCT係数の符号化順(スキャン順)を示す図である。 図2Bは、MPEG2のDCT係数の符号化順(スキャン順)を示す図である。 図3は、MPEG2の復号化装置の一例の構成を示すブロック図である。 図4は、MPEG2の符号化装置の一例の構成を示すブロック図である。 図5は、従来の量子化スケール再変換型の符号化レート変換装置の一例の構成を示すブロック図である。 図6は、従来の量子化スケール再変換型の符号化レート変換装置でのMBの変換の一例を示す図である。 図7は、従来の量子化マトリクス再変換型の符号化レート変換装置の一例の構成を示すブロック図である。 図8は、従来の量子化マトリクス再変換型の符号化レート変換装置でのMBの変換の一例を示す図である。 図9は、従来の量子化スケール再変換型と量子化マトリクス再変換型を統合した符号化レート変換装置の一例の構成を示すブロック図である。 図10は、従来の量子化スケール再変換型と量子化マトリクス再変換型を統合した符号化レート変換装置でのMBの変換の一例を示す図である。 図11は、本発明の実施の形態1における符号化レート変換装置の構成を示すブロック図である。 図12は、符号化レート変換処理のフローチャートである。 図13は、ピクチャ処理のフローチャートである。 図14は、MB処理のフローチャートである。 図15は、量子化スケール変換処理のフローチャートである。 図16Aは、量子化スケールの値の変換例を説明するための図である。 図16Bは、量子化スケールの値の変換例を説明するための図である。 図17は、本発明の実施の形態1の符号化レート変換装置での通常MBの変換の一例を示す図である。 図18は、本発明の実施の形態1の符号化レート変換装置での重要MBの変換の一例を示す図である。 図19Aは、本発明の実施の形態1の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図19Bは、本発明の実施の形態1の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図20Aは、変換前の量子化マトリクスを示す図である。 図20Bは、実施の形態1の処理により変換された後の量子化マトリクスを示す図である。 図20Cは、量子化マトリクスに対して使用される数値および処理を示す図である。 図21は、実施の形態2における符号化レート変換装置1000Aの構成を示すブロック図である。 図22は、本発明の実施の形態2の符号化レート変換装置での量子化スケール変換の一例を示す図である。 図23は、本発明の実施の形態2の符号化レート変換装置での重要MBの変換の一例を示す図である。 図24Aは、本発明の実施の形態2の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図24Bは、本発明の実施の形態2の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図25Aは、変換前の量子化マトリクスを示す図である。 図25Bは、実施の形態2の処理により変換された後の量子化マトリクスを示す図である。 図25Cは、量子化マトリクスに対して使用される数値および処理を示す図である。 図26は、実施の形態3における符号化レート変換装置1000Bの構成を示すブロック図である。 図27は、量子化マトリクスの変換方法を判定するための判定テーブルを示す図である。 図28Aは、実施の形態4の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図28Bは、実施の形態4の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図29Aは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Bは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Cは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Dは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図30は、本発明の実施の形態5のストリーム受信記録装置の一例の構成を示すブロック図である。 図31は、本発明の実施の形態6のネットワーク配信システムの一例の構成を示すブロック図である。
符号の説明
101 可変長復号部
102 可変長符号部
103 レート制御部
104 量子化スケール増加変換部
104A 量子化スケール増加・削減変換部
105 MBヘッダ格納部
106 逆量子化部
107 量子化部
108 量子化マトリクス低域削減変換部
108A 量子化マトリクス高域増加変換部
109 ピクチャヘッダ格納部
110,110A,110B 量子化マトリクス変換制御部
1000,1000A,1000B 符号化レート変換装置
2008 放送ストリーム受信記録装置
2001,2101 符号化レート変換部
2110 ストリーム送信装置
2111 ストリーム受信装置
5000 ネットワーク配信システム
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
(実施の形態1)
以下、本発明の実施の形態について、図面を参照しながら説明する。
図11は、本発明の実施の形態1における符号化レート変換装置1000の構成を示すブロック図である。
符号化レート変換装置1000は、可変長復号部101と、可変長符号部102と、レート制御部103と、量子化スケール増加変換部104と、MBヘッダ格納部105と、量子化マトリクス低域削減変換部108と、ピクチャヘッダ格納部109と、量子化マトリクス変換制御部110とを備える。
可変長復号部101には、複数のピクチャを復元するためのストリームが入力される。以下においては、可変長復号部101に入力されるストリームを入力ストリームという。入力ストリームは、ピクチャの符号化により得られる符号化データである。可変長復号部101は、入力ストリームとしてのMPEG2ストリームを復号し、復号により得られた量子化マトリクスを含むシーケンスヘッダやピクチャヘッダをピクチャヘッダ格納部109に通知する。また、可変長復号部101は、シーケンスヘッダの通知と同時に、量子化マトリクスを量子化マトリクス低域削減変換部108に通知する。
また、可変長復号部101は、MBヘッダ部のパラメータをMBヘッダ格納部105に通知する。また、可変長復号部101は、パラメータの通知と同時に、MBヘッダ部が示す量子化スケールコード(量子化パラメータ)を量子化スケールに変換し、得られた量子化スケールを量子化スケール増加変換部104および量子化マトリクス変換制御部110に通知する。また、可変長復号部101は、MBブロック部の量子化DCT係数などのパラメータを逆量子化部106に通知する。
逆量子化部106は、通知されたパラメータが示す、入力ストリームの量子化マトリクスおよび量子化スケールに基づき、MBのブロック部の量子化DCT係数の逆量子化を行って、DCT係数を算出し、算出したDCT係数を量子化部107に通知する。
レート制御部103は、先頭のピクチャを処理する際において、ピクチャ構成(I,P,Bピクチャ)や符号化レートなどの情報から当該ピクチャの目標符号量を決定し、決定した目標符号量を量子化マトリクス変換制御部110に通知する。また、レート制御部103は、マクロブロックごとに、目標量子化スケールを算出し、算出した目標量子化スケールを量子化マトリクス変換制御部110に通知する。
量子化マトリクス変換制御部110は、先頭のピクチャを処理する際において、当該ピクチャの目標符号量などに基づいて量子化マトリクスの変換制御情報を算出する。そして、量子化マトリクス変換制御部110は、算出した変換制御情報を、量子化マトリクス低域削減変換部108に通知する。また、量子化マトリクス変換制御部110は、マクロブロックごとに、量子化マトリクスの制御情報に基づいて、目標量子化スケールを補正して、補正した目標量子化スケールを量子化スケール増加変換部104に通知する。
量子化マトリクス低域削減変換部108は、量子化マトリクスの変換制御情報に基づいて、入力ストリームの量子化マトリクスの低周波成分の係数を削減方向に変換する。そして、量子化マトリクス低域削減変換部108は、変換後の量子化マトリクスを量子化部107およびピクチャヘッダ格納部109に同時に通知する。
量子化スケール増加変換部104は、目標量子化スケールを基準として、当該MBの重要性を評価して、入力ストリームの量子化スケールを増加方向に変換することにより、出力ストリームの量子化スケールを算出する。そして、量子化スケール増加変換部104は、算出した量子化スケールを、量子化部107およびMBヘッダ格納部105に同時に通知する。
ピクチャヘッダ格納部109は、可変長復号部101から通知されたシーケンスヘッダやピクチャヘッダを、内部のバッファ(図示せず)に格納し、量子化マトリクス低域削減変換部108の要求により内部のバッファ内のデータを書き換える。そして、ピクチャヘッダ格納部109は、バッファに格納されているシーケンスヘッダやピクチャヘッダを可変長符号部102に通知する。
MBヘッダ格納部105は、可変長復号部101から通知されたMBヘッダを、内部のバッファ(図示せず)に格納し、量子化スケール増加変換部104の要求により、量子化スケールを量子化スケールコードに変換し、バッファ内のデータを新しい値に書き換える。そして、MBヘッダ格納部105は、内部のバッファに格納されているMBヘッダを可変長符号部102に通知する。
量子化部107は、逆量子化部106が行なう逆量子化により算出されたDCT係数を、量子化マトリクス低域削減変換部108によって算出された量子化マトリクスと、量子化スケール増加変換部104によって算出された量子化スケールとに従って、再量子化を行なう。そして、量子化部107は、再量子化により得られた量子化DCT係数を、量子化部107の内部の係数バッファ(図示せず)に格納する。さらに、量子化部107は、得られた量子化DCT係数を可変長符号部102に通知する。
可変長符号部102は、ピクチャヘッダ格納部109から通知された量子化マトリクスを含むシーケンスヘッダやピクチャヘッダを符号化する。また、可変長符号部102は、MBヘッダ格納部105から通知されたMBヘッダ部が示す情報を符号化する。また、可変長符号部102は、量子化部107から得たMBのブロック部の量子化DCT係数を符号化する。そして、可変長符号部102は、上記の符号化により得られたデータからMPEG2ストリーム(以下、出力ストリームという)を構成する。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう処理(以下、符号化レート変換処理という)について説明する。なお、本発明の符号化レート変換処理は、入力ストリームとしての符号化データの符号化レートを小さくするための処理である。すなわち、符号化レート変換処理が行なわれることにより、処理後の符号化データの符号化レートは、符号化レート変換処理が行なわれる前の符号化データの符号化レートより小さくなる。
図12は、符号化レート変換処理のフローチャートである。
まず、必要に応じて、レート制御部103の設定が行なわれ、符号化レート変換処理においてレート制御部103が目標ビットを算出可能な状態にされる(S301)。次に、可変長復号部101は、入力ストリーム中に量子化マトリクスが符号化されていなかった場合に備え、ストリームのシーケンスヘッダの復号前に、MPEG2で規定されたデフォルトの量子化マトリクスを、量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S302)。
次に、可変長復号部101は、入力ストリームを復号することにより得られたシーケンスヘッダを、ピクチャヘッダ格納部109の内部のバッファ(図示せず)に格納する(S303)。
可変長復号部101は、復号により得られたシーケンスヘッダの中に量子化マトリクスが含まれている場合(S304でYES)、その量子化マトリクスを量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S305)。この場合、ステップS302で設定されていたデフォルトの量子化マトリクスがシーケンスヘッダの中の量子化マトリクスにより上書きされる。
また、シーケンスヘッダの中に量子化マトリクスが含まれない場合(S304でNO)、ステップS302で設定されていたデフォルトの量子化マトリクスがそのまま使用されることになる。
次に、可変長符号部102が、ピクチャヘッダ格納部109に格納されたシーケンスヘッダの情報を符号化する(S306)。次に、ピクチャ処理が行なわれる(S307)。ピクチャ処理は、ピクチャ単位の処理である。ピクチャ処理は、ストリームにおける次のシーケンスヘッダが到達する(S308でYES)まで繰り返し行なわれる(S308でNO)。
図13は、ピクチャ処理のフローチャートである。
まず、必要に応じて、レート制御部103の設定が行なわれ、ピクチャ処理において処理対象のピクチャにおける目標ビットが算出される(S401)。
次に、可変長復号部101は、入力ストリームを復号することにより得られたピクチャヘッダを、ピクチャヘッダ格納部109の内部のバッファ(図示せず)に格納する(S402)。
可変長復号部101は、復号により得られたピクチャヘッダの中に量子化マトリクスが含まれている場合(S403でYES)、その量子化マトリクスを量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S404)。復号により得られたピクチャヘッダに量子化マトリクスが含まれていない場合(S403でNO)、符号化レート変換処理により設定された量子化マトリクスがそのまま量子化マトリクス低域削減変換部108により利用される。
次に、量子化マトリクス変換制御部110は、レート制御部103から得られた目標符号量などに基づき、処理対象のピクチャに量子化マトリクス変換を適用するか否かを判定する(S405)。
量子化マトリクス変換を適用する場合(S406でYES)、量子化マトリクス変換制御部110は、レート制御部103から得られた目標符号量などに基づき、量子化マトリクスの変換制御情報を求める(S407)。詳細は後述するが、量子化マトリクス低域削減変換部108は、量子化マトリクスの変換制御情報に基づいて、ステップS302,S305,S404のいずれかの処理で設定された量子化マトリクスの低周波成分の係数を減少方向または増加方向に変換する(S408)。
次に、量子化マトリクス低域削減変換部108は、変換後の量子化マトリクスをピクチャヘッダ格納部109に格納する。また、可変長符号部102は、ピクチャヘッダ格納部109に格納されたピクチャヘッダの符号化を行う(S409)。
次に、MB処理が行なわれる(S410)。MB処理は、マクロブロック単位の処理である。処理対象のピクチャに対応するマクロブロックの数はピクチャヘッダが示す情報により算出できる。MB処理は、処理対象のピクチャに対応する全てのマクロブロックに対して行なわれる。全てのマクロブロックに対してMB処理が行なわれた場合(S411でYES)、このピクチャ処理は終了し、図12の符号化レート変換処理に戻り、ステップS308の処理が再度行なわれる。
図14は、MB処理のフローチャートである。
まず、レート制御部103は、ステップS401で算出された処理対象のピクチャにおける目標ビットや処理対象のピクチャの変換実績値から、レート制御の基準とする仮想バッファの状態を更新し、処理対象のマクロブロックの目標量子化スケールを算出する(S501)。
次に、量子化マトリクス変換制御部110は、ステップS407で求めた量子化マトリクス変換制御情報に基づいて、目標量子化スケールを補正する(S502)。また、量子化マトリクス変換制御部110は、補正後の目標量子化スケールの値を、量子化スケール増加変換部104に通知する。
次に、可変長復号部101は、入力ストリームを復号することにより得られた、処理対象のMBのMBヘッダ部が示す情報を、MBヘッダ格納部105の内部のバッファ(図示せず)に格納する(S503)。また、可変長復号部101は、上記復号により得られた処理対象のMBのMBヘッダ部が示す情報を、量子化マトリクス変換制御部110へ通知する。処理対象のMBのMBヘッダ部が示す情報は、対応するMBの量子化スケールコードを示す。
次に、量子化スケール変換処理が行なわれる(S504)。
図15は、量子化スケール変換処理のフローチャートである。
まず、量子化マトリクス変換制御部110が、重要MBがあるか否かを判定する(S601)。重要MBは、一例として、復号されることにより所定の精細度より精細度の高い画像を示すマクロブロックであるとする。すなわち、重要MBは、当該重要MBが復号されることにより得られる画像(以下、復号ブロック画像という)が、たとえば、高精細な画像を示すMBである。すなわち、重要MBは、当該重要MBが復号されることにより得られる復号ブロック画像が、所定周波数よりも高い周波数成分の画像を示すMBである。
この場合、重要MBは、一例として、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBであるとする。以下においては、重要MB以外のMBを、通常MBという。
量子化マトリクス変換制御部110は、処理対象のMBが重要MBである場合、重要MBがあると判定する(S601でYES)。また、量子化マトリクス変換制御部110は、処理対象のMBが重要MBである場合、処理対象のMBが重要MBである旨を、量子化スケール増加変換部104に通知する。一方、量子化マトリクス変換制御部110は、処理対象のMBが通常MBである場合、重要MBがないと判定する(S601でNO)。
詳細は後述するが、重要MBがあると判定されると、量子化スケール増加変換部104は、通知された目標量子化スケールの値に、ある値(たとえば、1以下の値)を乗算することにより、量子化スケールの値を算出する(S602)。そして、この量子化スケール変換処理は終了し、図14のMB処理に戻り、ステップS505の処理が行なわれる。
ステップS505では、量子化スケール増加変換部104が、重要MBがあると判定された場合、算出した量子化スケールの値を量子化スケールコードに変換する。そして、量子化スケール増加変換部104は、MBヘッダ格納部105に格納した処理対象のMBのMBヘッダ部が示す量子化スケールコードを、変換した量子化スケールコードに置き換える。
また、ステップS505では、量子化スケール増加変換部104が、重要MBがないと判定された場合、通知された目標量子化スケールの値を量子化スケールコードに変換する。そして、量子化スケール増加変換部104は、MBヘッダ格納部105に格納した処理対象のMBのMBヘッダ部が示す量子化スケールコードを、変換した量子化スケールコードに置き換える。
以上で、MBヘッダ部が示す情報の更新処理は一旦終了し、量子化DCT係数の変換の処理に移行する。
まずは、符号化されている複数のMBのうち、まだ復号されていないMBがあるか否かが判定される(S506)。すなわち、処理対象のMBに対応するピクチャに対応する全てのMBが復号されてないか否かが判定される。復号されていないMBがあれば(S506でYES)、可変長復号部101は、符号化されている処理対象のMBが示す複数の量子化DCT係数を所定の順序でステップS507の処理毎に1つずつ復号する(S507)。
MPEG2ではIntraMBのDC係数は、量子化スケールとは独立に量子化される。そのため、本実施の形態ではDC係数は変換の対象外とする。処理対象の量子化DCT係数がIntraMBのDC係数でない場合、あるいはブロック終端EOB(End Of Block)に到達していなければ(S508でNO)、逆量子化部106は、復号された処理対象の量子化DCT係数を、一旦、入力ストリームが示す処理対象のMBに対応する量子化マトリクスおよび量子化スケールを使用して逆量子化する。
そして、量子化部107は、逆量子化により算出されたDCT係数を、S408で算出した量子化マトリクスと、ステップS602で算出された量子化スケールの値または目標量子化スケールの値とを使用して、再度、量子化する。これにより、量子化部107は、量子化DCT係数を得る。これにより変換は完了する(S509)。
量子化部107は、得られた量子化DCT係数を、量子化部107の内部の係数バッファ(図示せず)に格納する(S510)。上記処理をブロック終端EOBに到達するまで繰り返せば、1つの処理対象のMBの復号化が完了する(S511)。
さらに、すべての符号化されたMBに対して、復号化が完了すれば(S506でNO)、MB情報の復号化はすべて完了になる。
最後に、可変長符号部102が、MBヘッダ格納部105に格納される全てのマクロブロックヘッダを符号化する(S512)。また、可変長符号部102が、量子化部107の内部の係数バッファ(図示せず)に格納される全ての量子化DCT係数を符号化する(S513)。以上の処理により、MB処理は終了する。そして、図13のピクチャ処理に戻り、再度、ステップS411の処理が行なわれる。
以上説明した、図12の符号化レート変換処理、図13のピクチャ処理、図14のMB処理、図15の量子化スケール変換処理が行なわれることにより、符号化データの復号処理、逆量子化処理、量子化処理、符号化処理が行なわれる。これらの処理により、入力ストリームから出力ストリーム(符号化データ)が生成される。生成された、出力ストリームとしての符号化データの符号化レートは、入力ストリームとしての符号化データの符号化レートより小さい。
次に、本発明の実施の形態1の符号化レート変換装置1000におけるレート制御の具体的な動作を説明する。入力ストリームに含まれる先頭のピクチャを処理する際において、まず当該ピクチャの目標符号量T(i)が配分される。目標符号量T(i)については、前述したTM5のステップ1に基づけば算出可能であるので、詳細な説明は省略する。さらにマクロブロックごとには、目標量子化スケールを算出する必要がある。目標量子化スケールもTM5のステップ2に基づけば算出可能であるので、詳細な説明は省略する。
なお、ここではレート制御方式としてTM5を挙げているが、その他のレート制御方式であってもよい。本発明は特定のレート制御方式に依存するものではない。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう図13のステップS408の量子化マトリクス変換の具体的な処理を説明する。
ここで、i番目のピクチャと、当該i番目のピクチャの一つ前のピクチャ(以下、評価対象ピクチャという)とが存在するとする。この場合、評価対象ピクチャは、i−1番目のピクチャとなる。ここで、評価対象ピクチャは、i番目のピクチャよりも前に表示対象となるピクチャであるとする。また、i番目のピクチャおよび評価対象ピクチャは、同一の種類のピクチャであるとする。
また、低周波成分の量子化マトリクス変換率がα(i−1)倍(α(i−1)<1)、量子化スケール変換率の平均値がβ(i−1)倍であったとする。ここで、量子化マトリクス変換率は、量子化マトリクスの係数を変換するための値である。また、量子化スケール変換率は、量子化スケールの値を変換するための値である。この場合、量子化DCT係数変換率γ(i−1)(低周波成分の平均)は、γ(i−1)=α(i−1)×β(i−1)の式により算出することができる。
上記式において、DCT係数の低周波成分の量子化誤差が最小になるのはγ=1のときであり、さらに、γが1より大きくても、ある程度小さい値(ここではγmaxとする)であれば、低周波成分の画像の画質劣化が許容範囲と考えられる。量子化誤差が許容範囲を超えることが想定される場合、許容範囲内に収まるような制御が必要である。また、γが1より小さいと、低周波成分の画像の画質劣化は発生しないが、符号量が増加するため、γが1以上になるような制御が必要になる。
i番目のピクチャに最も近い位置の評価対象ピクチャ(i−1番目のピクチャ)が、i番目のピクチャと同一の傾向の量子化スケールを持つ(β(i)=β(i−1))と仮定する。この場合、i番目のピクチャの量子化マトリクス変換率α(i)は、以下の式により算出することができる。
α(i)=
1 ×α(i−1)/γ(i−1) (γ(i−1)<1の場合)
α(i−1) (1≦γ(i−1)≦γmaxの場合)
γmax×α(i−1)/γ(i−1) (γmax<γ(i−1)の場合)
次に、その量子化マトリクス変換率α(i)に従って、入力ストリームの量子化マトリクスを以下の式(以下、マトリクス変換式Aという)で変換して、出力ストリームの量子化マトリクスWo(u,v)を算出する。
Wo(u,v)=α(i)×Wi(u,v) (u+v≦εの場合(低周波成分))
=Wi(u,v) (u+v>εの場合(高周波成分))
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する周波数の閾値(基準周波数)を示す定数である。
なお、ここでは、量子化スケールの実績値として、同一種類のピクチャで最も近い位置のピクチャ(評価対象ピクチャ)を選択しているが、これに限定されることはない。例えば、i番目のピクチャの種類によらずに評価対象ピクチャを選択してもよい。
また、i番目のピクチャに最も近い位置でないピクチャを選択してもよい。また、単一のピクチャではなく、i番目のピクチャの前の複数のピクチャを選択してもよい。また、i番目のピクチャの前のピクチャの量子化スケールではなく、i番目のピクチャの量子化スケールを先読みして算出した量子化スケールを利用してもよいし、その他の方法で、量子化スケールを予測してもよい。
なお、ここでは、量子化マトリクス変換率の算出において、量子化スケール変換率の平均値を使用している。しかしながら、これに限定されることなく、使用される値は、量子化スケール変換率の最小値など、量子化スケールに関するその他の実績値であってもよいし、一定値などであってもよい。また、量子化マトリクス変換率の算出方法は、量子化スケールとは無関係の算出方法であってもよい。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう、量子化スケール変換(図15の量子化スケール変換処理)の具体的な処理を説明する。
レート制御で得られた目標量子化スケールは、TM5のステップ2に基づくものであり、量子化マトリクスと無関係に決定する。そのため、本装置のように、量子化マトリクスを変換する符号化レート変換装置1000においては、使用される量子化スケールの値が、最適な量子化スケールの値でない可能性がある。そこで、上記の量子化マトリクス変換率などを用いて、目標量子化スケールの値を補正してもよい。
例えば、低周波成分の量子化マトリクス変換率αが1より小さい場合、量子化マトリクスを変換しない場合と比較して、符号化データの符号量は増大する方向である。そのため、レート制御で求めた量子化スケールの値をそのまま使用すると、符号化データの符号量が十分に低減できない可能性もある。この場合、符号化データの符号量を低減できるようにするために、目標量子化スケールの値がやや大きめになるように補正してもよい。
例えば、レート制御で得られた目標量子化スケールmq(j)を補正して、
mq’(j)=mq(j)×(1/α)
として算出してもよい。
なお、ここでは、1/αを乗算することにより目標量子化スケールの補正を行っているが、1/αでなくても1より大きい値であれば、符号化データの符号量を低減方向に補正することができる。また、その他の式で目標量子化スケールの補正を行ってもよいし、補正は行わなくてもよい。
次に、実際に当該マクロブロックの量子化スケールを算出する。
出力ストリームの量子化スケールqo(j)は、これは従来技術としての特許文献2の特開2001−204028号公報に開示された技術で導出可能であり、詳細な説明は省略する。
qo(j)=
qi(j) (mq(j)<1.5×qi(j)の場合)
2×qi(j) (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
mq(j) (2 ×qi(j)<mq(j)の場合)
ここで、qi(j)は入力ストリームの量子化スケールである。また、mq(j)は目標量子化スケールである。
なお、ここでは、量子化スケールqo(j)を上式で導出しているが、その他の式で導出してもよい。
前述の通り、量子化DCT係数変換率(低周波成分)γ=量子化マトリクス変換率(低周波成分)α×量子化スケール変換率β(β=qo(j)/qi(j))が1未満の場合、DCT係数の低周波成分の量子化誤差が増えることはないが、符号化データの符号量の増加を伴う。
符号化レート変換は、符号化データの符号化レートの低減が目的であるため、一部のMBであっても符号量の増加を伴う変換は変換効率が悪い。そのため、符号量の増加を伴わない範囲に限定して、出力ストリームの量子化スケールを制御する方法をとってもよい。
その場合の量子化スケールqo’(j)は以下の式で算出できる。
qo’(j)=
1/α×qi(j) (mq(j)<1.5×qi(j)の場合)
max{1/α,2}×qi(j)} (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
max{1/α×qi(j),mq(j)} (2 ×qi(j)<mq(j)の場合)
上記式により算出される量子化スケールqo’(j)を用いれば、DCT係数の低周波成分の量子化誤差を抑えた変換を行うことが可能である。
なお、ここでは、1/αを乗算することにより、符号化データの符号量の増加を抑えているが、必ずしも1/αと等しくなくても、1/αより大きい値であれば、符号化データの符号量の増加を伴わずに変換することができる。
しかし、前述した重要MBでは、DCT係数の低周波成分だけでなく、高周波成分の量子化誤差も抑えたほうが全体的な画質劣化を抑制できることが分かっている。そのため、重要MBにおいては、全周波数領域の量子化誤差を抑制可能な量子化スケールを設定できることが望ましい。
前述したように、重要MBは、一例として、復号されることにより所定の精細度より精細度の高い画像を示すマクロブロックである。この場合、重要MBは、一例として、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBであるとする。
また、重要MBに対応する量子化スケールqo”(j)は以下の式で算出できる。
qo”(j)=qi(j)
重要MBで上記の量子化スケールqo”(j)を用いれば、すべての周波数領域の量子化誤差を抑えた変換を行うことができる。
それ以外のMB(通常MB)であれば、量子化スケールに上記qo’(j)を用いればよい。
なお、重要MBは、前述した演算(MBブロック部のデータ量×量子化スケールの値)以外の演算を使用して決定してもよい。
次に、量子化スケールの値の変換例を説明する。
図16Aおよび図16Bは、量子化スケールの値の変換例を説明するための図である。図16Aは、量子化スケールの値の一例を示す図である。図16Aに示される複数の数字は、ピクチャの符号化データを構成する複数のMBの各々に対して設定された量子化スケールの値を示す。
図16Aに示されるように、符号化データを復号することにより得られるピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は“4”であるとする。また、符号化データから得られるピクチャの中央部および下部に対応する複数のMBの各々に対して設定された量子化スケールの値は“8”であるとする。
ここで、目標符号化レートに基づきレート制御時における量子化スケールの平均値が“8”であったとする。この場合、量子化スケールの平均値に基づいて、量子化スケールの値を変換するならば、ピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は、“4”から“8”に変換され、それ以外のMBに対して設定される量子化スケールの値は、“8”のまま保持されることになる。
しかしながら、量子化マトリクス変換の符号化効率を考慮して策定された、前述の量子化スケールqo’(j)の式を適用すると、量子化マトリクス変換率α=1/2の場合、符号化データの符号化レートを維持または低減させるためには、量子化スケール変換率β≧2とする必要がある。そのため、図16Bに示されるように、ピクチャの中央部および下部に対応する複数のMBの各々に対して設定される量子化スケールの値は“8”から“16”に変換される。
ただし、ピクチャの中央部および下部に対応する複数のMBのうち、前述した重要MBに対して設定される量子化スケール変換率βは“1”となり、量子化スケールの値は“8”のまま保持される。
なお、図16Bに示されるように、ピクチャの上部に対応する複数のMBの各々に対して設定される量子化スケールの値は“4”から“8”に変換される。
本発明の実施の形態1の符号化レート変換装置1000の量子化部107が行なう通常MBの量子化の具体的な処理を図17を用いて説明する。通常MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの低周波成分の係数(ε=2の場合)を1/2倍にすることになったとする。すなわち、低周波成分の量子化マトリクス変換率αは“1/2”であるとする。また、高周波成分の量子化マトリクス変換率αは“1”であるとする。また、レート制御や量子化スケール変換の結果、量子化スケールの値を“4”から“8”に、すなわち2倍に増加させることになったとする。すなわち、量子化スケール変換率βは“2”であるとする。この場合の量子化スケールの値“8”は前述した目標量子化スケールの値であるとする。
ここで、前述したマトリクス変換式Aにおいて、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
図17に示される2つの量子化マトリクスのうち、左側の量子化マトリクスは、変換が行なわれる前の量子化マトリクス(以下、変換前量子化マトリクスという)である。また、図17に示される2つの量子化マトリクスのうち、右側の量子化マトリクスは、変換後の量子化マトリクス(以下、変換済量子化マトリクスという)である。
図17の変換済量子化マトリクスは、図13のステップS408の処理において、量子化マトリクス低域削減変換部108が、変換前量子化マトリクスを、低周波成分の量子化マトリクス変換率α“1/2”を使用して変換したマトリクスである。
図17の変換済量子化マトリクスは、高周波成分の係数の値がそのままで、低周波成分の係数の値は小さくなっている(1/2倍)。そのため、図17の変換済量子化マトリクスを使用して量子化が行なわれると、符号化データの符号量(符号化レート)が大きくなる。すなわち、図17の変換済量子化マトリクスは、符号化データの符号量(符号化レート)を大きくするためのマトリクスである。
また、図17に示される量子化DCT係数を示す2つのマトリクスのうち、左側のマトリクスは、量子化が行なわれる前のマトリクス(以下、再量子化前マトリクスという)である。すなわち、図17に示される再量子化前マトリクスは、逆量子化部106により逆量子化の処理が行なわれることにより得られるマトリクスである。また、図17に示される量子化DCT係数を示す2つのマトリクスのうち、右側のマトリクスは、再量子化が行なわれることにより得られるマトリクス(以下、再量子化済マトリクスという)である。
図17に示される再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図17の変換済量子化マトリクスと、算出された量子化スケールの値“8”とを使用して、再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式からは、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は2(1/α)倍×1/2(1/β)倍=1倍に変換する必要がある。また、高周波成分の量子化DCT係数は1(1/α)倍×1/2(1/β)倍=1/2倍に変換する必要がある。
ここで、図17の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図17の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は変換不要である。また、図17の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、0.5、2、0.5、−0.5、0.5を整数化した0、2、0、0、0に変換される。
これにより、入力時50bitだった符号量を、35bitに減少させることができる。そのため、低周波成分に量子化誤差を発生させることなく、符号化データの符号化レートを削減することができる。
次に、本発明の実施の形態1の符号化レート変換装置1000の量子化部107が行なう重要MBの量子化の具体的な処理を図18を用いて説明する。重要MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
図17の説明において、通常MBでは、量子化スケールの値を2倍に変換したために、高周波成分に量子化誤差が発生した。しかしながら、重要MBでは、高周波成分にも量子化誤差を発生させないため、量子化スケールを1倍に設定する。すなわち、量子化スケール変換率βを“1”とする。この場合、算出される量子化スケールの値は図16のステップS602の処理により算出される値である。この処理により、量子化スケールの値“4”が算出される。
図18は、図17と同様に、変換前量子化マトリクス、変換済量子化マトリクス、再量子化前マトリクスおよび再量子化済マトリクスを示すとする。図18の変換済量子化マトリクスは、図17の変換済量子化マトリクスと同様なので詳細な説明は繰り返さない。
図18の再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図18の変換済量子化マトリクスと、算出された量子化スケールの値“4”とを使用して、図18の再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は2(1/α)×1(1/β)=2倍に変換する必要がある。また、高周波成分の量子化DCT係数は1(1/α)×1(1/β)=1倍に変換する必要がある。
ここで、図18の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図18の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は、入力時の2倍の、14、−6、4に変換される。また、図18の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、入力時の係数から変換不要となる。
低周波成分の量子化DCT係数は、変換倍率が整数である限りは、整数になるので、新たに量子化誤差は発生しない。高周波成分の量子化DCT係数は、変換不要であるため、量子化誤差は発生しない。
これにより、入力時50bitだった符号量は59bitに増加するものの、低周波成分から高周波成分までのすべての周波数にわたって、量子化誤差を発生させずに変換することができる。
重要MBがピクチャに対応する全てのMBにおいて、多くを占めるのであれば、上記の符号量の増加は目標レート達成に向けて大きな障害となる。しかしながら、重要MBがピクチャに対応する全てのMBにおいて、十分少ないのであれば、上記の符号量の増加を他の通常MBの符号量削減で取り返すことが可能である。
したがって、本発明の実施の形態1の符号化レート変換装置1000において、全体的に量子化マトリクスの低周波成分の係数を入力値より小さくすることで、低周波成分の量子化誤差の発生を抑えるとともに、重要MBでの高周波成分も含む量子化誤差の発生を抑えることができる。
すなわち、本実施の形態の処理によれば、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、重要MBとしての特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本実施の形態においては、図19Aに示されるように、マクロブロックの種類がInterMBであり、さらに量子化マトリクスの全係数が一定の場合を取り上げた。しかしながら、これに限定されることなく、図19Bに示されるように、本実施の形態の処理は、もちろん、マクロブロックの種類がIntraMBであってもよいし、量子化マトリクスの係数が一定値でなくばらばらの場合に行なわれてもよい。
また、InterMBおよびIntraMBのどちらかでのみ、量子化マトリクスを利用したレート変換を適用してもよいし、InterMBおよびIntraMBの両方において量子化マトリクスの変換倍率などを変化させてもよい。
なお、本実施の形態においては、図19Aに示されるように、量子化マトリクスの係数に変換誤差が発生しない場合を取り上げたが、図19Bに示されるように、量子化マトリクスの係数に変換誤差が発生してもよい。
なお、本発明は、MPEG2を前提として記載している。しかしながら、MPEG2に限定されず、JPEG、MPEG1、MPEG4、H.264など、量子化マトリクスをピクチャ単位で設定し、量子化パラメータをマクロブロック単位で設定するコーデックであれば、本発明を適用可能である。
なお、本発明は、DCT変換を前提として記載しているが、画像データを周波数成分に分解できる直交変換であれば、その他の変換方法であってもよい。
なお、本発明のように、MPEG2のIntraMBのDC成分など、いくつかのコーデックではDC成分などが量子化スケールの適用外になるなど、特別な量子化や符号化がなされる場合がある。しかしながら、これらの特別な係数に関しては、図19Bに示されるように、本発明における量子化マトリクス変換の対象外としてよい。
図20Aは、変換前の量子化マトリクスを示す図である。図20Bは、実施の形態1の処理により変換された後の量子化マトリクスを示す図である。図20Cは、図20Bに示される量子化マトリクスに対して使用される数値および処理を示す図である。
なお、本実施の形態においては、量子化マトリクスの低周波成分の変換対象係数をu+v≦2を満たす係数としていたが、u+v≦2における“2”は2以外であってもよい。また、符号化に使用されるスキャン順(ジグザグスキャン)(0〜63)を利用してもよい。また、図20Bに示される量子化マトリクスMAのように、スキャン順(ジグザグスキャン)≦−1、すなわち変換領域なしとしてもよい。
また、図20Bに示される量子化マトリクスMBのように、スキャン順(ジグザグスキャン)≦63、すなわち全係数を変換領域としてもよい。その他、低周波成分と高周波成分を分離できる方法であれば、どのような方法であってもよい。また、これらの基準は、ピクチャごとに変化するなど、一定でなくてもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数の変換率を一定としていたが、図20Bに示される量子化マトリクスMCのように、変換対象係数が一定の変換率で変換されていなくても、
(変換後の量子化マトリクス係数)≧(変換前の量子化マトリクス係数)×量子化マトリクス変換率α
が成立していればよい。
なお、本実施の形態においては、量子化マトリクスの変換対象外の係数を変化させなかったが、図20Bに示される量子化マトリクスMDのように、変換対象外の係数を変化させたとしても、本発明の本質には影響ない。
なお、本実施の形態においては、量子化マトリクスの変換対象係数をu+v≦一定値を満たす係数、もしくはスキャン順(ジグザグスキャン)を利用した。しかしながら、これに限定されることなく、図20Bに示される量子化マトリクスMEのように、量子化マトリクスの変換対象係数を、u≦一定値かつv≦一定値の条件を満たす係数としてもよい。
また、図20Bに示される量子化マトリクスMFのように、スキャン順(オルタネートスキャン)を利用してもよいし、その他の方法で決定してもよい。なお、スキャン順を利用する場合に、どちらのスキャン順を利用するかを、プログレッシブ画像かインターレース画像かによって決定してもよいし、ストリームがどちらのスキャン順で符号化されているかに合わせて決定してもよい。
なお、本実施の形態においては、MBごとのレート制御がなされることを前提としているが、例えばすべてのMBが同じ量子化スケールになるなど、必ずしもMBごとでなくてもよい。
また、本実施の形態においては、変換倍率を1倍以上に設定しても、量子化マトリクスの低周波成分の変換倍率(1/α倍)より小さければ、符号化データの符号量はさらに増加することになる。レート変換において、変換倍率1/α倍未満を許容してもよいし、変換倍率1/α倍未満を許容せずに、1/α以上になるように変換倍率を切り上げてもよい。
なお、本実施の形態においては、量子化マトリクスの低周波係数の変換を1/α倍(α:整数)に限定して説明を行ったが、必ずしも1/α倍でなくても、1より小さな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、量子化パラメータの変換を整数倍に限定して説明を行ったが、必ずしも整数倍でなくても、1より大きな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、低周波成分において、量子化マトリクスの変換倍率×量子化パラメータの変換倍率が1以上であることを前提として記載しているが、1より小さな値であっても、高周波成分より大きければ、任意の値であってもよい。
なお、本実施の形態においては、4:2:0(輝度、色差、色差)の6ブロック構成を用いるコーデックを前提として記載しているが、4:2:2などその他のブロック構成をもちいる画像コーデックでも本発明は実施可能である。
なお、本実施の形態においては、量子化DCT係数変換時に小数点以下を切り捨てることを前提として記載しているが、小数点以下は四捨五入であっても、その他の方法で整数化していても、本発明は実施可能である。
なお、本実施の形態の符号化レート変換装置は、逆量子化部と量子化部が独立になっているが、逆量子化部と量子化部が一体になり、直接、入力ストリームの量子化DCT係数から出力ストリームの量子化DCT係数を算出してもよい。
なお、本実施の形態の符号化レート変換装置1000は、再量子化により得られた量子化DCT係数を直接出力しているが、再量子化により得られた量子化DCT係数に対して、例えば動き補償による補正を行ってから出力する場合においても、本発明は実施可能である。その他、入力ストリームから出力ストリームに変換する際、一度画像に戻すことなく、直接再量子化により変換する方法であれば、本発明は実施可能である。
(実施の形態2)
実施の形態1の符号化レート変換装置1000において、例えばMPEG2では量子化スケールの値は1〜112の範囲しか取ることができない。そのため、入力ストリームの量子化スケールの値が112に近い値の場合、量子化スケール変換率βが大きくできない。この場合、量子化マトリクスによる低周波成分の符号量増を打ち消すことができず、符号化レートを十分に削減にできない場合がある。
また、実施の形態1の符号化レート変換装置1000において、MPEG2では量子化マトリクスの係数は1〜255の範囲しか取ることができない。そのため、入力ストリームの量子化マトリクスの低周波成分の係数がすでに1にある程度近い値の場合、低周波成分の量子化マトリクス変換率αを大きくできないため、画質劣化を十分に改善できない場合がある。
本発明の実施の形態2では、上記の課題を解決するための符号化レート変換装置について説明する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図21は、実施の形態2における符号化レート変換装置1000Aの構成を示すブロック図である。
図21の符号化レート変換装置1000Aは、図11の符号化レート変換装置1000と比較して、量子化マトリクス変換制御部110の代わりに量子化マトリクス変換制御部110Aを備える点と、量子化マトリクス低域削減変換部108の代わりに量子化マトリクス高域増加変換部108Aを備える点と、量子化スケール増加変換部104の代わりに量子化スケール増加・削減変換部104Aを備える点とが異なる。それ以外は、符号化レート変換装置1000と同様なので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Aは、実施の形態1で説明した量子化マトリクス変換制御部110が行なう処理の説明において、“量子化マトリクス低域削減変換部108”および“量子化スケール増加変換部104”を、それぞれ、“量子化マトリクス高域増加変換部108A”および“量子化スケール増加・削減変換部104A”と置き換えた処理を行なうので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Aは、先頭のピクチャを処理する際において、当該ピクチャの目標符号量や量子化マトリクスの変換実績などに基づいて量子化マトリクスの変換制御情報を算出し、量子化マトリクス高域増加変換部108Aに通知する。また、量子化マトリクス変換制御部110Aは、マクロブロックごとに、量子化マトリクスの制御情報に基づいて、目標量子化スケールを補正して、補正した量子化スケールを、量子化スケール増加・削減変換部104Aに通知する。
量子化マトリクス高域増加変換部108Aは、量子化マトリクスの変換制御情報に基づいて、入力ストリームの量子化マトリクスの高周波成分の係数を増加方向に変換する。そして、量子化マトリクス高域増加変換部108Aは、変換後の量子化マトリクスを量子化部107およびピクチャヘッダ格納部109に同時に通知する。
量子化スケール増加・削減変換部104Aは、目標量子化スケールを基準として、あるいは重要MBの判定を行って、入力ストリームの量子化スケールを増加方向あるいは減少方向に変換して、出力ストリームの量子化スケールを算出する。そして、量子化スケール増加・削減変換部104Aは、変換後の量子化スケールを、量子化部107およびMBヘッダ格納部105に同時に通知する。
本発明の実施の形態2の符号化レート変換装置における処理フローを、図12〜図14の実施の形態1の符号化レート変換装置の処理フローに基づいて説明する。
S301〜S308、S401〜S407は、実施の形態1と同等のため、説明を省略する。量子化マトリクス高域増加変換部108Aは、量子化マトリクスの変換制御情報に基づいて、ステップS302,S305,S404のいずれかの処理で設定された入力ストリームの量子化マトリクスの高周波成分を増加方向に変換する(S408)。
S409〜S411、S501〜S504は、実施の形態1と同等のため、説明を省略する。量子化スケール増加・削減変換部104Aは、S502の目標量子化スケールの補正や重要MBの判定などを行い、当該マクロブロックの量子化スケールの入力値を増加方向あるいは削減方向に変換する。S505〜S513は、実施の形態1と同等のため、説明を省略する。
本発明の実施の形態2の符号化レート変換装置におけるレート制御の具体的な動作を説明する。
先頭のピクチャを処理する際において、まず当該ピクチャの目標符号量T(i)を算出する必要があるが、TM5のステップ1に基づけば算出可能であるので、詳細な説明は省略する。マクロブロックにおいて、目標量子化スケールを算出する必要があるが、TM5のステップ2に基づけば算出可能であるので、詳細な説明は省略する。
なお、ここではレート制御方式としてTM5を挙げているが、その他のレート制御方式であってもよい。本発明は特定のレート制御方式に依存するものではない。
本発明の実施の形態2の符号化レート変換装置1000Aが行なう図13のステップS408の量子化マトリクス変換の具体的な処理を説明する。
ここで、i番目のピクチャと、当該i番目のピクチャの一つ前のピクチャ(以下、評価対象ピクチャという)とが存在するとする。この場合、評価対象ピクチャは、i−1番目のピクチャとなる。ここで、評価対象ピクチャは、i番目のピクチャよりも前に表示対象となるピクチャであるとする。また、i番目のピクチャおよび評価対象ピクチャは、同一の種類のピクチャであるとする。
また、高周波成分(高域)の量子化マトリクス変換率がα(i−1)倍(α(i−1)>1)、量子化スケール変換率の平均がβ(i−1)倍であったとする。この場合、量子化DCT係数変換率γ(i−1)(高周波成分の平均)は、γ(i−1)=α(i−1)×β(i−1)として算出することができる。
ここで、DCT係数の低域の量子化誤差が最小になるのはγ=1のときであり、さらに、γが1より大きくても、ある程度小さい値(ここではγmaxとする)であれば、画質劣化が許容範囲に収まると考えられる。
許容範囲を超えることが想定される場合、許容範囲内に収まるような制御が必要である。また、γが1より小さいと、画質劣化は発生しないが、符号量が増加するため、γが1以上になるような制御が必要になる。
i番目のピクチャに最も近い位置の評価対象ピクチャが、i番目のピクチャと同一の傾向の量子化スケールを持つ(β(i)=β(i−1))と仮定する。この場合、i番目のピクチャの量子化マトリクス変換率(高域)α(i)は、以下の式により算出することができる。
α(i)=
1 ×α(i−1)/γ(i−1) (γ(i−1)<1の場合)
α(i−1) (1≦γ(i−1)≦γmaxの場合)
γmax×α(i−1)/γ(i−1) (γmax<γ(i−1)の場合)
次に、その量子化マトリクス変換率α(i)に従って、入力ストリームの量子化マトリクスを以下の式(以下、マトリクス変換式Bという)で変換して、出力ストリームの量子化マトリクスWo(u,v)を求める。
Wo(u,v)=
Wi(u,v) (u+v≦ε(低周波成分)の場合)
α(i)×Wi(u,v) (u+v>ε(高周波成分)の場合)
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する周波数の閾値(基準周波数)を示す定数である。
なお、ここでは、量子化スケールの実績値として、同一ピクチャ種類で最も近い位置のピクチャ(評価対象ピクチャ)を選択しているが、これに限定されることはない。例えば、i番目のピクチャの種類によらずに評価対象ピクチャを選択してもよい。
また、i番目のピクチャに最も近い位置でないピクチャを選択してもよい。また、単一のピクチャではなく、i番目のピクチャの前の複数のピクチャを選択してもよい。また、i番目のピクチャの前のピクチャの量子化スケールではなく、i番目のピクチャの量子化スケールを先読みして算出した量子化スケールを利用してもよいし、その他の方法で、量子化スケールを予測してもよい。
なお、ここでは、量子化マトリクス変換率の算出において、量子化スケール変換率の平均値を使用している。しかしながら、これに限定されることなく、使用される値は、量子化スケール変換率の最小値など、量子化スケールに関するその他の実績値であってもよいし、一定値などであってもよい。また、量子化マトリクス変換率の算出方法は、量子化スケールとは無関係の算出方法であってもよい。
本発明の実施の形態2の符号化レート変換装置1000Aが行なう、量子化スケール変換(図15の量子化スケール変換処理)の具体的な動作を説明する。
レート制御で算出した目標量子化スケールは、TM5のステップ2で算出したものであり、量子化マトリクスとは無関係に決定する。そのため、本実施の形態の符号化レート変換装置1000Aにおいては、使用される量子化スケールの値が、最適な量子化スケールの値でない可能性がある。
量子化マトリクス変換率(高域)が大きい場合、符号量は減少する方向である。そのため、レート制御で求めた量子化スケールの値をそのまま使用すると、符号量が削減されすぎる可能性もある。この場合、符号量の削減をやや緩めるように、目標量子化スケールの値がやや小さめになるように補正してもよい。
例えば、レート制御で得られた目標量子化スケールmq(j)を補正して、
mq’(j)=mq(j)×(1/α)
として算出してもよい。
なお、ここでは、1/αを乗算することにより目標量子化スケールの補正を行っているが、1/αでなくても1より小さい値であれば、符号化データの符号量を増加方向に補正することができる。また、その他の式で目標量子化スケールの補正を行ってもよいし、補正は行わなくてもよい。
次に、実際に当該マクロブロックの量子化スケールを算出する。出力ストリームの量子化スケールqo(j)は、これは従来技術としての特許文献2の特開2001−204028号公報に開示された技術で導出可能であり、詳細な説明は省略する。
qo(j)=
qi(j) (mq(j)<1.5×qi(j)の場合)
2×qi(j) (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
mq(j) (2 ×qi(j)<mq(j)の場合)
ここで、qi(j)は入力ストリームの量子化スケール、また、mq(j)は目標量子化スケールである。
なお、ここでは、量子化スケールqo(j)を上式で導出しているが、その他の式で導出してもよい。
上記の量子化スケールを用いれば、DCT係数の低周波成分の量子化誤差を抑えた変換を行うことが可能である。
しかし、前述した重要MBでは、DCT係数の低周波成分だけでなく、高周波成分の量子化誤差も抑えたほうが全体的な画質劣化を抑制できることが分かっている。そのため、重要MBにおいては、すべての周波数領域に対して量子化誤差を抑制可能な量子化スケールを設定できることが望ましい。
前述したように、重要MBは、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBである。
また、重要MBに対応する量子化スケールqo”(j)は以下の式で算出できる。
qo”(j)=1/α×qi(j)
重要MBで上記の量子化スケールqo”(j)を用いれば、すべての周波数領域の量子化誤差を抑えた変換を行うことができる。
それ以外のMB(通常MB)であれば、量子化スケールに上記qo(j)を用いればよい。
なお、重要MBは、前述した演算(MBブロック部のデータ量×量子化スケールの値)以外の演算を使用して決定してもよい。
次に、量子化スケールの値の変換例を説明する。
ここで、変換前の量子化スケールの値は、図16Aに示される値であるとする。前述したように、図16Aに示される複数の数字は、ピクチャの符号化データを構成する複数のMBの各々に対して設定された量子化スケールの値を示す。
ここで、目標符号化レートに基づいてレート制御における量子化スケールの平均値が“8”であったとする。この場合、量子化スケールの平均値に基づいて、量子化スケールの値を変換するならば、図22に示されるように、ピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は、“4”から“8”に変換され、それ以外のMBに対して設定される量子化スケールの値は、“8”のまま保持されることになる。
ただし、量子化マトリクス変換率α=1/2の場合、ピクチャの中央部および下部に対応する複数のMBのうち、前述した重要MBに対して設定される量子化スケール変換率βは、量子化誤差を最小とするため、“1/2”とする。したがって、重要MBに対して設定される量子化スケールは“8”から“4”に減少方向に変換されることになる。
本発明の実施の形態2の符号化レート変換装置1000Aの量子化部107が行なう重要MBの量子化の具体的な処理を図23を用いて説明する。重要MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加することになったとする。すなわち、高周波成分の量子化マトリクス変換率αは“2”であるとする。また、低周波成分の量子化マトリクス変換率αは“1”であるとする。
また、重要MBでは高周波成分の量子化誤差を発生させないため、量子化スケールの値を1/2倍に減少するものとする。すなわち、量子化スケール変換率βは“1/2”であるとする。この場合、算出される量子化スケールの値は図16のステップS602の処理により算出される値である。この処理により、量子化スケールの値“2”が算出される。
ここで、前述したマトリクス変換式Bにおいて、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
図23は、図17と同様に、変換前量子化マトリクス、変換済量子化マトリクス、再量子化前マトリクスおよび再量子化済マトリクスを示すとする。
図23の変換済量子化マトリクスは、図13のステップS408の処理において、量子化マトリクス高域増加変換部108Aが、図23の変換前量子化マトリクスを、高周波成分の量子化マトリクス変換率α“2”を使用して変換したマトリクスである。
図23に示される変換済量子化マトリクスは、低周波成分の係数の値がそのままで、高周波成分の係数の値が大きくなっている(2倍)。そのため、図23の変換済量子化マトリクスを使用して量子化が行なわれると、符号化データの符号量(符号化レート)が小さくなる。すなわち、図23の変換済量子化マトリクスは、符号化データの符号量(符号化レート)を小さくするためのマトリクスである。
図23の再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図23の変換済量子化マトリクスと、算出された量子化スケールの値“2”とを使用して、図23の再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は1(1/α)×2(1/β)=2倍に変換する必要がある。また、高周波成分の量子化DCT係数は1/2(1/α)×2(1/β)=1倍に変換する必要がある。
ここで、図23の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図23の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は、入力時の2倍の、14、−6、4に変換される。なお、図23の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、変換不要である。
このとき、低周波成分の量子化DCT係数は、変換倍率が整数である限りは、整数になる。そのため、新たに量子化誤差は発生しない。また、高周波成分の係数は入力から変換不要であるため、量子化誤差は発生しない。
これにより、入力時50bitだった符号量は59bitに増加するものの、低周波成分から高周波成分まですべての周波数にわたって量子化誤差を発生させずに変換することができる。
重要MBがピクチャに対応する全てのMBにおいて、多くを占めるのであれば、上記の符号量の増加は目標レート達成に向けて大きな障害となる。しかしながら、重要MBがピクチャに対応する全てのMBにおいて、十分少ないのであれば、上記の符号量の増加を他の通常MBの符号量削減で取り返すことが可能である。
したがって、本発明の実施の形態2の符号化レート変換装置1000Aにおいて、全体的に量子化マトリクスの低周波成分の係数を入力値より小さくすることで、低周波成分の量子化誤差の発生を抑えるとともに、重要MBでの高周波成分も含む量子化誤差の発生を抑えることができる。
すなわち、本実施の形態の処理によれば、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、重要MBとしての特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本実施の形態においては、図24Aに示されるように、マクロブロックの種類がInterMBであり、さらに量子化マトリクスの全係数が一定の場合を取り上げた。しかしながら、これに限定されることなく、図24Bに示されるように、本実施の形態の処理は、もちろん、マクロブロックの種類がIntraMBであってもよいし、量子化マトリクスの係数が一定値でなくばらばらの場合に行なわれてもよい。
また、InterMBおよびIntraMBのどちらかでのみ、量子化マトリクスを利用したレート変換を適用してもよいし、InterMBおよびIntraMBの両方において量子化マトリクスの変換倍率などを変化させてもよい。
なお、本発明は、MPEG2を前提として記載している。しかしながら、MPEG2に限定されず、JPEG、MPEG1、MPEG4、H.264など、量子化マトリクスをピクチャ単位で設定し、量子化パラメータをマクロブロック単位で設定するコーデックであれば、本発明を適用可能である。
なお、本発明は、DCT変換を前提として記載しているが、画像データを周波数成分に分解できる直交変換であれば、その他の変換方法であってもよい。
なお、本発明のように、MPEG2のIntraMBのDC成分など、いくつかのコーデックではDC成分などが量子化スケールの適用外になるなど、特別な量子化や符号化がなされる場合がある。しかしながら、これらの特別な係数に関しては、図24Bのように、本発明における量子化マトリクス変換の対象外としてよい。
図25Aは、変換前の量子化マトリクスを示す図である。図25Bは、実施の形態2の処理により変換された後の量子化マトリクスを示す図である。図25Cは、図25Bに示される量子化マトリクスに対して使用される数値および処理を示す図である。
なお、本実施の形態においては、量子化マトリクスの高周波成分の変換対象係数を、u+v≧3を満たす係数としていたが、u+v≧3における“3”は3以外であってもよい。また、符号化に使用されるスキャン順(ジグザグスキャン)(0〜63)を利用してよい。また、図25Bに示される量子化マトリクスMAAのように、スキャン順(ジグザグスキャン)≧0、すなわち全係数を変換領域としてもよい。
また、図25Bに示される量子化マトリクスMBAのように、スキャン順(ジグザグスキャン)≧64、すなわち変換領域なしとしてもよい。その他、低周波成分と高周波成分を分離できる方法であれば、どのような方法であってもよい。また、これらの基準は、ピクチャごとに変化するなど、一定でなくてもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数の変換率を一定としていたが、図25Bに示される量子化マトリクスMCAのように、変換対象係数が一定の変換率で変換されていなくても、
(変換後の量子化マトリクス係数)≦(変換前の量子化マトリクス係数)×量子化マトリクス変換率α
が成立していればよい。
なお、本実施の形態においては、量子化マトリクス変換率は、一例として2を利用したが、1より大きければ、その他の整数であってもよい。たとえば、図25Bに示される量子化マトリクスMDAのように、1より大きければ、量子化マトリクス変換率は、小数であってもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数をu+v≦一定値を満たす係数、もしくはスキャン順(ジグザグスキャン)を利用した。しかしながら、これに限定されることなく、図25Bに示される量子化マトリクスMEAのように、量子化マトリクスの変換対象係数を、u≧一定値またはv≧一定値の条件を満たす係数としてもよい。
また、図25Bに示される量子化マトリクスMFAのように、スキャン順(オルタネートスキャン)を利用してもよいし、その他の方法で決定してもよい。なお、スキャン順を利用する場合に、どちらのスキャン順を利用するかを、プログレッシブ画像かインターレース画像かによって決定してもよいし、ストリームがどちらのスキャン順で符号化されているかに合わせて決定してもよい。
なお、本実施の形態においては、MBごとのレート制御がなされることを前提としているが、例えばすべてのMBが同じ量子化スケールになるなど、必ずしもMBごとでなくてもよい。
なお、本実施の形態においては、量子化マトリクスの高周波成分の変換を整数倍に限定して説明を行ったが、必ずしも整数倍でなくても、1より大きな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、量子化スケール変換率を1/α倍(α:整数)に限定して説明を行った。しかしながら、量子化スケール変換率は、必ずしも1/αでなくても、1より小さな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、4:2:0(輝度、色差、色差)の6ブロック構成を用いるコーデックを前提として記載しているが、4:2:2などその他のブロック構成をもちいる画像コーデックでも本発明は実施可能である。
なお、本実施の形態においては、量子化DCT係数変換時に小数点以下を切り捨てることを前提として記載しているが、小数点以下は四捨五入であっても、その他の方法で整数化していても、本発明は実施可能である。
なお、本実施の形態の符号化レート変換装置は、逆量子化部と量子化部が独立になっているが、逆量子化部と量子化部が一体になり、直接、入力ストリームの量子化DCT係数から出力ストリームの量子化DCT係数を算出してもよい。
なお、本実施の形態の符号化レート変換装置1000Aは、再量子化により得られた量子化DCT係数を直接出力しているが、再量子化により得られた量子化DCT係数に対して、例えば動き補償による補正を行ってから出力する場合においても、本発明は実施可能である。その他、入力ストリームから出力ストリームに変換する際、一度画像に戻すことなく、直接再量子化により変換する方法であれば、本発明は実施可能である。
(実施の形態3)
実施の形態2の符号化レート変換装置1000Aにおいて、MPEG2では量子化マトリクスは1〜255の範囲しか取ることができない。そのため、入力ストリームの量子化マトリクスの高域(高周波成分)の係数がすでに255に近い値の場合、高周波成分の量子化マトリクス変換率αを大きくできない。その結果、高周波成分の符号量を十分削減できないため、符号化レートを十分に削減できない場合がある。
また、実施の形態2の符号化レート変換装置1000Aにおいて、MPEG2では量子化スケールは1〜112の範囲しか取ることができない。そのため、入力ストリームの量子化スケールがすでに1に近い値の場合、重要MBにおける量子化スケール変換率βを十分小さな値にすることができない。その結果、量子化マトリクスの高域削減により発生する量子化誤差が抑制しきれずに、画質の劣化に結びつく場合がある。
すなわち、入力ストリームの量子化マトリクスや量子化スケールの値によって、最も画質の劣化の少ない量子化処理が可能な符号化レート変換装置は異なる。すなわち、量子化マトリクスや量子化スケールの値によっては、図11の実施の形態1の符号化レート変換装置1000が最も画質の劣化の少ない量子化処理ができる場合がある。符号化レート変換装置1000は、量子化マトリクスを変換するための量子化マトリクス低域削減変換を行なう装置である。量子化マトリクス低域削減変換は、変換対象の量子化マトリクスにおける低周波成分の係数を小さくする変換である。
また、量子化マトリクスや量子化スケールの値によっては、図21の実施の形態2の符号化レート変換装置1000Aが最も画質の劣化の少ない量子化処理ができる場合がある。符号化レート変換装置1000Aは、量子化マトリクスを変換するための量子化マトリクス高域増加変換を行なう装置である。量子化マトリクス低域削減変換は、変換対象の量子化マトリクスにおける高周波成分の係数を大きくするための変換である。
また、量子化マトリクスや量子化スケールの値によっては、図9の従来の符号化レート変換装置13000が最も画質の劣化の少ない量子化処理ができる場合がある。
本発明の実施の形態3では、上記の課題を解決するための符号化レート変換装置について説明する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図26は、実施の形態3における符号化レート変換装置1000Bの構成を示すブロック図である。
図26の符号化レート変換装置1000Bは、図11の符号化レート変換装置1000と比較して、量子化マトリクス変換制御部110の代わりに量子化マトリクス変換制御部110Bを備える点と、量子化マトリクス高域増加変換部108Aおよび量子化スケール増加・削減変換部104Aをさらに備える点が異なる。それ以外は、符号化レート変換装置1000と同様なので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Bは、先頭のピクチャを処理する際、量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換のいずれが適用可能であるか否かを判定する。当該判定の詳細は後述する。なお、量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換の両方が適用可能である場合、量子化マトリクス変換制御部110Bは、どちらか一方を、量子化マトリクスの変換において適用することを決定する。
量子化マトリクスの変換において、量子化マトリクス低域削減変換を適用する場合、符号化レート変換装置1000Bは、実施の形態1の符号化レート変換装置1000と同様な処理を行なうので詳細な説明は繰り返さない。
量子化マトリクスの変換において、量子化マトリクス高域増加変換を適用する場合、符号化レート変換装置1000Bは、実施の形態2の符号化レート変換装置1000Aと同様な処理を行なうので詳細な説明は繰り返さない。
量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換のいずれも適用しない場合、量子化マトリクス変換制御部110Bは、図9の従来の符号化レート変換装置13000と同様な処理を行なうので詳細な説明は繰り返さない。
本発明の実施の形態3の符号化レート変換装置1000Bにおける符号化レート変換方法判定の具体的な動作を説明する。
前述の通り、量子化マトリクスを変換するための量子化マトリクス低域削減変換および量子化マトリクス高域増加変換は、量子化マトリクスや量子化スケールの値によっては、必ずしも最適な方法とはならない。したがって、量子化マトリクスや量子化スケールの値に従って、最適な方法を選択することが望ましい。しかしながら、量子化スケールの値は、すべてのMBのMBヘッダに分散されて符号化されている。そのため、量子化スケールの値を知るには、すべてのMBの量子化スケールの値を先読みする必要がある。
量子化スケールの値の先読みをするためには入力ストリームを2回復号化する必要が発生する。そのため、処理対象のピクチャの量子化スケールの値と同様の傾向を持つとして、過去の同一ピクチャ種類の量子化スケールの値で代用してもよい。
まず、量子化マトリクス変換制御部110Bは、処理対象のピクチャに使用する量子化マトリクスが以下の4つの条件JA,JB,JC,JDのいずれを満たすか否かを判定する。
(JA)量子化マトリクスの高域係数の最大値が規格上限に近い
(JB)量子化マトリクスの低域係数の最小値が規格下限に近い
(JC)JA,JBのどちらにも該当する
(JD)JA,JBのどちらにも該当しない
次に、量子化マトリクス変換制御部110Bは、処理対象のピクチャに使用する量子化スケールの値が以下の4つの条件Ja,Jb,Jc,Jdのいずれを満たすか否かを判定する。
(Ja)量子化スケールの最大値が規格上限に近い
(Jb)量子化スケールの最小値が規格下限に近い
(Jc)Ja,Jbのどちらにも該当する
(Jd)Ja,Jbのどちらにも該当しない
上記量子化マトリクスと量子化スケールの判定結果の組み合わせに対して、量子化マトリクス低域削減変換(以下、方法1という)、量子化マトリクス高域増加変換(以下、方法2という)のいずれの符号化レート変換が適するかどうかは、図27に示される判定テーブルT100を参照することで判定できる。判定テーブルT100は、量子化マトリクスの変換において、方法1、方法2が適用可能か否かを判定するためのテーブルである。
図27の判定テーブルT100に示される、“JA”,“JB”,“JC”,“JD”は、前述した条件JA,JB,JC,JDである。図27の判定テーブルT100に示される、“Ja”,“Jb”,“Jc”,“Jd”は、前述した条件Ja,Jb,Jc,Jdである。
たとえば、前述の判定により、条件JBおよび条件Jaが満たされると判定された場合、判定テーブルT100により、量子化マトリクスの変換には方法1(量子化マトリクス低域削減変換)が適すると判定される。
なお、図27の判定テーブルT100において、“どちらも適用可”となっている箇所は、方法1、方法2のどちらも適用が可能である。
なお、図27の判定テーブルT100において、“どちらも非適用”となっている箇所は、方法1、方法2のいずれを適用した場合でも、符号化レートが十分に削減できない、画質劣化が発生するなどといった弊害が発生する。そのため、方法1および方法2のいずれの変換方法も適用せず、従来の符号化レート変換を適用するのがよい。
本発明の実施の形態3の符号化レート変換装置1000Bにおけるレート制御、量子化マトリクス変換、量子化スケール変換の具体的な動作に関しては、実施の形態1の符号化レート変換装置1000、実施の形態2の符号化レート変換装置1000Aと同等であるため、説明を省略する。
なお、本実施の形態では、実施の形態1の符号化レート変換装置1000と、実施の形態2の符号化レート変換装置1000Aとを統合した符号化レート変換装置1000Bを前提として説明を行った。しかしながら、これに限定されることなく、量子化スケールを変換するかどうかの判定は、実施の形態1の符号化レート変換装置1000および実施の形態2の符号化レート変換装置1000Aにも適用可能である。
なお、本実施の形態では、量子化マトリクス変換を行うかどうかの判定に、量子化マトリクスや量子化スケールの最大値、最小値を用いているが、平均値などその他の基準値を用いて判定してもよい。
例えば、実施の形態1の符号化レート変換装置1000が行なう処理において、量子化マトリクス変換率(低域)α×量子化スケール変換率β=1が成立するとする。このときに、低周波成分の量子化誤差が最も抑制され、さらに従来技術により量子化スケール変換率=2が成立するときに符号量あたりの画質向上が望めることを考えると、量子化マトリクスの変換率α=1/2とすることが望ましい。しかしながら、量子化マトリクスの低周波成分の係数が奇数であった場合、量子化マトリクス変換時の変換誤差に起因して画質劣化が発生する場合がある。
また、例えば、実施の形態2の符号化レート変換装置1000Aが行なう処理において、量子化スケール変換率βが、1未満であり、かつ、小数を有する実数であるとする。この場合、量子化スケールの値を小さくすることになる。しかしながら、βは整数でないため、量子化スケールの符号化時に使用する量子化スケールコード(量子化パラメータ)への変換時において、量子化スケールコードは量子化スケールに対して離散的に定義されているために変換誤差の発生が多くなる。その結果、画質の劣化に結びつく場合がある。
上記の性質を考慮して、量子化マトリクス変換を行うかどうかの判定に、量子化マトリクスや量子化スケールの変換誤差を用いて、変換誤差が少なくなる方法を適用するように判定してもよい。
また、MPEG2では量子化DCT係数が−2047〜2047の範囲しか取ることができない。そのため、実施の形態1の符号化レート変換装置1000および実施の形態2の符号化レート変換装置1000Aが行なう処理において、入力ストリームの量子化DCT係数がすでに−2047あるいは2047に近い値の場合、重要MBにおいても、量子化DCT係数を増加させることができないため、画質劣化が発生する場合がある。
上記の性質を考慮して、量子化マトリクス変換を行うかどうかの判定に、量子化DCT係数の最大値など、量子化DCT係数を利用してもよい。
(実施の形態4)
実施の形態1の符号化レート変換装置において、量子化マトリクスが1種類であること、もしくはすべての量子化マトリクスに対して同等の変換を行うことを想定している。しかし、MPEG2では、IntraMBとInterMB用の2つの量子化マトリクスを定義可能である。
MPEG2のIntraMBとInterMBでは、量子化誤差発生時に画質に与える影響が異なる。IntraMBでは、参照画像が存在しないので、低周波成分の量子化誤差がそのまま画質へ影響する。一方、InterMBでは、低周波成分の量子化誤差は参照画像からの差分に対する誤差であり、参照画像自体に対する誤差ではないので、画素への影響が小さい場合も多い。
したがって、IntraMBとInterMBに対して、同等に低周波成分の量子化誤差を低減する処理を行うと、InterMBでは過剰に誤差低減処理を行っていることになり、符号化レート削減の妨げになる可能性がある。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
また、H.264 High Profileでは、次の8つの量子化マトリクスを定義できる。
1.4×4,IntraMB,輝度
2.4×4,IntraMB,色差(青成分)
3.4×4,IntraMB,色差(赤成分)
4.4×4,InterMB,輝度
5.4×4,InterMB,色差(青成分)
6.4×4,InterMB,色差(赤成分)
7.8×8,IntraMB,輝度
8.8×8,InterMB,輝度
ここで、H.264のIntraMBは、MPEG2のIntraMBとは異なり、基本的に画面内予測であるため、InterMBと同様、参照画像からの差分に対する誤差が発生することになる。しかし、参照画像は同一ピクチャであり、InterMBと比較して相関性が低いため、依然として、IntraMBにおける量子化誤差が画素へ与える影響が大きい。
ここで、MPEG2ではブロックサイズが8×8固定であったが、H.264 High Profileでは、輝度のブロックサイズがマクロブロックごとに4×4、8×8で選択可能である。また、色差のブロックサイズが4×4で固定である。ブロックサイズ8×8のときは、係数が64個存在するが、ブロックサイズ4×4のときは、係数が16個しか存在しないので、低周波成分かどうかを判定する基準周波数の位置もそれにあわせて変化させなければ、意図通りに変換することができない。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
また、輝度と色差では、量子化誤差が人間の視覚に与える影響が異なる。輝度より色差、色差の中でも青色より赤色のほうが人間は敏感である。したがって、輝度、色差(青成分)、色差(赤成分)に対して同等に量子化誤差の低減処理を行うと、特に輝度では過剰に誤差低減処理を行っていることになる。そのため、符号化レート削減の妨げになる可能性がある。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
本発明の実施の形態4の符号化レート変換装置の構成は、実施の形態1の図11の符号化レート変換装置1000の構成と同じであるので詳細な説明は繰り返さない。なお、実施の形態4では、量子化マトリクス変換制御部110および量子化マトリクス低域削減変換部108が、複数の量子化マトリクスを独立に制御・変換する。
本発明の実施の形態4の符号化レート変換の具体例を説明する。
前述の通り、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMBまたはInterMB)、ブロックサイズ(8×8、4×4)によって、量子化マトリクス変換方法を独立に変更するという要求がある。
H.264の符号化レート変換装置において、ブロックタイプ、予測タイプ、ブロックサイズによって、量子化マトリクスの変換方法を変更したときの一例を図28Aおよび図28Bに示す。なお、ブロックタイプ、予測タイプ、ブロックサイズによって、基準周波数と、量子化マトリクスを変換するための値(量子化マトリクス変換率)とを変更する処理は、量子化マトリクス低域削減変換部108が行なう。
図28Aおよび図28Bに示される変換パターンPAは、低域変換を行う基準周波数をu+v≦−1を満たす周波数に設定、すなわち量子化マトリクスの低域係数の変換を行わないものである。
図28Aおよび図28Bに示される変換パターンPBは、低域変換を行う基準周波数をu+v≦1を満たす周波数に設定し、量子化マトリクス変換率を1/2に設定したものである。
図28Aおよび図28Bに示される変換パターンPCは、低域変換を行う基準周波数をu+v≦2を満たす周波数に設定し、量子化マトリクス変換率を1/4に設定したものである。
図28Aおよび図28Bに示される変換パターンPDは、低域変換を行う基準周波数をu+v≦3を満たす周波数に設定し、量子化マトリクス変換率を1/2に設定したものである。
図28Aおよび図28Bでは、量子化マトリクスのすべての係数が16のときの変換例を示しているが、上記の変換パターンは、この量子化マトリクスに限るものではない。図28Aに示される表では、ブロックサイズ、予測タイプ(IntraMBまたはInterMB)、ブロックサイズの組み合わせ(マトリクス番号M0〜M7)によって、変換パターンPA〜PDのいずれかを適用することを示している。
図29A、図29B、図29C、図29Dは、実施の形態4の符号化レート変換装置が、図28Bに示される変換後の量子化マトリクスを使用して、H.264のマクロブロックタイプごとに変換された量子化DCT係数の変換率を示す。
図29Aは、マトリクス番号M0に対応する変換パターンPAにより変換された量子化マトリクスにより、4×4のサイズの輝度のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、輝度のMBが示す全ての量子化DCT係数が1倍されたことが示される。
また、図29Aは、マトリクス番号M1に対応する変換パターンPBにより変換された量子化マトリクスにより、色差(青成分)のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、色差(青成分)のMBが示す複数の量子化DCT係数のうち、左上の1つの量子化DCT係数のみが2倍されたことが示される。
また、図29Aは、マトリクス番号M2に対応する変換パターンPCにより変換された量子化マトリクスにより、色差(赤成分)のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、色差(赤成分)のMBが示す複数の量子化DCT係数のうち、左上の3つの量子化DCT係数のみが4倍されたことが示される。
図29B、図29Cおよび図29Dに示されるマトリクスは、図29Aで説明したのと同様であるので詳細な説明は繰り返さない。
たとえば、図29Cは、マトリクス番号M6に対応する変換パターンPDにより変換された量子化マトリクスにより、輝度のMBが逆量子化された後の量子化DCT係数の変換率を示す。この場合、逆量子化により、輝度のMBが示す複数の量子化DCT係数のうち、左上の6つの量子化DCT係数のみが2倍されたことが示される。
図29A、図29B、図29C、図29Dに示されるマトリクスが示す数値が大きいほど、符号量は大きくなるが、量子化誤差を低減することができる。
以上のように、ブロックタイプ、予測タイプ、ブロックサイズの性質に応じて、その組み合わせによって、量子化誤差の低減度合いに差をつけることで、要求される符号化レートへの変換時に画質劣化を抑えることができる。
なお、本実施の形態において、ブロックタイプには、輝度、色差(青成分)、色差(赤成分)のタイプが存在することを前提に説明を行ったが、その他のタイプが存在していてもよい。
なお、本実施の形態において、予測タイプには、Intra、Interが存在することを前提に説明を行ったが、その他のタイプが存在していてもよい。
なお、本実施の形態において、ブロックサイズには、8×8、4×4が存在することを前提に説明を行ったが、その他のサイズが存在していてもよい。
なお、本実施の形態において、ブロックタイプ、予測タイプ、ブロックサイズに応じて、独立して量子化マトリクスの定義が可能なコーデックを前提に説明を行った。しかしながら、それに限定されず、それ以外の属性で独立に量子化マトリクスの定義が可能なコーデックであれば、その属性に応じて独立に量子化マトリクスを変換してもよい。
なお、本実施の形態において、予測タイプやブロックサイズは、MB内で固定であることを前提に説明を行っているが、予測タイプやブロックサイズがMBで可変であっても、本発明は実施可能である。
なお、本実施の形態において、InterMBの量子化マトリクス変換率をIntraMBの量子化マトリクス変換率より下げる例を挙げている。しかし、例えば、画面間の相関性が低く、InterMBの誤差が画質に与える影響が高い場合は、逆のほうが優れる場合もある。
本発明は、参照タイプ(InterMB、IntraMB)によって、量子化マトリクス変換を変更することが本質であり、どちらかの変換率が大きくするかどうかに依存するものではない。また、これは、ブロックタイプ(輝度・色差)、ブロックサイズ(8×8、4×4)によっても同様である。
なお、本実施の形態において、実施の形態1の符号化レート変換装置1000を基準に説明を行った。しかしながら、本発明の本質は、ブロックタイプ、予測タイプ、ブロックサイズなどの属性に応じて量子化マトリクスの変換方法を変える点である。そのため、本発明は実施の形態2の符号化レート変換装置1000Aにも適用可能である。
(実施の形態5)
また、実施の形態1〜2の符号化レート変換装置では、量子化スケールが1種類であること、またすべての種類の量子化スケールに同等の変換をすることを想定している。しかし、予測タイプ(IntraMB/InterMB)は、マクロブロックごとにしか切り替わらないので、IntraMBの量子化スケール、InterMBの量子化スケールで、変換方法を変更することも可能である。
また、H.264におけるブロックサイズ(輝度8×8または4×4)も、マクロブロックごとにしか切り替わらないので、同様に変換方法を変更することも可能である。なお、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))は、1つのマクロブロックの中に複数タイプが存在するが、MPEG2では、両者の量子化スケールは共通である。
また、H.264 High Profileでは、輝度、色差(青成分)、色差(赤成分)の3種類の量子化スケールが存在するものの、それぞれの量子化スケールは、その比率がピクチャ内で固定である。そのため、マクロブロックごとに3種類の量子化スケールを独立に設定できるわけではない。MPEG2、H.264以外でそれぞれの量子化スケールを独立に変更可能なコーデックにおいては、そのそれぞれで量子化スケールの変換方法を変更することも可能である。
本発明の実施の形態5における符号化レート変換装置の構成は、実施の形態1の図11の符号化レート変換装置1000の構成と同じであるので詳細な説明は繰り返さない。
本発明の実施の形態5における符号化レート変換装置は、量子化マトリクス変換制御部110および量子化スケール増加変換部104が、実施の形態4と同様に、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMB/InterMB)、ブロックサイズなどの属性に応じて、量子化スケールの値を変化させるための値(量子化スケール変換率β)を変更する。なお、その他の処理は、実施の形態1で説明した処理と同様なので詳細な説明は繰り返さない。
なお、本発明は実施の形態2の符号化レート変換装置1000Aにも適用可能である。この場合、量子化マトリクス変換制御部110Aおよび量子化スケール増加・削減変換部104Aが、実施の形態4と同様に、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMB/InterMB)、ブロックサイズなどの属性に応じて、量子化スケールの値を変化させるための値(量子化スケール変換率β)を変更する。
(実施の形態6)
本実施の形態では、実施の形態1〜5で示した符号化レート変換装置の応用例あるいはそれを用いたシステムを説明する。
図30は、符号化レート変換装置を用いた放送ストリーム受信記録装置2008とそのシステム構成を示す図である。放送ストリーム受信記録装置2008は、符号化レート変換部2001と、放送受信部2003と、AV多重分離部2004と、AV多重部2005と、HDD制御部2006と、HDD2007とを備える。なお、放送ストリーム受信記録装置2008内の符号化レート変換部2001が、実施の形態1〜5で示した符号化レート変換装置と同様な処理を行なう。
放送ストリーム受信記録装置2008は、デジタル放送波2002を受けて動作し、放送波から受信したデジタルデータの符号化レートを変換してHDD2007に記録する。
デジタル放送波2002は、変調された状態で搬送波にのせて伝送される。デジタル放送波2002は、複数のプログラムを含む。複数のプログラムの各々は、MPEG2で符号化された映像データと、AACで符号化された音声データと、字幕情報やデータ放送などのシステムデータとを含む。
放送受信部2003は、デジタル放送波2002を復調する。そして、放送受信部2003は、復調により得られた複数プログラムの中から、所望の1つのプログラムを分離して、分離したプログラムを、AV多重分離部2004に通知する。
AV多重分離部2004は、映像データ、音声データ、システムデータが多重化されたストリームから、映像データだけを抽出して、映像データを符号化レート変換部2001に通知する。AV多重分離部2004は、映像データ以外のデータは、AV多重部2005に通知する。
符号化レート変換部2001は、映像データを所望の符号化レートに変換し、変換後の映像データ(符号化レート変換済みの映像データ)をAV多重部2005に通知する。AV多重部2005は、符号化レート変換済みの映像データと、元の音声データ、システムデータを多重化して、1つのプログラムを再構成し、再構成した1つのプログラムをHDD制御部2006に通知する。HDD制御部2006は、プログラムをHDD2007に記録する。
日本のBSデジタル放送において、1つのプログラムの符号化レートは、24Mbpsである。そのため、HDDに1時間番組をそのまま記録する場合、HDDは、10Gbyte以上の容量が必要になる。HDDが250Gbyteの容量を有していても、20時間程度しか記録することができない。これに伴い、HDDにもっと長時間の番組を記録したいという要求が存在する。
本実施の形態における放送ストリーム受信記録装置は、プログラムの中で映像データが約9割を占めることを利用して、映像データの符号化レートを例えば1/2倍に変換することで、上記の要求に答えることができる。
なお、本実施の形態では、放送ストリーム受信記録装置2008は、デジタル放送波2002を受信し、処理するようにしている。しかしながら、これに限定されることなく、放送ストリーム受信記録装置2008は、符号化レート変換なしでHDDに記録されたストリームや、ネットワークを通じて配信されたストリームを受信し、処理してもよい。
また、本実施の形態では、放送ストリーム受信記録装置2008が受信したデータの記録先をHDDとした。しかしながら、これに限定されず、DVDなどの光ディスクやメモリーカードなど他の記録媒体としてもよい。
(実施の形態7)
本実施の形態では、実施の形態1〜5で示した符号化レート変換装置の応用例あるいはそれを用いたシステムを説明する。
図31は、符号化レート変換装置を用いたネットワーク配信システム5000の一例の構成を示すブロック図である。
ネットワーク配信システム5000は、ストリーム送信装置2110と、ストリーム受信装置2111と、ネットワーク2109とを含む。ストリーム送信装置2110は、符号化ストリームをネットワーク2109へ送信する。ストリーム受信装置2111は、ネットワーク2109から符号化ストリームを受信する。
ネットワーク配信システム5000は、ストリーム送信装置2110のHDDに記録されたAVストリームをネットワーク2109を通じて配信し、ストリーム受信装置2111で再生するシステムである。
ストリーム送信装置2110は、符号化レート変換部2101と、HDD2102と、HDD制御部2103と、AV多重分離部2104と、AV多重部2105と、ネットワーク制御部2106とを備える。なお、ストリーム送信装置2110内の符号化レート変換部2101が、実施の形態1〜5で示した符号化レート変換装置と同様な処理を行なう。HDD2102には、映像ストリーム、音声ストリーム、システムストリームを含む1つのプログラムが格納されている。
HDD制御部2103は、HDD2102からストリームを読み出し、読み出したストリームをAV多重分離部2104に通知する。AV多重分離部2104は、実施の形態6と同様、映像ストリームだけを分離して、分離した映像ストリームを符号化レート変換部2101に通知する。映像ストリーム以外のストリームは、AV多重部2105に通知する。
符号化レート変換部2101は、映像ストリームの符号化レートを変換して、変換後の映像ストリームをAV多重部2105に通知する。AV多重部2105は、映像ストリームと音声、システムストリームを再度多重化した1つのAVストリームを生成し、生成したストリームをネットワーク制御部2106に通知する。
ネットワーク制御部2106は、受信したAVストリームをネットワーク2109に送信する。ネットワーク制御部2106は、ネットワーク2109が伝送可能なデータの符号化レートを検出し、検出した符号化レートの情報を、符号化レート変換部2101に通知する。
ストリーム受信装置2111は、ネットワーク制御部2107と、AV再生部2108とを備える。ネットワーク制御部2107は、ネットワーク2109からAVストリームを受信し、受信したAVストリームをAV再生部2108に通知する。AV再生部2108は、AV多重分離やAVストリームの復号を行い、映像(データ放送や字幕も含む)、音声を再生する。なお、AV再生部は符号化レート変換に直接関係ないので、詳細な構成は省略する。
例えば、日本のBSデジタル放送では、1つのプログラムあたりの符号化レートが24Mbpsである。しかしながら、ネットワークではAVストリーム以外のデータも同時に伝送されているので、ネットワークでは、24Mbpsの帯域が保障できないことが多い。また、ネットワークが無線の場合は、電波状態によって伝送可能な帯域が随時変化する。そのため、ネットワークでは、24Mbpsの帯域を保障することができないことが多い。帯域が保障できない場合、AVストリームのデータが抜け落ちることで、ストリームの復号が頻繁にエラーになる。そのため、AV再生がほとんどできないことになる。
ストリーム送信装置2110は、ネットワーク制御部2106が、ネットワーク2109の状態を検知し、ネットワーク2109で伝送可能なデータの帯域の情報を符号化レート変換部2101に通知する。これにより、符号化レート変換部2101は、AVストリームをネットワーク2109で伝送可能な符号化レートに変換することができる。これにより、ネットワーク2109上でデータが抜け落ちることがなくなるので、ストリーム受信装置2111は正常にAV再生ができるようになる。
なお、本実施の形態では、ストリーム送信装置2110が受信するデータを、HDD2102から読み出したデータとしている。しかしながら、これに限定されず、ストリーム送信装置2110が受信するデータは、デジタル放送波に含まれるデータや、他の記録媒体から読み出されたデータとしてもよい。
なお、本発明の実施の形態1〜7において、符号化レート変換装置を構成する各機能ブロックは、典型的には、CPUやメモリを要した情報機器上で動作するプログラムとして実現される。しかしながら、これに限定されず、符号化レート変換装置を構成する各機能ブロックの一部または全部を集積回路であるLSIとして実現してもよい。これらのLSIは、個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、使用される集積回路をLSIとしたが、集積度の違いにより、使用される集積回路は、IC、システムLSI、スーパーLSI、ウルトラLSI等のいずれであってもよい。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(FIELD PROGRAMMABLE GATE ARRAY)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上のように、本発明に係る符号化レート変換装置は、例えば、放送ストリーム受信記録装置やネットワークへのストリーム送信装置等において、映像ストリームの符号化レートを低減する際に有用である。
本発明は、符号化データの情報量をさらに削減するために符号化レートを変換する技術に関するもので、より具体的には、符号化レート変換に伴う画質劣化を抑制する符号化レート変換装置等に関するものである。
近年、高圧縮を実現するMPEG2(Moving Picture Experts Group 2)が画像符号化技術として採用されている。この技術はデジタル放送、DVD、ネットワークなどの記録媒体に用いられ、それらの用途に合わせて、ビットレートは一定の範囲内で選択できるようになっている。
例えば、高画質のデジタル放送を記録媒体に記録するビットレートを選択するにあたり、高画質のデータをそのまま記録媒体に記録するのではなく、さらに情報量を削減するためビットレートを小さくするよう符号化レートを変換することで、より多くのデータを記録媒体に記録することができる。また、記録媒体の容量を有効利用するために符号化レートを変換する高速ダビングなどのニーズも高まっている。
また、記録媒体に記録したデジタル放送をネットワークに配信するにあたり、高画質のデータをそのままネットワークに配信するのではなく、ネットワーク帯域に応じてビットレートを小さくするよう符号化レートを変換することで、帯域の狭いネットワークでも映像を配信することができる。
以上を実現する符号化レート変換方法の一つに、再量子化型の変換方法がある。この方法は、入力ビットストリームを画素レベルまで復号するのではなく、逆量子化した後のDCT(Discrete Cosine Transform)係数を、異なる量子化スケールで再量子化することで所望のデータ量に変換することで、画素レベルまで復号を行うことなく、符号化レートを削減できる方法である。
以降、再量子化型の符号化レート変換方法の詳細を説明する前に、MPEG2のDCT変換および量子化に関する詳細な説明を行う。
MPEG2では、1つのピクチャの符号化データは1つ以上のスライスから構成され、1つのスライスは1つ以上のマクロブロック(MB)から構成される。以下においては、マクロブロックを、MBという。MBは、ヘッダ部と、ブロック部とを有する。以下においては、MBのヘッダ部およびMBのブロック部を、それぞれ、MBヘッダ部およびMBブロック部という。MBブロック部は、複数の量子化DCT係数を示す。量子化DCT係数は、ピクチャに対し所定サイズのブロック毎にDCT(離散コサイン変換)して得られたDCT係数を量子化することにより得られる係数である。
また、1つのマクロブロックは、標準(4:2:0)で、輝度のブロックが4つ、色差のブロックが2つの合計6つのブロックから構成される。輝度と色差でブロックの数が異なるのは、密度の観点において、人間が色差より輝度に敏感である視覚特性に基づいて決定されている。MPEG2では、6つのブロックを、輝度Y(左上)、輝度Y(右上)、輝度Y(左下)、輝度Y(右下)、色差Cb(青成分)、色差Cr(赤成分)の順番に符号化されている。
1つのブロックは、8×8サイズの係数(量子化DCT係数)群で符号化されており、この係数群を逆量子化し、さらに逆DCT変換すると、8×8サイズの画素に復号することができる。
ブロックに含まれる係数群は、左上の係数が低周波成分で、右に行くほど水平方向に高周波成分の係数、下に行くほど垂直方向に高周波成分の係数になり、右下の係数は水平方向にも垂直方向にも高周波成分となる。左上角の1係数がDC成分(直流)で、その他はAC成分(交流)である。
上記の量子化DCT係数の逆量子化方法は、動き補償を行わないIntraMBか、動き補償を行うInterMBかどうかによって異なる。IntraMBは、処理対象のピクチャ内の情報を利用してデータを圧縮するマクロブロックである。また、IntraMBでは、DC成分かAC成分かによっても異なる。InterMBは、処理対象のピクチャと異なるピクチャ内の情報を利用してデータを圧縮するマクロブロックである。
IntraMBのDC成分は、以下の式に従って逆量子化される。
(DCT係数)=(逆量子化係数)×(量子化DCT係数)
一方、IntraMBのAC成分は、以下の式(以下、逆量子化の式という)に従って逆量子化される。
(DCT係数)=(2×量子化DCT係数)×量子化マトリクス×量子化スケール/32
また、InterMBは、DC成分、AC成分にかかわらず、以下の式(以下、逆量子化の式という)に従って逆量子化される。
DCT係数=
(2×量子化DCT係数+1)×量子化マトリクス×量子化スケール/32 (量子化DCT係数>0の場合)
(2×量子化DCT係数) ×量子化マトリクス×量子化スケール/32 (量子化DCT係数=0の場合)
(2×量子化DCT係数−1)×量子化マトリクス×量子化スケール/32 (量子化DCT係数<0の場合)
上式において、逆量子化係数や量子化スケールは係数(スカラ)であるが、量子化マトリクスは、8×8サイズの係数群(ベクトル)で構成されており、求めるDCT係数の位置に応じた係数を使用する。
逆量子化係数や量子化マトリクスは、ピクチャ単位で指定され、量子化スケールは、マクロブロック単位で指定される。
また、量子化スケールは、そのままの値で符号化されているのではなく、MBヘッダ部が示す符号化された量子化スケールコード(量子化パラメータ)から図1の表に基づいて変換する。量子化スケールコード(量子化パラメータ)から量子化スケールの変換は、線形タイプと非線形タイプの2つのタイプが存在し、どちらのタイプで符号化するかはピクチャ単位で指定される。
次に、量子化DCT係数は、図2Aに示すジグザグスキャンおよび図2Bに示すオルタネートスキャンのいずれかが示す順番で、非0係数だけが符号化される。どちらのスキャン順が用いられているかどうかはピクチャ単位で指定される。ジグザグスキャンはプログレッシブ画像の符号化に適し、オルタネートスキャンはインターレース画像の符号化に適する。以降、ジグザグスキャンにて説明を行うが、オルタネートスキャンでもジグザグスキャンと同様の議論が成り立つ。
非0係数の符号化は、一つ前の非0係数からの項目数run(=連続する0係数の個数)および非0の量子化DCT係数値levelが符号化され、最後の非0係数の次にはEOB(End Of Block)が符号化され、それ以降の0係数は省略される。例えば、低周波成分から7、3、0、0、1、以降すべて0、の順で量子化DCT係数が存在するブロックでは、(run、level)=(0、7)、(0、3)、(2、1)、EOBの順番で符号化される。
次に、再量子化型の符号化レート変換方法の詳細について説明する(特許文献1参照)。
図3は、MPEG2の復号化装置10000の一例の構成を示すブロック図である。可変長復号部2201は、MPEG2ストリームを復号し、復号により得られた複数のMBブロック部の各々が示す情報(量子化DCT係数)を逆量子化部2202に通知する。
まず、IntraMBの場合、逆量子化部2202は、量子化DCT係数を逆量子化してDCT係数に戻し、DCT係数を逆DCT変換部2203に通知する。逆DCT変換部2203は、逆DCT変換を行い、DCT係数を画素情報に戻す。戻された画素情報は画素復元部2206を通じて出力する。また、画素情報は次のピクチャ以降で参照される可能性があるため、参照フレーム格納部2204に格納される。
次に、InterMBの場合は、逆DCT変換により得られた画素情報が差分値であるため、画素復元部2206にDCT係数を出力した後もさらに処理が必要である。動き補償部2205は、可変長復号部2201で復号した動きベクトルで指定された参照画像を参照フレーム格納部2204から取得して、画素復元部2206に通知する。画素復元部2206は、参照画像と画素情報の差分を加算して画素情報を求め、出力する。復元した画素情報はInterMBと同様に参照フレーム格納部2204に格納される。
図4は、MPEG2の符号化装置10001の一例の構成を示すブロック図である。基本的にMPEG2の復号化装置10000の逆の構成となっている。
IntraMBの場合、画素情報はまずDCT変換部2301でDCT変換され、DCT変換により得られた情報が量子化部2302に通知される。レート制御部2311は、目標の符号化レートを、可変長符号部2303から得た実際の符号化ビット量の実績値で補正しながら、量子化スケールを求めて、量子化スケールを量子化部2302に通知する。
量子化部2302は、DCT係数をレート制御で算出された量子化スケールで量子化を行い、量子化により得られた情報を可変長符号部2303に通知すると同時に、参照画像として利用するため、量子化により得られた情報を逆量子化部2304に通知する。可変長符号部2303は、量子化DCT係数をストリームとして符号化する。次以降のピクチャで参照画像として利用するために、量子化DCT係数は、復号化装置10000と同様に、逆量子化部2304、逆DCT変換部2305により、画像情報まで復号されて、画像情報が参照フレーム格納部2306に格納される。
InterMBの場合、参照画像を用いた画像情報量削減を行うため、まず動き検出部2307で、参照フレーム格納部2306から入力画像と一致度の高い画像を検出して、動きベクトルを算出する。動きベクトルは、動き補償部2308に通知されるとともに、ストリームのMBヘッダ部の情報として符号化するため、可変長符号部2303に通知される。動き補償部2308は、動きベクトルを元に、参照フレーム格納部2306から参照画像を取得し、画素減算部2309が、入力画像との差分を求めることで、情報量を削減する。以降は、IntraMBの場合と同じである。
次以降のピクチャで参照画像として利用するために、逆量子化部2304、逆DCT変換部2305を通すと、画像情報の差分が求まるので、動き補償部2308で求めた参照画像を画素加算部2310が加えると、画像情報が復号でき、画像情報が参照フレーム格納部2306に格納される。
ここで、MPEG2では、MBヘッダ部のビット量はほぼ決まった範囲のビット量を取り、さらに、MBヘッダ部のビット量が符号化ストリーム全体に占める割合はわずかである。逆に、MBブロック部のビット量はMBごとのばらつきが大きく、さらに、MBブロック部のビット量は符号化ストリームの大部分を占める。したがって、符号化ストリームの符号化レートを低減するためには、何らかの手段で、MBブロック部の量子化DCT係数(level)を低減する手法が有効である。
量子化DCT係数(level)を低減すると、小さなlevelは短い符号化ビットで表現可能である。さらにlevelが0になれば、levelの符号化自体が不要になるため、符号化レートを低減できる。
再量子化型のレート変換装置は、上記の量子化の性質を利用した変換装置であり、MPEG復号化装置とMPEG符号化装置を結合して、不要な構成を省いた構成である。ストリームを画像レベルまで復号せずに、量子化だけでレートを変換するため、DCT変換や動き補償を行う必要がないという利点がある。
量子化DCT係数(level)を低減するには、前述した逆量子化の式を参照すると、量子化スケールおよび量子化マトリクスのいずれかを大きくすればよいことがわかる。まずは、再量子化型の符号化レート変換装置の一例として、量子化スケール再変換型の符号化レート変換装置の詳細を説明する。
量子化スケール再変換型の符号化レート変換装置11000の構成図を図5に示す。
可変長復号部2401は、MPEG2ストリームを復号する。可変長復号部2401は、逆量子化係数や量子化マトリクスを含むピクチャヘッダは変換せずに、ピクチャヘッダを可変長符号部2402にそのまま通知する(図示せず)。可変長復号部2401は、MBヘッダ部のパラメータをMBヘッダ格納部2405に通知すると同時に、MBヘッダ部が示す量子化スケールコードを量子化スケールに変換し、当該量子化スケールを量子化スケール増加変換部2404に通知する。可変長復号部2401は、MBブロック部が示す量子化DCT係数などのパラメータを逆量子化部2406に通知する。
逆量子化部2406は、入力ストリームの量子化スケールにしたがって、逆量子化を行い、量子化部2407に通知する。
一方、レート制御部2403は、目標変換レートに従って、目標量子化スケールを算出して、算出した目標量子化スケールを量子化スケール増加変換部2404に通知する。
量子化スケール増加変換部2404は、目標量子化スケールを参考に、入力時の量子化スケールから出力時の新しい量子化スケールに変換し、変換した量子化スケールを量子化部2407に通知すると同時に、変換した量子化スケールをMBヘッダ格納部2405に通知する。
MBヘッダ格納部2405では、量子化スケールを量子化スケールコードに変換し、新しい値に書き換える。MBヘッダ格納部2405は、MBヘッダに該当するパラメータを可変長符号部2402に通知する。これにより、MBヘッダ部のストリームが得られる。
また、量子化部2407は、新しい量子化スケールにしたがって、量子化を行い、その結果得られる量子化DCT係数を可変長符号部2402に通知する。これにより、MBブロック部のストリームが得られる。
レート制御部2403は、随時、可変長復号部2401から復号したビット量を取得し、かつ、可変長符号部2402から符号化されたビット量を得て、目標レートの補正を行う。
次に、量子化スケール再変換型の符号化レート変換装置11000におけるレート制御の詳細を説明する。
MPEG2では、ISO−IEC/JTC1/SC29/WG11/N0400 Test Model 5(以下、TM5と記載)に符号化時のレート制御方式が記載されており、符号化レート変換においても、TM5と同等の方式が用いられている(特許文献1参照)ことが多い。そのため、まずはTM5を説明する。TM5のレート制御方式は3つのステップから成り立っている。
ステップ1は、目標ビットレートからピクチャごとにビット配分を行うフェーズである。ステップ2は、ピクチャごとに配分されたビットを元に量子化スケールを算出するフェーズである。ステップ3は、視覚的特性を考慮して量子化スケールを補正するフェーズである。
ステップ1では、目標符号化レートやピクチャ構成(I,P,Bピクチャ)などに従って、ピクチャごとにビットを配分することが数式で規定されているが、本発明には直接関係しないので、詳細は省略する。
ステップ2では、仮想的な基準復号部を想定し、仮想バッファに対するレート制御を行う。このレート制御処理では、I,P,Bピクチャにそれぞれ割り当てられたビット量Ti、Tp、Tbと、実際にI,P,Bピクチャでそれぞれ発生するビット量Si、Sp、Sbとをそれぞれ一致させるための処理が行なわれる。具体的には、ピクチャタイプごとに個別に設定した3種類の仮想バッファ容量に基づいて、量子化スケールをマクロブロック単位のフィードバック制御で求める。I,P,Bピクチャ内のj番目のマクロブロックの符号化時に使用する仮想バッファの占有量di(j)、dp(j)、db(j)は、以下の式で与えられる。
dk(j)=dk(0)+B(j−1)−Tk×(j−1)/NMB (ただしk=i,p,b)
ここで、di(0)、dp(0)、db(0)は仮想バッファの初期占有量である。B(j−1)は(j−1)番目までのマクロブロックの発生符号量の総和である。NMBはピクチャのマクロブロック数である。上記仮想バッファの占有量に基づき、I,P,Bピクチャ内のj番目のマクロブロックの量子化スケールmqi(j)、mqp(j)、mqb(j)は、以下の式で与えられる。
mqk(j)=dk(j)×31/r (ただしk=i,p,b)
ここで、rはリアクションパラメータと呼ばれる定数である。ステップ3は、本発明には直接関係しないので、詳細は省略する。
次に、量子化スケール再変換型の符号化レート変換装置における量子化スケール変換の詳細を説明する。
レート制御により量子化スケールが得られる。しかし、符号化レート変換においてその量子化スケールをそのまま利用することは必ずしも得策ではない。例えば、TM5は入力ストリームとは無関係に量子化スケールを算出する。そのため、入力ストリームの量子化スケールqik(j)と比較して、レート制御で得られた量子化スケールmqk(j)が小さい場合が発生する。その場合に、量子化スケールにmqk(j)をそのまま用いると、出力されるビット量が入力ストリームより増加することになる。
しかし、入力ストリームを変換して出力する以上、出力ストリームの量子化誤差が入力ストリームの量子化誤差より小さくなることはありえないので、ここでのビット量の増加は全くの無意味である。したがって、出力ストリームの量子化スケールqok(j)は、
qok(j)=max{qik(j),mqk(j)} (ただしk=i,p,b)
とするのがよい。また、それ以外にも、出力ストリームの量子化スケールqok(j)に対して、レート制御で得られた量子化スケールmqk(j)をそのまま用いるのではなく、
qok(j)=
qik(j) (mqk(j)<1.5×qik(j)の場合)
2×qik(j) (1.5×qik(j)≦mqk(j)<2×qik(j)の場合)
mqk(j) ( 2×qik(j)<mqk(j)の場合)
(ただしk=i,p,b)
とするほうが、同一符号量あたりの画質劣化が抑えられるとの報告もある(特許文献2参照)。いずれの場合であっても、出力ストリームの量子化スケールは、レート制御で得られた量子化スケールをそのまま用いるのではなく、レート制御で得られた量子化スケールを参照して、入力ストリームの量子化スケールを増加方向に変換すればよいことになる。
次に、量子化スケール再変換型の符号化レート変換装置11000における量子化の具体例を図6を用いて説明する。
レート制御や量子化スケール変換の結果、量子化スケールが4から8に、すなわち2倍に変換されることになったとする。前述した逆量子化の式を参照すると、量子化DCT係数は量子化スケールにほぼ反比例させる必要があるため、量子化DCT係数は1/2倍に変換する必要がある。
8個の非0量子化DCT係数(level)7、−3、2、1、4、1、−1、1が存在するInterMBのブロックにおいては、本来3.5、−1.5、1、0.5、2、0.5、−0.5、0.5に変換するのが望ましい。しかしながら、量子化DCT係数は整数でしか符号化できないため、3.5、−1.5、1、0.5、2、0.5、−0.5、0.5は、それぞれ3、−1、1、0、2、0、0、0に整数化(ここでは小数点以下は切捨てとする)され、levelの値が減少する。
また、非0係数の個数が変換前の8個から変換後は4個に減少する。これを符号化すると、入力時50bitだった符号量が、25bitに減少させることができるので、符号化レートを低減することができる。
しかし、整数化(小数点以下を切り捨て)の際には誤差(量子化誤差)が発生する。量子化スケールは量子化DCT係数のすべての周波数成分にかかる係数である。そのため、低周波成分から高周波成分に至るまでのすべての周波数で一律に誤差が発生する可能性がある。中でも低周波成分に対する誤差に対しては、人間の視覚は非常に敏感であり、その誤差がブロック状のノイズとして観察される。
量子化スケール再変換型の符号化レート変換装置では、量子化スケールだけで符号化レートを制御する必要があるため、目標符号化レートを達成するために、量子化スケール変換率を大きくしなければならないので、上記の低周波成分の誤差に起因するブロックノイズが大規模に発生する可能性がある。ここで、量子化スケール変換率は、量子化スケールの値を変換するための値である。
一方、再量子化型の符号化レート変換方法として、量子化スケール再変換型の符号化レート変換方式だけではなく、量子化マトリクス再変換型の符号化レート変換方式も存在する(特許文献3参照)。
量子化マトリクスは、ブロックサイズ(8×8)の係数群である。量子化マトリクスは、量子化スケールと違い、周波数成分ごとに係数が独立しているため、周波数成分ごとに変換率を変更して量子化誤差を制御すれば、量子化スケール再変換型の符号化レート変換装置における課題を解決できる可能性がある。
量子化マトリクス再変換型の符号化レート変換装置12000を図7に示す。
可変長復号部2501は、MPEG2ストリームを復号する。可変長復号部2501は、復号により得られた量子化マトリクスを含むピクチャヘッダをピクチャヘッダ格納部2505に通知すると同時に、量子化マトリクス高域増加変換部2504に通知する。
レート制御部2503は、目標変換レートに基づいて、当該ピクチャの目標符号量を、量子化マトリクス高域増加変換部2504に通知する。
量子化マトリクス高域増加変換部2504は、制御情報に基づいて、入力ストリームの量子化マトリクスの高周波成分(高域)の係数を増加方向に変換し、変換された係数を示す変換後の量子化マトリクスを量子化部2507に通知すると同時に、変換後の量子化マトリクスをピクチャヘッダ格納部2505に通知する。
ピクチャヘッダ格納部2505は、ピクチャヘッダを可変長符号部2502に通知する。これにより、ピクチャヘッダのストリームが得られる。
次に、MBの処理としては、可変長復号部2501が、MBヘッダを、可変長符号部2502に直接通知する(図示していない)。また、可変長復号部2501は、MBのブロック部の量子化DCT係数などのパラメータを逆量子化部2506に通知する。
また、量子化部2507は、新しい量子化マトリクスにしたがって、量子化を行い、その結果得られる量子化DCT係数を可変長符号部2502に通知する。これにより、MBブロック部のストリームが得られる。
すべてのMBに対し処理が終了した後、レート制御部2503は、可変長復号部2501から復号されたビット量を得て、可変長符号部2502から符号化されたビット量を得て、目標レートの補正を行う。
次に、量子化マトリクス再変換型の符号化レート変換装置におけるレート制御の詳細を説明する。
当該ピクチャの目標符号量の算出は、量子化スケール再変換型の符号化レート変換装置11000と同様、TM5のステップ1を適用すればよいので、ここでは説明を省略する。
しかし、マクロブロック単位の制御は、量子化スケール再変換型の符号化レート変換装置11000ではTM5のステップ2を利用していたが、これは量子化スケールを変更する方法のため、本方式には適用できない。
次に、量子化マトリクス再変換型の符号化レート変換装置12000における量子化マトリクス変換の詳細を説明する。
ここでは量子化マトリクスの変換を制御する一例として、例えば、I,P,Bピクチャのi番目のピクチャの量子化マトリクス強度wi(i)、wp(i)、wb(i)を定義し、前のピクチャの実績値(目標と符号化結果の差)に基づいて、その強度を制御する例を取り上げる。
wk(i)=
max{1,wk(i−1)+1} (Bk(i−1)<Tk(i−1)+Cの場合)
wk(i−1) (Tk(i−1)−C≦Bk(i−1)≦Tk(i−1)+Cの場合)
min{4,wk(i−1)−1} (Tk(i−1)−C<Bk(i−1)の場合)
(ただしk=i,p,b)
ここで、Ti(i−1)、Tp(i−1)、Tb(i−1)は、I,P,Bピクチャの(i−1)番目のピクチャの目標符号量を示す定数である。Bi(i−1)、Bp(i−1)、Bb(i−1)は、I,P,Bピクチャの(i−1)番目のピクチャの実際の符号量を示す定数である。Cは目標の値と実際の値の差として許容可能な符号量を示す定数である。上記式により、量子化マトリクスは、目標符号化レートが達成できていれば強度を弱め、目標符号化レートが達成できていなければ強度を強めるように制御される。
次に、出力ストリームの量子化マトリクスの係数を、以下の式(以下、マトリクス変換式という)に基づいて、入力ストリームの量子化マトリクスの係数から変換する。なお、出力ストリームおよび入力ストリームの量子化マトリクスは、8行8列の行列であるとする。
Wo(u,v)=
Wi(u,v) (u+v≦ε(低周波成分)の場合)
wk(i)×Wi(u,v) (u+v>ε(高周波成分)の場合)
(ただしk=i,p,b)
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する閾値(基準周波数)を示す定数である。
次に、量子化マトリクス再変換型の符号化レート変換装置12000における量子化の具体例を図8を用いて説明する。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加させることになったとする。ここで、上記のマトリクス変換式において、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
前述した逆量子化の式から、量子化DCT係数は量子化マトリクスにほぼ反比例させる必要がある。そのため、量子化DCT係数の高周波成分の量子化DCT係数を1/2倍に変換する必要がある。
非0量子化DCT係数が7、−3、2、1、4、1、−1、1の合計8個で、うち前半の3個が低周波成分に該当するInterMBのブロックが変換対象の場合、低周波成分の係数は、変換不要である。また、高周波成分の量子化DCT係数は、本来0.5、2、0.5、−0.5、0.5に変換されるのが望ましいが、それぞれ0、2、0、0、0に整数化される。
これにより、量子化DCT係数の低周波成分は量子化誤差が発生しない一方、高周波成分は非0量子化DCT係数のlevel低減、非0係数の個数削減により、入力時50bitだった符号量が、35bitに減少される。そのため、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、符号化レートを削減することができる。
しかし、符号化レート変換装置12000では、量子化マトリクスがピクチャ単位でしか設定できないため、細かく符号化レートを制御できず、最悪、数十ピクチャ経過しないと符号化レートを目標レートに収束させることができない可能性がある。
例えば、符号化レート変換装置12000をネットワークの帯域に応じた符号化レート変換に適用させる場合、少なくともピクチャ単位やGOP単位で符号化レートを追随させることが要求される。しかしながら、符号化レート変換装置12000ではこの要求を満たすことができず、一定時間ネットワークの帯域を越えたストリームを配信することで、画像を乱れさせてしまう可能性がある。
また、MPEG2規格では、ピクチャごとのビット量がバッファモデルとして規定されているため、ピクチャ単位で規格の範囲内になるようにビット量を制御する必要があるが、符号化レート変換装置12000はこの制御の実現が困難なため、規格違反のストリームを出力してしまう可能性も存在する。
なお、上記で説明した量子化スケール再変換型の符号化レート変換方式と、量子化マトリクス再変換型の符号化レート変換方式を組み合わせた符号化レート変換方式(統合方式)も存在する(特許文献1参照)。
図9に量子化スケール再変換型と量子化マトリクス再変換型の統合方式(以降、統合方式と記載)の符号化レート変換装置13000を示す。
符号化レート変換装置13000は、図5の量子化スケール再変換型の符号化レート変換装置11000と、図7の量子化マトリクス再変換型の符号化レート変換装置12000をそのまま組み合わせた構成となっているため、説明は省略する。
また、統合方式の符号化レート変換装置13000におけるレート制御、量子化マトリクス変換、量子化パラメータ変換は、量子化スケール再変換型の符号化レート変換装置11000および量子化マトリクス再変換型の符号化レート変換装置12000と同等の方法で実施可能なため、説明は省略する。
また、統合方式の符号化レート変換装置13000における量子化の具体例を図10を用いて説明する。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加したとする。またレート制御や量子化スケール変換の結果、量子化スケールを4から8に、すなわち2倍に増加させることになったとする。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の係数を1×1/2=1/2倍に変換し、高周波成分を1/2×1/2=1/4倍に変換する必要がある。
非0量子化DCT係数が7、−3、2、1、4、1、−1、1の合計8個で、うち前半の3個が低周波成分に該当するInterMBのブロックが変換対象であるとする。この場合、低周波成分の係数は、3.5、−1.5、1を整数化した3、−1、1に変換される。高周波成分の係数は、0.25、1、0.25、−0.25、0.25を整数化した0、1、0、0、0に変換される。これにより、入力時50bitだった符号量を、20bitに減少させることができる。
上記の統合方式の符号化レート変換装置13000においては、量子化スケール再変換型の符号化レート変換装置11000と量子化マトリクス再変換型の符号化レート変換装置12000の両方の要素を組み合わせた性質を持つことがわかる。また、符号化レート変換装置13000は、目標レートからのずれを量子化スケールを変化させることでマクロブロック単位で補正しながら変換することができる。したがって、符号化レート変換装置13000は、量子化マトリクス再変換方式で存在した、細かく符号化レートを制御することができないといった課題を解決する。
また、符号化レート変換装置13000は、符号量の削減が、量子化スケール変換だけでなく、量子化マトリクス変換によっても可能になる。そのため、量子化マトリクス変換においては、低周波成分の量子化誤差は発生しないので、同一の符号化レートにおいては、量子化スケール変換による低周波成分の量子化誤差の発生規模は低減される。したがって、符号化レート変換装置13000は、量子化スケール再変換方式で存在した低周波成分の量子化誤差が大規模に発生するという課題を解決する。
したがって、上記の統合方式の符号化レート変換装置13000は、量子化スケール再変換方式と量子化マトリクス再変換方式のそれぞれの欠点を補完した形で、量子化スケールおよび量子化マトリクスを変換することができる。
特開2001−078194号公報 特開2001−204028号公報 特開2005−210502号公報
上記の統合方式の符号化レート変換装置13000を用いれば、DCT係数の低周波成分の量子化誤差が抑制される。しかしながら、符号化レート変換装置13000では、DCT係数の高周波成分に量子化誤差が発生した場合、低周波成分には及ばないものの、やはり画面の精細感が低減したり、モスキート状のノイズが発生したりなど、画質劣化の傾向が見られることがある。
一般的に符号化レートと画質はトレードオフの関係にある。そのため、ブロックレベルで見ると、符号化レートの低減と高周波係数の量子化誤差による画質劣化は不可避ではあるが、ピクチャレベルで見ると、必ずしもそれが成り立たない場合がある。
例えば、平坦で低精細の背景に対して、小さい人間の姿が高精細に映っている映像のように、ピクチャ内で精細度が異なるとする。この場合、背景の画像に対応する低精細のMBのDCT係数の低周波成分の量子化誤差より、人間の画像に対応する高精細のMBのDCT係数の高周波成分の量子化誤差を抑えるほうが、全体的な画質劣化を抑制できることがある。
その場合、高精細のMBでは、高周波係数も含めて量子化誤差を抑制し、低精細のMBでは、上記のMBで符号量が削減できなかった分も含めて、符号量を削減するといったように制御するのが望ましい。
しかし、上記の統合方式の符号化レート変換装置13000では、高精細のMBでは量子化スケールを増加させず、低精細のMBでは量子化スケールを大幅に増加させるといった重み付けで量子化スケールの制御を行ったとしても、ピクチャヘッダで量子化マトリクスの高周波成分を増加させている。そのため、符号化レート変換装置13000では、量子化スケールを増加させなくても、高周波成分の量子化誤差が発生する。
すなわち、上記の統合方式の符号化レート変換装置13000では、全体のMBのDCT係数の低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、精細度の高いMBなどの特定のMBではDCT係数の低周波成分だけでなく高周波成分の量子化誤差に起因する画質劣化も抑制可能な符号化レート変換を実現することができない。
また、これまでMPEG2に基づいて説明を行ったが、DCT変換あるいはそれに順ずる直交変換に基づいた符号化を行う画像コーデックであり、量子化マトリクスをピクチャ単位に指定し、量子化スケールをマクロブロック単位に指定する画像コーデックであれば同様の課題が存在する。上記に該当する画像コーデックとしては、例えば、JPEG、MPEG1、MPEG4、H.264などが存在する。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制可能な符号化レート変換装置等を提供することである。
上述の課題を解決するために、本発明のある局面に従う符号化レート変換装置は、ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られるピクチャの符号化データの符号化レートを変換するための装置である。量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定される。量子化マトリクスは、符号化データから得られるピクチャ単位で設定される。符号化レート変換装置は、複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化部と、第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、複数の係数のうち低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換部と、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、第2量子化マトリクスが符号化データの符号化レートを小さくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出部と、複数の係数データの少なくとも一部を、第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、逆量子化部により逆量子化される前の符号化レートより小さい符号化レートの符号化データを生成する再量子化部とを備える。
本発明の他の局面に従う符号化レート変換方法は、ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られるピクチャの符号化データの符号化レートを変換するための方法である。量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定される。量子化マトリクスは、符号化データから得られるピクチャ単位で設定される。符号化レート変換方法は、複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化ステップと、第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、複数の係数のうち低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換ステップと、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、第2量子化マトリクスが符号化データの符号化レートを小さくするためのマトリクスである場合、複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出ステップと、複数の係数データの少なくとも一部を、第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、逆量子化ステップにより逆量子化される前の符号化レートより小さい符号化レートの符号化データを生成する再量子化ステップとを備える。
すなわち、本発明に従う符号化レート変換装置および符号化レート変換方法によれば、符号化データを構成する複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する。第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する低周波係数の値を変換するための第1変換値と、高周波係数の値を変換するための値であって、かつ、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを第2量子化マトリクスに変換する。
第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出する。複数の係数データの少なくとも一部を、第2量子化マトリクスと、少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化する。
ここで、低周波係数の値を変換するための第1変換値と、高周波係数の値を変換するための、第1変換値より大きい第2変換値とを使用して、第1量子化マトリクスを変換した第2量子化マトリクスは、低周波係数の値が、高周波係数の値より小さいマトリクスであるであるとする。
すなわち、量子化に使用される第2量子化マトリクスは、低周波係数の値が、高周波係数の値より小さいマトリクスであるとする。なお、量子化マトリクスはピクチャ単位で設定される。また、量子化に使用される量子化マトリクスの係数の値は小さいほど、量子化における量子化誤差は小さくなる。
また、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値が量子化に使用される。なお、量子化スケールは、複数のマクロブロックの各々に対し値が設定される。なお、量子化スケールの値は、量子化に使用される前の量子化マトリクスの全ての係数に乗算される。そのため、量子化スケールの値は小さいほど、量子化における量子化誤差は小さくなる。
ここで、量子化に使用される変換後スケール値が、少なくとも1つのマクロブロックに対応する量子化スケールの値を1倍した値であるとする。この場合、量子化に使用される第2量子化マトリクスの全ての係数(低周波成分および高周波成分の係数)は変化しないことになる。
そのため、低周波係数の値が高周波係数の値より小さい第2量子化マトリクスを使用して量子化が行なわれることにより、低周波成分の量子化誤差の発生を抑制することができるとともに、少なくとも1つのマクロブロックにおいて高周波成分の量子化誤差の発生を抑制することができる。すなわち、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本発明は、符号化レート変換方法で行なわれる処理を、コンピュータに実行させるプログラムとしても実現することもできる。また、本発明は、当該プログラムを格納するコンピュータ読み取り可能な記録媒体、集積回路としても実現することができる。
本発明によれば、符号化データを構成する複数のマクロブロックを、ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する。第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する低周波係数の値が、高周波係数の値より小さくなるように、第1量子化マトリクスを第2量子化マトリクスに変換する。第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出する。複数の係数データの少なくとも一部を、第2量子化マトリクスと、少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化する。
すなわち、量子化に使用される第2量子化マトリクスは、所定周波数より低い周波数に対応する低周波係数の値が、高周波係数の値より小さいマトリクスである。また、量子化に使用される量子化マトリクスの係数の値は小さいほど、量子化における量子化誤差は小さくなる。
また、第2量子化マトリクスが符号化データの符号化レートを大きくするためのマトリクスである場合、少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値が量子化に使用される。なお、量子化スケールの値は、量子化マトリクスの全ての係数に乗算される。そのため、量子化スケールの値は小さいほど、量子化における量子化誤差は小さくなる。
ここで、量子化に使用される変換後スケール値が、少なくとも1つのマクロブロックに対応する量子化スケールの値を1倍した値であるとする。この場合、量子化に使用される第2量子化マトリクスの全ての係数(低周波成分および高周波成分の係数)は変化しないことになる。
そのため、低周波係数の値が高周波係数の値より小さい第2量子化マトリクスを使用して量子化が行なわれることにより、低周波成分の量子化誤差の発生を抑制することができるとともに、少なくとも1つのマクロブロックにおいて高周波成分の量子化誤差の発生を抑制することができる。すなわち、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
図1は、MPEG2の量子化スケールと量子化パラメータの対応を示す図である。 図2Aは、MPEG2のDCT係数の符号化順(スキャン順)を示す図である。 図2Bは、MPEG2のDCT係数の符号化順(スキャン順)を示す図である。 図3は、MPEG2の復号化装置の一例の構成を示すブロック図である。 図4は、MPEG2の符号化装置の一例の構成を示すブロック図である。 図5は、従来の量子化スケール再変換型の符号化レート変換装置の一例の構成を示すブロック図である。 図6は、従来の量子化スケール再変換型の符号化レート変換装置でのMBの変換の一例を示す図である。 図7は、従来の量子化マトリクス再変換型の符号化レート変換装置の一例の構成を示すブロック図である。 図8は、従来の量子化マトリクス再変換型の符号化レート変換装置でのMBの変換の一例を示す図である。 図9は、従来の量子化スケール再変換型と量子化マトリクス再変換型を統合した符号化レート変換装置の一例の構成を示すブロック図である。 図10は、従来の量子化スケール再変換型と量子化マトリクス再変換型を統合した符号化レート変換装置でのMBの変換の一例を示す図である。 図11は、本発明の実施の形態1における符号化レート変換装置の構成を示すブロック図である。 図12は、符号化レート変換処理のフローチャートである。 図13は、ピクチャ処理のフローチャートである。 図14は、MB処理のフローチャートである。 図15は、量子化スケール変換処理のフローチャートである。 図16Aは、量子化スケールの値の変換例を説明するための図である。 図16Bは、量子化スケールの値の変換例を説明するための図である。 図17は、本発明の実施の形態1の符号化レート変換装置での通常MBの変換の一例を示す図である。 図18は、本発明の実施の形態1の符号化レート変換装置での重要MBの変換の一例を示す図である。 図19Aは、本発明の実施の形態1の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図19Bは、本発明の実施の形態1の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図20Aは、変換前の量子化マトリクスを示す図である。 図20Bは、実施の形態1の処理により変換された後の量子化マトリクスを示す図である。 図20Cは、量子化マトリクスに対して使用される数値および処理を示す図である。 図21は、実施の形態2における符号化レート変換装置1000Aの構成を示すブロック図である。 図22は、本発明の実施の形態2の符号化レート変換装置での量子化スケール変換の一例を示す図である。 図23は、本発明の実施の形態2の符号化レート変換装置での重要MBの変換の一例を示す図である。 図24Aは、本発明の実施の形態2の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図24Bは、本発明の実施の形態2の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図25Aは、変換前の量子化マトリクスを示す図である。 図25Bは、実施の形態2の処理により変換された後の量子化マトリクスを示す図である。 図25Cは、量子化マトリクスに対して使用される数値および処理を示す図である。 図26は、実施の形態3における符号化レート変換装置1000Bの構成を示すブロック図である。 図27は、量子化マトリクスの変換方法を判定するための判定テーブルを示す図である。 図28Aは、実施の形態4の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図28Bは、実施の形態4の符号化レート変換装置での量子化マトリクス変換の一例を示す図である。 図29Aは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Bは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Cは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図29Dは、実施の形態4の符号化レート変換装置での量子化DCT係数の変換の一例を示す図である。 図30は、本発明の実施の形態5のストリーム受信記録装置の一例の構成を示すブロック図である。 図31は、本発明の実施の形態6のネットワーク配信システムの一例の構成を示すブロック図である。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
(実施の形態1)
以下、本発明の実施の形態について、図面を参照しながら説明する。
図11は、本発明の実施の形態1における符号化レート変換装置1000の構成を示すブロック図である。
符号化レート変換装置1000は、可変長復号部101と、可変長符号部102と、レート制御部103と、量子化スケール増加変換部104と、MBヘッダ格納部105と、量子化マトリクス低域削減変換部108と、ピクチャヘッダ格納部109と、量子化マトリクス変換制御部110とを備える。
可変長復号部101には、複数のピクチャを復元するためのストリームが入力される。以下においては、可変長復号部101に入力されるストリームを入力ストリームという。入力ストリームは、ピクチャの符号化により得られる符号化データである。可変長復号部101は、入力ストリームとしてのMPEG2ストリームを復号し、復号により得られた量子化マトリクスを含むシーケンスヘッダやピクチャヘッダをピクチャヘッダ格納部109に通知する。また、可変長復号部101は、シーケンスヘッダの通知と同時に、量子化マトリクスを量子化マトリクス低域削減変換部108に通知する。
また、可変長復号部101は、MBヘッダ部のパラメータをMBヘッダ格納部105に通知する。また、可変長復号部101は、パラメータの通知と同時に、MBヘッダ部が示す量子化スケールコード(量子化パラメータ)を量子化スケールに変換し、得られた量子化スケールを量子化スケール増加変換部104および量子化マトリクス変換制御部110に通知する。また、可変長復号部101は、MBブロック部の量子化DCT係数などのパラメータを逆量子化部106に通知する。
逆量子化部106は、通知されたパラメータが示す、入力ストリームの量子化マトリクスおよび量子化スケールに基づき、MBのブロック部の量子化DCT係数の逆量子化を行って、DCT係数を算出し、算出したDCT係数を量子化部107に通知する。
レート制御部103は、先頭のピクチャを処理する際において、ピクチャ構成(I,P,Bピクチャ)や符号化レートなどの情報から当該ピクチャの目標符号量を決定し、決定した目標符号量を量子化マトリクス変換制御部110に通知する。また、レート制御部103は、マクロブロックごとに、目標量子化スケールを算出し、算出した目標量子化スケールを量子化マトリクス変換制御部110に通知する。
量子化マトリクス変換制御部110は、先頭のピクチャを処理する際において、当該ピクチャの目標符号量などに基づいて量子化マトリクスの変換制御情報を算出する。そして、量子化マトリクス変換制御部110は、算出した変換制御情報を、量子化マトリクス低域削減変換部108に通知する。また、量子化マトリクス変換制御部110は、マクロブロックごとに、量子化マトリクスの制御情報に基づいて、目標量子化スケールを補正して、補正した目標量子化スケールを量子化スケール増加変換部104に通知する。
量子化マトリクス低域削減変換部108は、量子化マトリクスの変換制御情報に基づいて、入力ストリームの量子化マトリクスの低周波成分の係数を削減方向に変換する。そして、量子化マトリクス低域削減変換部108は、変換後の量子化マトリクスを量子化部107およびピクチャヘッダ格納部109に同時に通知する。
量子化スケール増加変換部104は、目標量子化スケールを基準として、当該MBの重要性を評価して、入力ストリームの量子化スケールを増加方向に変換することにより、出力ストリームの量子化スケールを算出する。そして、量子化スケール増加変換部104は、算出した量子化スケールを、量子化部107およびMBヘッダ格納部105に同時に通知する。
ピクチャヘッダ格納部109は、可変長復号部101から通知されたシーケンスヘッダやピクチャヘッダを、内部のバッファ(図示せず)に格納し、量子化マトリクス低域削減変換部108の要求により内部のバッファ内のデータを書き換える。そして、ピクチャヘッダ格納部109は、バッファに格納されているシーケンスヘッダやピクチャヘッダを可変長符号部102に通知する。
MBヘッダ格納部105は、可変長復号部101から通知されたMBヘッダを、内部のバッファ(図示せず)に格納し、量子化スケール増加変換部104の要求により、量子化スケールを量子化スケールコードに変換し、バッファ内のデータを新しい値に書き換える。そして、MBヘッダ格納部105は、内部のバッファに格納されているMBヘッダを可変長符号部102に通知する。
量子化部107は、逆量子化部106が行なう逆量子化により算出されたDCT係数を、量子化マトリクス低域削減変換部108によって算出された量子化マトリクスと、量子化スケール増加変換部104によって算出された量子化スケールとに従って、再量子化を行なう。そして、量子化部107は、再量子化により得られた量子化DCT係数を、量子化部107の内部の係数バッファ(図示せず)に格納する。さらに、量子化部107は、得られた量子化DCT係数を可変長符号部102に通知する。
可変長符号部102は、ピクチャヘッダ格納部109から通知された量子化マトリクスを含むシーケンスヘッダやピクチャヘッダを符号化する。また、可変長符号部102は、MBヘッダ格納部105から通知されたMBヘッダ部が示す情報を符号化する。また、可変長符号部102は、量子化部107から得たMBのブロック部の量子化DCT係数を符号化する。そして、可変長符号部102は、上記の符号化により得られたデータからMPEG2ストリーム(以下、出力ストリームという)を構成する。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう処理(以下、符号化レート変換処理という)について説明する。なお、本発明の符号化レート変換処理は、入力ストリームとしての符号化データの符号化レートを小さくするための処理である。すなわち、符号化レート変換処理が行なわれることにより、処理後の符号化データの符号化レートは、符号化レート変換処理が行なわれる前の符号化データの符号化レートより小さくなる。
図12は、符号化レート変換処理のフローチャートである。
まず、必要に応じて、レート制御部103の設定が行なわれ、符号化レート変換処理においてレート制御部103が目標ビットを算出可能な状態にされる(S301)。次に、可変長復号部101は、入力ストリーム中に量子化マトリクスが符号化されていなかった場合に備え、ストリームのシーケンスヘッダの復号前に、MPEG2で規定されたデフォルトの量子化マトリクスを、量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S302)。
次に、可変長復号部101は、入力ストリームを復号することにより得られたシーケンスヘッダを、ピクチャヘッダ格納部109の内部のバッファ(図示せず)に格納する(S303)。
可変長復号部101は、復号により得られたシーケンスヘッダの中に量子化マトリクスが含まれている場合(S304でYES)、その量子化マトリクスを量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S305)。この場合、ステップS302で設定されていたデフォルトの量子化マトリクスがシーケンスヘッダの中の量子化マトリクスにより上書きされる。
また、シーケンスヘッダの中に量子化マトリクスが含まれない場合(S304でNO)、ステップS302で設定されていたデフォルトの量子化マトリクスがそのまま使用されることになる。
次に、可変長符号部102が、ピクチャヘッダ格納部109に格納されたシーケンスヘッダの情報を符号化する(S306)。次に、ピクチャ処理が行なわれる(S307)。ピクチャ処理は、ピクチャ単位の処理である。ピクチャ処理は、ストリームにおける次のシーケンスヘッダが到達する(S308でYES)まで繰り返し行なわれる(S308でNO)。
図13は、ピクチャ処理のフローチャートである。
まず、必要に応じて、レート制御部103の設定が行なわれ、ピクチャ処理において処理対象のピクチャにおける目標ビットが算出される(S401)。
次に、可変長復号部101は、入力ストリームを復号することにより得られたピクチャヘッダを、ピクチャヘッダ格納部109の内部のバッファ(図示せず)に格納する(S402)。
可変長復号部101は、復号により得られたピクチャヘッダの中に量子化マトリクスが含まれている場合(S403でYES)、その量子化マトリクスを量子化マトリクス低域削減変換部108が使用する量子化マトリクスに設定する(S404)。復号により得られたピクチャヘッダに量子化マトリクスが含まれていない場合(S403でNO)、符号化レート変換処理により設定された量子化マトリクスがそのまま量子化マトリクス低域削減変換部108により利用される。
次に、量子化マトリクス変換制御部110は、レート制御部103から得られた目標符号量などに基づき、処理対象のピクチャに量子化マトリクス変換を適用するか否かを判定する(S405)。
量子化マトリクス変換を適用する場合(S406でYES)、量子化マトリクス変換制御部110は、レート制御部103から得られた目標符号量などに基づき、量子化マトリクスの変換制御情報を求める(S407)。詳細は後述するが、量子化マトリクス低域削減変換部108は、量子化マトリクスの変換制御情報に基づいて、ステップS302,S305,S404のいずれかの処理で設定された量子化マトリクスの低周波成分の係数を減少方向または増加方向に変換する(S408)。
次に、量子化マトリクス低域削減変換部108は、変換後の量子化マトリクスをピクチャヘッダ格納部109に格納する。また、可変長符号部102は、ピクチャヘッダ格納部109に格納されたピクチャヘッダの符号化を行う(S409)。
次に、MB処理が行なわれる(S410)。MB処理は、マクロブロック単位の処理である。処理対象のピクチャに対応するマクロブロックの数はピクチャヘッダが示す情報により算出できる。MB処理は、処理対象のピクチャに対応する全てのマクロブロックに対して行なわれる。全てのマクロブロックに対してMB処理が行なわれた場合(S411でYES)、このピクチャ処理は終了し、図12の符号化レート変換処理に戻り、ステップS308の処理が再度行なわれる。
図14は、MB処理のフローチャートである。
まず、レート制御部103は、ステップS401で算出された処理対象のピクチャにおける目標ビットや処理対象のピクチャの変換実績値から、レート制御の基準とする仮想バッファの状態を更新し、処理対象のマクロブロックの目標量子化スケールを算出する(S501)。
次に、量子化マトリクス変換制御部110は、ステップS407で求めた量子化マトリクス変換制御情報に基づいて、目標量子化スケールを補正する(S502)。また、量子化マトリクス変換制御部110は、補正後の目標量子化スケールの値を、量子化スケール増加変換部104に通知する。
次に、可変長復号部101は、入力ストリームを復号することにより得られた、処理対象のMBのMBヘッダ部が示す情報を、MBヘッダ格納部105の内部のバッファ(図示せず)に格納する(S503)。また、可変長復号部101は、上記復号により得られた処理対象のMBのMBヘッダ部が示す情報を、量子化マトリクス変換制御部110へ通知する。処理対象のMBのMBヘッダ部が示す情報は、対応するMBの量子化スケールコードを示す。
次に、量子化スケール変換処理が行なわれる(S504)。
図15は、量子化スケール変換処理のフローチャートである。
まず、量子化マトリクス変換制御部110が、重要MBがあるか否かを判定する(S601)。重要MBは、一例として、復号されることにより所定の精細度より精細度の高い画像を示すマクロブロックであるとする。すなわち、重要MBは、当該重要MBが復号されることにより得られる画像(以下、復号ブロック画像という)が、たとえば、高精細な画像を示すMBである。すなわち、重要MBは、当該重要MBが復号されることにより得られる復号ブロック画像が、所定周波数よりも高い周波数成分の画像を示すMBである。
この場合、重要MBは、一例として、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBであるとする。以下においては、重要MB以外のMBを、通常MBという。
量子化マトリクス変換制御部110は、処理対象のMBが重要MBである場合、重要MBがあると判定する(S601でYES)。また、量子化マトリクス変換制御部110は、処理対象のMBが重要MBである場合、処理対象のMBが重要MBである旨を、量子化スケール増加変換部104に通知する。一方、量子化マトリクス変換制御部110は、処理対象のMBが通常MBである場合、重要MBがないと判定する(S601でNO)。
詳細は後述するが、重要MBがあると判定されると、量子化スケール増加変換部104は、通知された目標量子化スケールの値に、ある値(たとえば、1以下の値)を乗算することにより、量子化スケールの値を算出する(S602)。そして、この量子化スケール変換処理は終了し、図14のMB処理に戻り、ステップS505の処理が行なわれる。
ステップS505では、量子化スケール増加変換部104が、重要MBがあると判定された場合、算出した量子化スケールの値を量子化スケールコードに変換する。そして、量子化スケール増加変換部104は、MBヘッダ格納部105に格納した処理対象のMBのMBヘッダ部が示す量子化スケールコードを、変換した量子化スケールコードに置き換える。
また、ステップS505では、量子化スケール増加変換部104が、重要MBがないと判定された場合、通知された目標量子化スケールの値を量子化スケールコードに変換する。そして、量子化スケール増加変換部104は、MBヘッダ格納部105に格納した処理対象のMBのMBヘッダ部が示す量子化スケールコードを、変換した量子化スケールコードに置き換える。
以上で、MBヘッダ部が示す情報の更新処理は一旦終了し、量子化DCT係数の変換の処理に移行する。
まずは、符号化されている複数のMBのうち、まだ復号されていないMBがあるか否かが判定される(S506)。すなわち、処理対象のMBに対応するピクチャに対応する全てのMBが復号されてないか否かが判定される。復号されていないMBがあれば(S506でYES)、可変長復号部101は、符号化されている処理対象のMBが示す複数の量子化DCT係数を所定の順序でステップS507の処理毎に1つずつ復号する(S507)。
MPEG2ではIntraMBのDC係数は、量子化スケールとは独立に量子化される。そのため、本実施の形態ではDC係数は変換の対象外とする。処理対象の量子化DCT係数がIntraMBのDC係数でない場合、あるいはブロック終端EOB(End Of Block)に到達していなければ(S508でNO)、逆量子化部106は、復号された処理対象の量子化DCT係数を、一旦、入力ストリームが示す処理対象のMBに対応する量子化マトリクスおよび量子化スケールを使用して逆量子化する。
そして、量子化部107は、逆量子化により算出されたDCT係数を、S408で算出した量子化マトリクスと、ステップS602で算出された量子化スケールの値または目標量子化スケールの値とを使用して、再度、量子化する。これにより、量子化部107は、量子化DCT係数を得る。これにより変換は完了する(S509)。
量子化部107は、得られた量子化DCT係数を、量子化部107の内部の係数バッファ(図示せず)に格納する(S510)。上記処理をブロック終端EOBに到達するまで繰り返せば、1つの処理対象のMBの復号化が完了する(S511)。
さらに、すべての符号化されたMBに対して、復号化が完了すれば(S506でNO)、MB情報の復号化はすべて完了になる。
最後に、可変長符号部102が、MBヘッダ格納部105に格納される全てのマクロブロックヘッダを符号化する(S512)。また、可変長符号部102が、量子化部107の内部の係数バッファ(図示せず)に格納される全ての量子化DCT係数を符号化する(S513)。以上の処理により、MB処理は終了する。そして、図13のピクチャ処理に戻り、再度、ステップS411の処理が行なわれる。
以上説明した、図12の符号化レート変換処理、図13のピクチャ処理、図14のMB処理、図15の量子化スケール変換処理が行なわれることにより、符号化データの復号処理、逆量子化処理、量子化処理、符号化処理が行なわれる。これらの処理により、入力ストリームから出力ストリーム(符号化データ)が生成される。生成された、出力ストリームとしての符号化データの符号化レートは、入力ストリームとしての符号化データの符号化レートより小さい。
次に、本発明の実施の形態1の符号化レート変換装置1000におけるレート制御の具体的な動作を説明する。入力ストリームに含まれる先頭のピクチャを処理する際において、まず当該ピクチャの目標符号量T(i)が配分される。目標符号量T(i)については、前述したTM5のステップ1に基づけば算出可能であるので、詳細な説明は省略する。さらにマクロブロックごとには、目標量子化スケールを算出する必要がある。目標量子化スケールもTM5のステップ2に基づけば算出可能であるので、詳細な説明は省略する。
なお、ここではレート制御方式としてTM5を挙げているが、その他のレート制御方式であってもよい。本発明は特定のレート制御方式に依存するものではない。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう図13のステップS408の量子化マトリクス変換の具体的な処理を説明する。
ここで、i番目のピクチャと、当該i番目のピクチャの一つ前のピクチャ(以下、評価対象ピクチャという)とが存在するとする。この場合、評価対象ピクチャは、i−1番目のピクチャとなる。ここで、評価対象ピクチャは、i番目のピクチャよりも前に表示対象となるピクチャであるとする。また、i番目のピクチャおよび評価対象ピクチャは、同一の種類のピクチャであるとする。
また、低周波成分の量子化マトリクス変換率がα(i−1)倍(α(i−1)<1)、量子化スケール変換率の平均値がβ(i−1)倍であったとする。ここで、量子化マトリクス変換率は、量子化マトリクスの係数を変換するための値である。また、量子化スケール変換率は、量子化スケールの値を変換するための値である。この場合、量子化DCT係数変換率γ(i−1)(低周波成分の平均)は、γ(i−1)=α(i−1)×β(i−1)の式により算出することができる。
上記式において、DCT係数の低周波成分の量子化誤差が最小になるのはγ=1のときであり、さらに、γが1より大きくても、ある程度小さい値(ここではγmaxとする)であれば、低周波成分の画像の画質劣化が許容範囲と考えられる。量子化誤差が許容範囲を超えることが想定される場合、許容範囲内に収まるような制御が必要である。また、γが1より小さいと、低周波成分の画像の画質劣化は発生しないが、符号量が増加するため、γが1以上になるような制御が必要になる。
i番目のピクチャに最も近い位置の評価対象ピクチャ(i−1番目のピクチャ)が、i番目のピクチャと同一の傾向の量子化スケールを持つ(β(i)=β(i−1))と仮定する。この場合、i番目のピクチャの量子化マトリクス変換率α(i)は、以下の式により算出することができる。
α(i)=
1 ×α(i−1)/γ(i−1) (γ(i−1)<1の場合)
α(i−1) (1≦γ(i−1)≦γmaxの場合)
γmax×α(i−1)/γ(i−1) (γmax<γ(i−1)の場合)
次に、その量子化マトリクス変換率α(i)に従って、入力ストリームの量子化マトリクスを以下の式(以下、マトリクス変換式Aという)で変換して、出力ストリームの量子化マトリクスWo(u,v)を算出する。
Wo(u,v)=α(i)×Wi(u,v) (u+v≦εの場合(低周波成分))
=Wi(u,v) (u+v>εの場合(高周波成分))
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する周波数の閾値(基準周波数)を示す定数である。
なお、ここでは、量子化スケールの実績値として、同一種類のピクチャで最も近い位置のピクチャ(評価対象ピクチャ)を選択しているが、これに限定されることはない。例えば、i番目のピクチャの種類によらずに評価対象ピクチャを選択してもよい。
また、i番目のピクチャに最も近い位置でないピクチャを選択してもよい。また、単一のピクチャではなく、i番目のピクチャの前の複数のピクチャを選択してもよい。また、i番目のピクチャの前のピクチャの量子化スケールではなく、i番目のピクチャの量子化スケールを先読みして算出した量子化スケールを利用してもよいし、その他の方法で、量子化スケールを予測してもよい。
なお、ここでは、量子化マトリクス変換率の算出において、量子化スケール変換率の平均値を使用している。しかしながら、これに限定されることなく、使用される値は、量子化スケール変換率の最小値など、量子化スケールに関するその他の実績値であってもよいし、一定値などであってもよい。また、量子化マトリクス変換率の算出方法は、量子化スケールとは無関係の算出方法であってもよい。
次に、本発明の実施の形態1の符号化レート変換装置1000が行なう、量子化スケール変換(図15の量子化スケール変換処理)の具体的な処理を説明する。
レート制御で得られた目標量子化スケールは、TM5のステップ2に基づくものであり、量子化マトリクスと無関係に決定する。そのため、本装置のように、量子化マトリクスを変換する符号化レート変換装置1000においては、使用される量子化スケールの値が、最適な量子化スケールの値でない可能性がある。そこで、上記の量子化マトリクス変換率などを用いて、目標量子化スケールの値を補正してもよい。
例えば、低周波成分の量子化マトリクス変換率αが1より小さい場合、量子化マトリクスを変換しない場合と比較して、符号化データの符号量は増大する方向である。そのため、レート制御で求めた量子化スケールの値をそのまま使用すると、符号化データの符号量が十分に低減できない可能性もある。この場合、符号化データの符号量を低減できるようにするために、目標量子化スケールの値がやや大きめになるように補正してもよい。
例えば、レート制御で得られた目標量子化スケールmq(j)を補正して、
mq'(j)=mq(j)×(1/α)
として算出してもよい。
なお、ここでは、1/αを乗算することにより目標量子化スケールの補正を行っているが、1/αでなくても1より大きい値であれば、符号化データの符号量を低減方向に補正することができる。また、その他の式で目標量子化スケールの補正を行ってもよいし、補正は行わなくてもよい。
次に、実際に当該マクロブロックの量子化スケールを算出する。
出力ストリームの量子化スケールqo(j)は、これは従来技術としての特許文献2の特開2001−204028号公報に開示された技術で導出可能であり、詳細な説明は省略する。
qo(j)=
qi(j) (mq(j)<1.5×qi(j)の場合)
2×qi(j) (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
mq(j) (2 ×qi(j)<mq(j)の場合)
ここで、qi(j)は入力ストリームの量子化スケールである。また、mq(j)は目標量子化スケールである。
なお、ここでは、量子化スケールqo(j)を上式で導出しているが、その他の式で導出してもよい。
前述の通り、量子化DCT係数変換率(低周波成分)γ=量子化マトリクス変換率(低周波成分)α×量子化スケール変換率β(β=qo(j)/qi(j))が1未満の場合、DCT係数の低周波成分の量子化誤差が増えることはないが、符号化データの符号量の増加を伴う。
符号化レート変換は、符号化データの符号化レートの低減が目的であるため、一部のMBであっても符号量の増加を伴う変換は変換効率が悪い。そのため、符号量の増加を伴わない範囲に限定して、出力ストリームの量子化スケールを制御する方法をとってもよい。
その場合の量子化スケールqo'(j)は以下の式で算出できる。
qo'(j)=
1/α×qi(j) (mq(j)<1.5×qi(j)の場合)
max{1/α,2}×qi(j)} (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
max{1/α×qi(j),mq(j)} (2 ×qi(j)<mq(j)の場合)
上記式により算出される量子化スケールqo'(j)を用いれば、DCT係数の低周波成分の量子化誤差を抑えた変換を行うことが可能である。
なお、ここでは、1/αを乗算することにより、符号化データの符号量の増加を抑えているが、必ずしも1/αと等しくなくても、1/αより大きい値であれば、符号化データの符号量の増加を伴わずに変換することができる。
しかし、前述した重要MBでは、DCT係数の低周波成分だけでなく、高周波成分の量子化誤差も抑えたほうが全体的な画質劣化を抑制できることが分かっている。そのため、重要MBにおいては、全周波数領域の量子化誤差を抑制可能な量子化スケールを設定できることが望ましい。
前述したように、重要MBは、一例として、復号されることにより所定の精細度より精細度の高い画像を示すマクロブロックである。この場合、重要MBは、一例として、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBであるとする。
また、重要MBに対応する量子化スケールqo”(j)は以下の式で算出できる。
qo”(j)=qi(j)
重要MBで上記の量子化スケールqo”(j)を用いれば、すべての周波数領域の量子化誤差を抑えた変換を行うことができる。
それ以外のMB(通常MB)であれば、量子化スケールに上記qo'(j)を用いればよい。
なお、重要MBは、前述した演算(MBブロック部のデータ量×量子化スケールの値)以外の演算を使用して決定してもよい。
次に、量子化スケールの値の変換例を説明する。
図16Aおよび図16Bは、量子化スケールの値の変換例を説明するための図である。図16Aは、量子化スケールの値の一例を示す図である。図16Aに示される複数の数字は、ピクチャの符号化データを構成する複数のMBの各々に対して設定された量子化スケールの値を示す。
図16Aに示されるように、符号化データを復号することにより得られるピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は“4”であるとする。また、符号化データから得られるピクチャの中央部および下部に対応する複数のMBの各々に対して設定された量子化スケールの値は“8”であるとする。
ここで、目標符号化レートに基づきレート制御時における量子化スケールの平均値が“8”であったとする。この場合、量子化スケールの平均値に基づいて、量子化スケールの値を変換するならば、ピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は、“4”から“8”に変換され、それ以外のMBに対して設定される量子化スケールの値は、“8”のまま保持されることになる。
しかしながら、量子化マトリクス変換の符号化効率を考慮して策定された、前述の量子化スケールqo'(j)の式を適用すると、量子化マトリクス変換率α=1/2の場合、符号化データの符号化レートを維持または低減させるためには、量子化スケール変換率β≧2とする必要がある。そのため、図16Bに示されるように、ピクチャの中央部および下部に対応する複数のMBの各々に対して設定される量子化スケールの値は“8”から“16”に変換される。
ただし、ピクチャの中央部および下部に対応する複数のMBのうち、前述した重要MBに対して設定される量子化スケール変換率βは“1”となり、量子化スケールの値は“8”のまま保持される。
なお、図16Bに示されるように、ピクチャの上部に対応する複数のMBの各々に対して設定される量子化スケールの値は“4”から“8”に変換される。
本発明の実施の形態1の符号化レート変換装置1000の量子化部107が行なう通常MBの量子化の具体的な処理を図17を用いて説明する。通常MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの低周波成分の係数(ε=2の場合)を1/2倍にすることになったとする。すなわち、低周波成分の量子化マトリクス変換率αは“1/2”であるとする。また、高周波成分の量子化マトリクス変換率αは“1”であるとする。また、レート制御や量子化スケール変換の結果、量子化スケールの値を“4”から“8”に、すなわち2倍に増加させることになったとする。すなわち、量子化スケール変換率βは“2”であるとする。この場合の量子化スケールの値“8”は前述した目標量子化スケールの値であるとする。
ここで、前述したマトリクス変換式Aにおいて、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
図17に示される2つの量子化マトリクスのうち、左側の量子化マトリクスは、変換が行なわれる前の量子化マトリクス(以下、変換前量子化マトリクスという)である。また、図17に示される2つの量子化マトリクスのうち、右側の量子化マトリクスは、変換後の量子化マトリクス(以下、変換済量子化マトリクスという)である。
図17の変換済量子化マトリクスは、図13のステップS408の処理において、量子化マトリクス低域削減変換部108が、変換前量子化マトリクスを、低周波成分の量子化マトリクス変換率α“1/2”を使用して変換したマトリクスである。
図17の変換済量子化マトリクスは、高周波成分の係数の値がそのままで、低周波成分の係数の値は小さくなっている(1/2倍)。そのため、図17の変換済量子化マトリクスを使用して量子化が行なわれると、符号化データの符号量(符号化レート)が大きくなる。すなわち、図17の変換済量子化マトリクスは、符号化データの符号量(符号化レート)を大きくするためのマトリクスである。
また、図17に示される量子化DCT係数を示す2つのマトリクスのうち、左側のマトリクスは、量子化が行なわれる前のマトリクス(以下、再量子化前マトリクスという)である。すなわち、図17に示される再量子化前マトリクスは、逆量子化部106により逆量子化の処理が行なわれることにより得られるマトリクスである。また、図17に示される量子化DCT係数を示す2つのマトリクスのうち、右側のマトリクスは、再量子化が行なわれることにより得られるマトリクス(以下、再量子化済マトリクスという)である。
図17に示される再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図17の変換済量子化マトリクスと、算出された量子化スケールの値“8”とを使用して、再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式からは、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は2(1/α)倍×1/2(1/β)倍=1倍に変換する必要がある。また、高周波成分の量子化DCT係数は1(1/α)倍×1/2(1/β)倍=1/2倍に変換する必要がある。
ここで、図17の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図17の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は変換不要である。また、図17の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、0.5、2、0.5、−0.5、0.5を整数化した0、2、0、0、0に変換される。
これにより、入力時50bitだった符号量を、35bitに減少させることができる。そのため、低周波成分に量子化誤差を発生させることなく、符号化データの符号化レートを削減することができる。
次に、本発明の実施の形態1の符号化レート変換装置1000の量子化部107が行なう重要MBの量子化の具体的な処理を図18を用いて説明する。重要MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
図17の説明において、通常MBでは、量子化スケールの値を2倍に変換したために、高周波成分に量子化誤差が発生した。しかしながら、重要MBでは、高周波成分にも量子化誤差を発生させないため、量子化スケールを1倍に設定する。すなわち、量子化スケール変換率βを“1”とする。この場合、算出される量子化スケールの値は図1のステップS602の処理により算出される値である。この処理により、量子化スケールの値“4”が算出される。
図18は、図17と同様に、変換前量子化マトリクス、変換済量子化マトリクス、再量子化前マトリクスおよび再量子化済マトリクスを示すとする。図18の変換済量子化マトリクスは、図17の変換済量子化マトリクスと同様なので詳細な説明は繰り返さない。
図18の再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図18の変換済量子化マトリクスと、算出された量子化スケールの値“4”とを使用して、図18の再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は2(1/α)×1(1/β)=2倍に変換する必要がある。また、高周波成分の量子化DCT係数は1(1/α)×1(1/β)=1倍に変換する必要がある。
ここで、図18の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図18の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は、入力時の2倍の、14、−6、4に変換される。また、図18の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、入力時の係数から変換不要となる。
低周波成分の量子化DCT係数は、変換倍率が整数である限りは、整数になるので、新たに量子化誤差は発生しない。高周波成分の量子化DCT係数は、変換不要であるため、量子化誤差は発生しない。
これにより、入力時50bitだった符号量は59bitに増加するものの、低周波成分から高周波成分までのすべての周波数にわたって、量子化誤差を発生させずに変換することができる。
重要MBがピクチャに対応する全てのMBにおいて、多くを占めるのであれば、上記の符号量の増加は目標レート達成に向けて大きな障害となる。しかしながら、重要MBがピクチャに対応する全てのMBにおいて、十分少ないのであれば、上記の符号量の増加を他の通常MBの符号量削減で取り返すことが可能である。
したがって、本発明の実施の形態1の符号化レート変換装置1000において、全体的に量子化マトリクスの低周波成分の係数を入力値より小さくすることで、低周波成分の量子化誤差の発生を抑えるとともに、重要MBでの高周波成分も含む量子化誤差の発生を抑えることができる。
すなわち、本実施の形態の処理によれば、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、重要MBとしての特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本実施の形態においては、図19Aに示されるように、マクロブロックの種類がInterMBであり、さらに量子化マトリクスの全係数が一定の場合を取り上げた。しかしながら、これに限定されることなく、図19Bに示されるように、本実施の形態の処理は、もちろん、マクロブロックの種類がIntraMBであってもよいし、量子化マトリクスの係数が一定値でなくばらばらの場合に行なわれてもよい。
また、InterMBおよびIntraMBのどちらかでのみ、量子化マトリクスを利用したレート変換を適用してもよいし、InterMBおよびIntraMBの両方において量子化マトリクスの変換倍率などを変化させてもよい。
なお、本実施の形態においては、図19Aに示されるように、量子化マトリクスの係数に変換誤差が発生しない場合を取り上げたが、図19Bに示されるように、量子化マトリクスの係数に変換誤差が発生してもよい。
なお、本発明は、MPEG2を前提として記載している。しかしながら、MPEG2に限定されず、JPEG、MPEG1、MPEG4、H.264など、量子化マトリクスをピクチャ単位で設定し、量子化パラメータをマクロブロック単位で設定するコーデックであれば、本発明を適用可能である。
なお、本発明は、DCT変換を前提として記載しているが、画像データを周波数成分に分解できる直交変換であれば、その他の変換方法であってもよい。
なお、本発明のように、MPEG2のIntraMBのDC成分など、いくつかのコーデックではDC成分などが量子化スケールの適用外になるなど、特別な量子化や符号化がなされる場合がある。しかしながら、これらの特別な係数に関しては、図19Bに示されるように、本発明における量子化マトリクス変換の対象外としてよい。
図20Aは、変換前の量子化マトリクスを示す図である。図20Bは、実施の形態1の処理により変換された後の量子化マトリクスを示す図である。図20Cは、図20Bに示される量子化マトリクスに対して使用される数値および処理を示す図である。
なお、本実施の形態においては、量子化マトリクスの低周波成分の変換対象係数をu+v≦2を満たす係数としていたが、u+v≦2における“2”は2以外であってもよい。また、符号化に使用されるスキャン順(ジグザグスキャン)(0〜63)を利用してもよい。また、図20Bに示される量子化マトリクスMAのように、スキャン順(ジグザグスキャン)≦−1、すなわち変換領域なしとしてもよい。
また、図20Bに示される量子化マトリクスMBのように、スキャン順(ジグザグスキャン)≦63、すなわち全係数を変換領域としてもよい。その他、低周波成分と高周波成分を分離できる方法であれば、どのような方法であってもよい。また、これらの基準は、ピクチャごとに変化するなど、一定でなくてもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数の変換率を一定としていたが、図20Bに示される量子化マトリクスMCのように、変換対象係数が一定の変換率で変換されていなくても、
(変換後の量子化マトリクス係数)≧(変換前の量子化マトリクス係数)×量子化マトリクス変換率α
が成立していればよい。
なお、本実施の形態においては、量子化マトリクスの変換対象外の係数を変化させなかったが、図20Bに示される量子化マトリクスMDのように、変換対象外の係数を変化させたとしても、本発明の本質には影響ない。
なお、本実施の形態においては、量子化マトリクスの変換対象係数をu+v≦一定値を満たす係数、もしくはスキャン順(ジグザグスキャン)を利用した。しかしながら、これに限定されることなく、図20Bに示される量子化マトリクスMEのように、量子化マトリクスの変換対象係数を、u≦一定値かつv≦一定値の条件を満たす係数としてもよい。
また、図20Bに示される量子化マトリクスMFのように、スキャン順(オルタネートスキャン)を利用してもよいし、その他の方法で決定してもよい。なお、スキャン順を利用する場合に、どちらのスキャン順を利用するかを、プログレッシブ画像かインターレース画像かによって決定してもよいし、ストリームがどちらのスキャン順で符号化されているかに合わせて決定してもよい。
なお、本実施の形態においては、MBごとのレート制御がなされることを前提としているが、例えばすべてのMBが同じ量子化スケールになるなど、必ずしもMBごとでなくてもよい。
また、本実施の形態においては、変換倍率を1倍以上に設定しても、量子化マトリクスの低周波成分の変換倍率(1/α倍)より小さければ、符号化データの符号量はさらに増加することになる。レート変換において、変換倍率1/α倍未満を許容してもよいし、変換倍率1/α倍未満を許容せずに、1/α以上になるように変換倍率を切り上げてもよい。
なお、本実施の形態においては、量子化マトリクスの低周波係数の変換を1/α倍(α:整数)に限定して説明を行ったが、必ずしも1/α倍でなくても、1より小さな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、量子化パラメータの変換を整数倍に限定して説明を行ったが、必ずしも整数倍でなくても、1より大きな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、低周波成分において、量子化マトリクスの変換倍率×量子化パラメータの変換倍率が1以上であることを前提として記載しているが、1より小さな値であっても、高周波成分より大きければ、任意の値であってもよい。
なお、本実施の形態においては、4:2:0(輝度、色差、色差)の6ブロック構成を用いるコーデックを前提として記載しているが、4:2:2などその他のブロック構成をもちいる画像コーデックでも本発明は実施可能である。
なお、本実施の形態においては、量子化DCT係数変換時に小数点以下を切り捨てることを前提として記載しているが、小数点以下は四捨五入であっても、その他の方法で整数化していても、本発明は実施可能である。
なお、本実施の形態の符号化レート変換装置は、逆量子化部と量子化部が独立になっているが、逆量子化部と量子化部が一体になり、直接、入力ストリームの量子化DCT係数から出力ストリームの量子化DCT係数を算出してもよい。
なお、本実施の形態の符号化レート変換装置1000は、再量子化により得られた量子化DCT係数を直接出力しているが、再量子化により得られた量子化DCT係数に対して、例えば動き補償による補正を行ってから出力する場合においても、本発明は実施可能である。その他、入力ストリームから出力ストリームに変換する際、一度画像に戻すことなく、直接再量子化により変換する方法であれば、本発明は実施可能である。
(実施の形態2)
実施の形態1の符号化レート変換装置1000において、例えばMPEG2では量子化スケールの値は1〜112の範囲しか取ることができない。そのため、入力ストリームの量子化スケールの値が112に近い値の場合、量子化スケール変換率βが大きくできない。この場合、量子化マトリクスによる低周波成分の符号量増を打ち消すことができず、符号化レートを十分に削減にできない場合がある。
また、実施の形態1の符号化レート変換装置1000において、MPEG2では量子化マトリクスの係数は1〜255の範囲しか取ることができない。そのため、入力ストリームの量子化マトリクスの低周波成分の係数がすでに1にある程度近い値の場合、低周波成分の量子化マトリクス変換率αを大きくできないため、画質劣化を十分に改善できない場合がある。
本発明の実施の形態2では、上記の課題を解決するための符号化レート変換装置について説明する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図21は、実施の形態2における符号化レート変換装置1000Aの構成を示すブロック図である。
図21の符号化レート変換装置1000Aは、図11の符号化レート変換装置1000と比較して、量子化マトリクス変換制御部110の代わりに量子化マトリクス変換制御部110Aを備える点と、量子化マトリクス低域削減変換部108の代わりに量子化マトリクス高域増加変換部108Aを備える点と、量子化スケール増加変換部104の代わりに量子化スケール増加・削減変換部104Aを備える点とが異なる。それ以外は、符号化レート変換装置1000と同様なので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Aは、実施の形態1で説明した量子化マトリクス変換制御部110が行なう処理の説明において、“量子化マトリクス低域削減変換部108”および“量子化スケール増加変換部104”を、それぞれ、“量子化マトリクス高域増加変換部108A”および“量子化スケール増加・削減変換部104A”と置き換えた処理を行なうので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Aは、先頭のピクチャを処理する際において、当該ピクチャの目標符号量や量子化マトリクスの変換実績などに基づいて量子化マトリクスの変換制御情報を算出し、量子化マトリクス高域増加変換部108Aに通知する。また、量子化マトリクス変換制御部110Aは、マクロブロックごとに、量子化マトリクスの制御情報に基づいて、目標量子化スケールを補正して、補正した量子化スケールを、量子化スケール増加・削減変換部104Aに通知する。
量子化マトリクス高域増加変換部108Aは、量子化マトリクスの変換制御情報に基づいて、入力ストリームの量子化マトリクスの高周波成分の係数を増加方向に変換する。そして、量子化マトリクス高域増加変換部108Aは、変換後の量子化マトリクスを量子化部107およびピクチャヘッダ格納部109に同時に通知する。
量子化スケール増加・削減変換部104Aは、目標量子化スケールを基準として、あるいは重要MBの判定を行って、入力ストリームの量子化スケールを増加方向あるいは減少方向に変換して、出力ストリームの量子化スケールを算出する。そして、量子化スケール増加・削減変換部104Aは、変換後の量子化スケールを、量子化部107およびMBヘッダ格納部105に同時に通知する。
本発明の実施の形態2の符号化レート変換装置における処理フローを、図12〜図14の実施の形態1の符号化レート変換装置の処理フローに基づいて説明する。
S301〜S308、S401〜S407は、実施の形態1と同等のため、説明を省略する。量子化マトリクス高域増加変換部108Aは、量子化マトリクスの変換制御情報に基づいて、ステップS302,S305,S404のいずれかの処理で設定された入力ストリームの量子化マトリクスの高周波成分を増加方向に変換する(S408)。
S409〜S411、S501〜S504は、実施の形態1と同等のため、説明を省略する。量子化スケール増加・削減変換部104Aは、S502の目標量子化スケールの補正や重要MBの判定などを行い、当該マクロブロックの量子化スケールの入力値を増加方向あるいは削減方向に変換する。S505〜S513は、実施の形態1と同等のため、説明を省略する。
本発明の実施の形態2の符号化レート変換装置におけるレート制御の具体的な動作を説明する。
先頭のピクチャを処理する際において、まず当該ピクチャの目標符号量T(i)を算出する必要があるが、TM5のステップ1に基づけば算出可能であるので、詳細な説明は省略する。マクロブロックにおいて、目標量子化スケールを算出する必要があるが、TM5のステップ2に基づけば算出可能であるので、詳細な説明は省略する。
なお、ここではレート制御方式としてTM5を挙げているが、その他のレート制御方式であってもよい。本発明は特定のレート制御方式に依存するものではない。
本発明の実施の形態2の符号化レート変換装置1000Aが行なう図13のステップS408の量子化マトリクス変換の具体的な処理を説明する。
ここで、i番目のピクチャと、当該i番目のピクチャの一つ前のピクチャ(以下、評価対象ピクチャという)とが存在するとする。この場合、評価対象ピクチャは、i−1番目のピクチャとなる。ここで、評価対象ピクチャは、i番目のピクチャよりも前に表示対象となるピクチャであるとする。また、i番目のピクチャおよび評価対象ピクチャは、同一の種類のピクチャであるとする。
また、高周波成分(高域)の量子化マトリクス変換率がα(i−1)倍(α(i−1)>1)、量子化スケール変換率の平均がβ(i−1)倍であったとする。この場合、量子化DCT係数変換率γ(i−1)(高周波成分の平均)は、γ(i−1)=α(i−1)×β(i−1)として算出することができる。
ここで、DCT係数の低域の量子化誤差が最小になるのはγ=1のときであり、さらに、γが1より大きくても、ある程度小さい値(ここではγmaxとする)であれば、画質劣化が許容範囲に収まると考えられる。
許容範囲を超えることが想定される場合、許容範囲内に収まるような制御が必要である。また、γが1より小さいと、画質劣化は発生しないが、符号量が増加するため、γが1以上になるような制御が必要になる。
i番目のピクチャに最も近い位置の評価対象ピクチャが、i番目のピクチャと同一の傾向の量子化スケールを持つ(β(i)=β(i−1))と仮定する。この場合、i番目のピクチャの量子化マトリクス変換率(高域)α(i)は、以下の式により算出することができる。
α(i)=
1 ×α(i−1)/γ(i−1) (γ(i−1)<1の場合)
α(i−1) (1≦γ(i−1)≦γmaxの場合)
γmax×α(i−1)/γ(i−1) (γmax<γ(i−1)の場合)
次に、その量子化マトリクス変換率α(i)に従って、入力ストリームの量子化マトリクスを以下の式(以下、マトリクス変換式Bという)で変換して、出力ストリームの量子化マトリクスWo(u,v)を求める。
Wo(u,v)=
Wi(u,v) (u+v≦ε(低周波成分)の場合)
α(i)×Wi(u,v) (u+v>ε(高周波成分)の場合)
ここで、Wi(u,v)は、入力ストリームの量子化マトリクスの第(u,v)番目の係数(u=0〜7、v=0〜7)を示す定数である。Wo(u,v)は、出力ストリームの量子化マトリクスの第(u,v)番目の係数を示す定数である。また、Wo(u,v)は、v+1行u+1列で特定される係数を示す。たとえば、u=2,v=5の場合、Wo(u,v)は、6行3列で特定される係数を示す。εは誤差を抑制する周波数の閾値(基準周波数)を示す定数である。
なお、ここでは、量子化スケールの実績値として、同一ピクチャ種類で最も近い位置のピクチャ(評価対象ピクチャ)を選択しているが、これに限定されることはない。例えば、i番目のピクチャの種類によらずに評価対象ピクチャを選択してもよい。
また、i番目のピクチャに最も近い位置でないピクチャを選択してもよい。また、単一のピクチャではなく、i番目のピクチャの前の複数のピクチャを選択してもよい。また、i番目のピクチャの前のピクチャの量子化スケールではなく、i番目のピクチャの量子化スケールを先読みして算出した量子化スケールを利用してもよいし、その他の方法で、量子化スケールを予測してもよい。
なお、ここでは、量子化マトリクス変換率の算出において、量子化スケール変換率の平均値を使用している。しかしながら、これに限定されることなく、使用される値は、量子化スケール変換率の最小値など、量子化スケールに関するその他の実績値であってもよいし、一定値などであってもよい。また、量子化マトリクス変換率の算出方法は、量子化スケールとは無関係の算出方法であってもよい。
本発明の実施の形態2の符号化レート変換装置1000Aが行なう、量子化スケール変換(図15の量子化スケール変換処理)の具体的な動作を説明する。
レート制御で算出した目標量子化スケールは、TM5のステップ2で算出したものであり、量子化マトリクスとは無関係に決定する。そのため、本実施の形態の符号化レート変換装置1000Aにおいては、使用される量子化スケールの値が、最適な量子化スケールの値でない可能性がある。
量子化マトリクス変換率(高域)が大きい場合、符号量は減少する方向である。そのため、レート制御で求めた量子化スケールの値をそのまま使用すると、符号量が削減されすぎる可能性もある。この場合、符号量の削減をやや緩めるように、目標量子化スケールの値がやや小さめになるように補正してもよい。
例えば、レート制御で得られた目標量子化スケールmq(j)を補正して、
mq'(j)=mq(j)×(1/α)
として算出してもよい。
なお、ここでは、1/αを乗算することにより目標量子化スケールの補正を行っているが、1/αでなくても1より小さい値であれば、符号化データの符号量を増加方向に補正することができる。また、その他の式で目標量子化スケールの補正を行ってもよいし、補正は行わなくてもよい。
次に、実際に当該マクロブロックの量子化スケールを算出する。出力ストリームの量子化スケールqo(j)は、これは従来技術としての特許文献2の特開2001−204028号公報に開示された技術で導出可能であり、詳細な説明は省略する。
qo(j)=
qi(j) (mq(j)<1.5×qi(j)の場合)
2×qi(j) (1.5×qi(j)≦mq(j)<2×qi(j)の場合)
mq(j) (2 ×qi(j)<mq(j)の場合)
ここで、qi(j)は入力ストリームの量子化スケール、また、mq(j)は目標量子化スケールである。
なお、ここでは、量子化スケールqo(j)を上式で導出しているが、その他の式で導出してもよい。
上記の量子化スケールを用いれば、DCT係数の低周波成分の量子化誤差を抑えた変換を行うことが可能である。
しかし、前述した重要MBでは、DCT係数の低周波成分だけでなく、高周波成分の量子化誤差も抑えたほうが全体的な画質劣化を抑制できることが分かっている。そのため、重要MBにおいては、すべての周波数領域に対して量子化誤差を抑制可能な量子化スケールを設定できることが望ましい。
前述したように、重要MBは、MBのMBブロック部のデータ量と、当該MBのMBヘッダ部が示す量子化スケールコードの変換により得られる量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すMBである。
また、重要MBに対応する量子化スケールqo”(j)は以下の式で算出できる。
qo”(j)=1/α×qi(j)
重要MBで上記の量子化スケールqo”(j)を用いれば、すべての周波数領域の量子化誤差を抑えた変換を行うことができる。
それ以外のMB(通常MB)であれば、量子化スケールに上記qo(j)を用いればよい。
なお、重要MBは、前述した演算(MBブロック部のデータ量×量子化スケールの値)以外の演算を使用して決定してもよい。
次に、量子化スケールの値の変換例を説明する。
ここで、変換前の量子化スケールの値は、図16Aに示される値であるとする。前述したように、図16Aに示される複数の数字は、ピクチャの符号化データを構成する複数のMBの各々に対して設定された量子化スケールの値を示す。
ここで、目標符号化レートに基づいてレート制御における量子化スケールの平均値が“8”であったとする。この場合、量子化スケールの平均値に基づいて、量子化スケールの値を変換するならば、図22に示されるように、ピクチャの上部に対応する複数のMBの各々に対して設定された量子化スケールの値は、“4”から“8”に変換され、それ以外のMBに対して設定される量子化スケールの値は、“8”のまま保持されることになる。
ただし、量子化マトリクス変換率α=1/2の場合、ピクチャの中央部および下部に対応する複数のMBのうち、前述した重要MBに対して設定される量子化スケール変換率βは、量子化誤差を最小とするため、“1/2”とする。したがって、重要MBに対して設定される量子化スケールは“8”から“4”に減少方向に変換されることになる。
本発明の実施の形態2の符号化レート変換装置1000Aの量子化部107が行なう重要MBの量子化の具体的な処理を図23を用いて説明する。重要MBの量子化の具体的な処理は、図14のステップS509で行なわれる。
レート制御や量子化マトリクス変換の結果、量子化マトリクスの高周波成分の係数(ε=2の場合)を2倍に増加することになったとする。すなわち、高周波成分の量子化マトリクス変換率αは“2”であるとする。また、低周波成分の量子化マトリクス変換率αは“1”であるとする。
また、重要MBでは高周波成分の量子化誤差を発生させないため、量子化スケールの値を1/2倍に減少するものとする。すなわち、量子化スケール変換率βは“1/2”であるとする。この場合、算出される量子化スケールの値は図16のステップS602の処理により算出される値である。この処理により、量子化スケールの値“2”が算出される。
ここで、前述したマトリクス変換式Bにおいて、ε=2とする。この場合、量子化マトリクスの低周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数となる。また、量子化マトリクスの高周波成分の係数は、量子化マトリクスが示す64個の係数のうち、左上の三角形状に配置された6個の係数以外の係数となる。
図23は、図17と同様に、変換前量子化マトリクス、変換済量子化マトリクス、再量子化前マトリクスおよび再量子化済マトリクスを示すとする。
図23の変換済量子化マトリクスは、図13のステップS408の処理において、量子化マトリクス高域増加変換部108Aが、図23の変換前量子化マトリクスを、高周波成分の量子化マトリクス変換率α“2”を使用して変換したマトリクスである。
図23に示される変換済量子化マトリクスは、低周波成分の係数の値がそのままで、高周波成分の係数の値が大きくなっている(2倍)。そのため、図23の変換済量子化マトリクスを使用して量子化が行なわれると、符号化データの符号量(符号化レート)が小さくなる。すなわち、図23の変換済量子化マトリクスは、符号化データの符号量(符号化レート)を小さくするためのマトリクスである。
図23の再量子化済マトリクスは、図14のステップS509の処理において、量子化部107が、図23の変換済量子化マトリクスと、算出された量子化スケールの値“2”とを使用して、図23の再量子化前マトリクスを、再量子化することにより得られるマトリクスである。
前述した逆量子化の式から、量子化DCT係数を量子化マトリクスおよび量子化スケールにほぼ反比例させる必要がある。そのため、低周波成分の量子化DCT係数は1(1/α)×2(1/β)=2倍に変換する必要がある。また、高周波成分の量子化DCT係数は1/2(1/α)×2(1/β)=1倍に変換する必要がある。
ここで、図23の再量子化前マトリクスが示す非0量子化DCT係数は7、−3、2、1、4、1、−1、1の合計8個であるとする。また、8個の非0量子化DCT係数のうち前半の3個の係数(7、−3、2)が低周波成分に該当するInterMBのブロックを変換対象とする量子化DCT係数であるとする。
この場合、図23の再量子化済マトリクスに示されるように、低周波成分の量子化DCT係数は、入力時の2倍の、14、−6、4に変換される。なお、図23の再量子化済マトリクスに示されるように、高周波成分の量子化DCT係数は、変換不要である。
このとき、低周波成分の量子化DCT係数は、変換倍率が整数である限りは、整数になる。そのため、新たに量子化誤差は発生しない。また、高周波成分の係数は入力から変換不要であるため、量子化誤差は発生しない。
これにより、入力時50bitだった符号量は59bitに増加するものの、低周波成分から高周波成分まですべての周波数にわたって量子化誤差を発生させずに変換することができる。
重要MBがピクチャに対応する全てのMBにおいて、多くを占めるのであれば、上記の符号量の増加は目標レート達成に向けて大きな障害となる。しかしながら、重要MBがピクチャに対応する全てのMBにおいて、十分少ないのであれば、上記の符号量の増加を他の通常MBの符号量削減で取り返すことが可能である。
したがって、本発明の実施の形態2の符号化レート変換装置1000Aにおいて、全体的に量子化マトリクスの低周波成分の係数を入力値より小さくすることで、低周波成分の量子化誤差の発生を抑えるとともに、重要MBでの高周波成分も含む量子化誤差の発生を抑えることができる。
すなわち、本実施の形態の処理によれば、低周波成分の量子化誤差に起因する画質劣化を抑制しながら、さらに、重要MBとしての特定のマクロブロックにおいて高周波成分の量子化誤差に起因する画質劣化を抑制することができる。
なお、本実施の形態においては、図24Aに示されるように、マクロブロックの種類がInterMBであり、さらに量子化マトリクスの全係数が一定の場合を取り上げた。しかしながら、これに限定されることなく、図24Bに示されるように、本実施の形態の処理は、もちろん、マクロブロックの種類がIntraMBであってもよいし、量子化マトリクスの係数が一定値でなくばらばらの場合に行なわれてもよい。
また、InterMBおよびIntraMBのどちらかでのみ、量子化マトリクスを利用したレート変換を適用してもよいし、InterMBおよびIntraMBの両方において量子化マトリクスの変換倍率などを変化させてもよい。
なお、本発明は、MPEG2を前提として記載している。しかしながら、MPEG2に限定されず、JPEG、MPEG1、MPEG4、H.264など、量子化マトリクスをピクチャ単位で設定し、量子化パラメータをマクロブロック単位で設定するコーデックであれば、本発明を適用可能である。
なお、本発明は、DCT変換を前提として記載しているが、画像データを周波数成分に分解できる直交変換であれば、その他の変換方法であってもよい。
なお、本発明のように、MPEG2のIntraMBのDC成分など、いくつかのコーデックではDC成分などが量子化スケールの適用外になるなど、特別な量子化や符号化がなされる場合がある。しかしながら、これらの特別な係数に関しては、図24Bのように、本発明における量子化マトリクス変換の対象外としてよい。
図25Aは、変換前の量子化マトリクスを示す図である。図25Bは、実施の形態2の処理により変換された後の量子化マトリクスを示す図である。図25Cは、図25Bに示される量子化マトリクスに対して使用される数値および処理を示す図である。
なお、本実施の形態においては、量子化マトリクスの高周波成分の変換対象係数を、u+v≧3を満たす係数としていたが、u+v≧3における“3”は3以外であってもよい。また、符号化に使用されるスキャン順(ジグザグスキャン)(0〜63)を利用してよい。また、図25Bに示される量子化マトリクスMAAのように、スキャン順(ジグザグスキャン)≧0、すなわち全係数を変換領域としてもよい。
また、図25Bに示される量子化マトリクスMBAのように、スキャン順(ジグザグスキャン)≧64、すなわち変換領域なしとしてもよい。その他、低周波成分と高周波成分を分離できる方法であれば、どのような方法であってもよい。また、これらの基準は、ピクチャごとに変化するなど、一定でなくてもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数の変換率を一定としていたが、図25Bに示される量子化マトリクスMCAのように、変換対象係数が一定の変換率で変換されていなくても、
(変換後の量子化マトリクス係数)≦(変換前の量子化マトリクス係数)×量子化マトリクス変換率α
が成立していればよい。
なお、本実施の形態においては、量子化マトリクス変換率は、一例として2を利用したが、1より大きければ、その他の整数であってもよい。たとえば、図25Bに示される量子化マトリクスMDAのように、1より大きければ、量子化マトリクス変換率は、小数であってもよい。
なお、本実施の形態においては、量子化マトリクスの変換対象係数をu+v≦一定値を満たす係数、もしくはスキャン順(ジグザグスキャン)を利用した。しかしながら、これに限定されることなく、図25Bに示される量子化マトリクスMEAのように、量子化マトリクスの変換対象係数を、u≧一定値またはv≧一定値の条件を満たす係数としてもよい。
また、図25Bに示される量子化マトリクスMFAのように、スキャン順(オルタネートスキャン)を利用してもよいし、その他の方法で決定してもよい。なお、スキャン順を利用する場合に、どちらのスキャン順を利用するかを、プログレッシブ画像かインターレース画像かによって決定してもよいし、ストリームがどちらのスキャン順で符号化されているかに合わせて決定してもよい。
なお、本実施の形態においては、MBごとのレート制御がなされることを前提としているが、例えばすべてのMBが同じ量子化スケールになるなど、必ずしもMBごとでなくてもよい。
なお、本実施の形態においては、量子化マトリクスの高周波成分の変換を整数倍に限定して説明を行ったが、必ずしも整数倍でなくても、1より大きな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、量子化スケール変換率を1/α倍(α:整数)に限定して説明を行った。しかしながら、量子化スケール変換率は、必ずしも1/αでなくても、1より小さな値であれば、任意の有理数であってもよい。
なお、本実施の形態においては、4:2:0(輝度、色差、色差)の6ブロック構成を用いるコーデックを前提として記載しているが、4:2:2などその他のブロック構成をもちいる画像コーデックでも本発明は実施可能である。
なお、本実施の形態においては、量子化DCT係数変換時に小数点以下を切り捨てることを前提として記載しているが、小数点以下は四捨五入であっても、その他の方法で整数化していても、本発明は実施可能である。
なお、本実施の形態の符号化レート変換装置は、逆量子化部と量子化部が独立になっているが、逆量子化部と量子化部が一体になり、直接、入力ストリームの量子化DCT係数から出力ストリームの量子化DCT係数を算出してもよい。
なお、本実施の形態の符号化レート変換装置1000Aは、再量子化により得られた量子化DCT係数を直接出力しているが、再量子化により得られた量子化DCT係数に対して、例えば動き補償による補正を行ってから出力する場合においても、本発明は実施可能である。その他、入力ストリームから出力ストリームに変換する際、一度画像に戻すことなく、直接再量子化により変換する方法であれば、本発明は実施可能である。
(実施の形態3)
実施の形態2の符号化レート変換装置1000Aにおいて、MPEG2では量子化マトリクスは1〜255の範囲しか取ることができない。そのため、入力ストリームの量子化マトリクスの高域(高周波成分)の係数がすでに255に近い値の場合、高周波成分の量子化マトリクス変換率αを大きくできない。その結果、高周波成分の符号量を十分削減できないため、符号化レートを十分に削減できない場合がある。
また、実施の形態2の符号化レート変換装置1000Aにおいて、MPEG2では量子化スケールは1〜112の範囲しか取ることができない。そのため、入力ストリームの量子化スケールがすでに1に近い値の場合、重要MBにおける量子化スケール変換率βを十分小さな値にすることができない。その結果、量子化マトリクスの高域削減により発生する量子化誤差が抑制しきれずに、画質の劣化に結びつく場合がある。
すなわち、入力ストリームの量子化マトリクスや量子化スケールの値によって、最も画質の劣化の少ない量子化処理が可能な符号化レート変換装置は異なる。すなわち、量子化マトリクスや量子化スケールの値によっては、図11の実施の形態1の符号化レート変換装置1000が最も画質の劣化の少ない量子化処理ができる場合がある。符号化レート変換装置1000は、量子化マトリクスを変換するための量子化マトリクス低域削減変換を行なう装置である。量子化マトリクス低域削減変換は、変換対象の量子化マトリクスにおける低周波成分の係数を小さくする変換である。
また、量子化マトリクスや量子化スケールの値によっては、図21の実施の形態2の符号化レート変換装置1000Aが最も画質の劣化の少ない量子化処理ができる場合がある。符号化レート変換装置1000Aは、量子化マトリクスを変換するための量子化マトリクス高域増加変換を行なう装置である。量子化マトリクス高域増加変換は、変換対象の量子化マトリクスにおける高周波成分の係数を大きくするための変換である。
また、量子化マトリクスや量子化スケールの値によっては、図9の従来の符号化レート変換装置13000が最も画質の劣化の少ない量子化処理ができる場合がある。
本発明の実施の形態3では、上記の課題を解決するための符号化レート変換装置について説明する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図26は、実施の形態3における符号化レート変換装置1000Bの構成を示すブロック図である。
図26の符号化レート変換装置1000Bは、図11の符号化レート変換装置1000と比較して、量子化マトリクス変換制御部110の代わりに量子化マトリクス変換制御部110Bを備える点と、量子化マトリクス高域増加変換部108Aおよび量子化スケール増加・削減変換部104Aをさらに備える点が異なる。それ以外は、符号化レート変換装置1000と同様なので詳細な説明は繰り返さない。
量子化マトリクス変換制御部110Bは、先頭のピクチャを処理する際、量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換のいずれが適用可能であるか否かを判定する。当該判定の詳細は後述する。なお、量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換の両方が適用可能である場合、量子化マトリクス変換制御部110Bは、どちらか一方を、量子化マトリクスの変換において適用することを決定する。
量子化マトリクスの変換において、量子化マトリクス低域削減変換を適用する場合、符号化レート変換装置1000Bは、実施の形態1の符号化レート変換装置1000と同様な処理を行なうので詳細な説明は繰り返さない。
量子化マトリクスの変換において、量子化マトリクス高域増加変換を適用する場合、符号化レート変換装置1000Bは、実施の形態2の符号化レート変換装置1000Aと同様な処理を行なうので詳細な説明は繰り返さない。
量子化マトリクスの変換において、量子化マトリクス低域削減変換および量子化マトリクス高域増加変換のいずれも適用しない場合、符号化レート変換装置1000Bは、図9の従来の符号化レート変換装置13000と同様な処理を行なうので詳細な説明は繰り返さない。
本発明の実施の形態3の符号化レート変換装置1000Bにおける符号化レート変換方法判定の具体的な動作を説明する。
前述の通り、量子化マトリクスを変換するための量子化マトリクス低域削減変換および量子化マトリクス高域増加変換は、量子化マトリクスや量子化スケールの値によっては、必ずしも最適な方法とはならない。したがって、量子化マトリクスや量子化スケールの値に従って、最適な方法を選択することが望ましい。しかしながら、量子化スケールの値は、すべてのMBのMBヘッダに分散されて符号化されている。そのため、量子化スケールの値を知るには、すべてのMBの量子化スケールの値を先読みする必要がある。
量子化スケールの値の先読みをするためには入力ストリームを2回復号化する必要が発生する。そのため、処理対象のピクチャの量子化スケールの値と同様の傾向を持つとして、過去の同一ピクチャ種類の量子化スケールの値で代用してもよい。
まず、量子化マトリクス変換制御部110Bは、処理対象のピクチャに使用する量子化マトリクスが以下の4つの条件JA,JB,JC,JDのいずれを満たすか否かを判定する。
(JA)量子化マトリクスの高域係数の最大値が規格上限に近い
(JB)量子化マトリクスの低域係数の最小値が規格下限に近い
(JC)JA,JBのどちらにも該当する
(JD)JA,JBのどちらにも該当しない
次に、量子化マトリクス変換制御部110Bは、処理対象のピクチャに使用する量子化スケールの値が以下の4つの条件Ja,Jb,Jc,Jdのいずれを満たすか否かを判定する。
(Ja)量子化スケールの最大値が規格上限に近い
(Jb)量子化スケールの最小値が規格下限に近い
(Jc)Ja,Jbのどちらにも該当する
(Jd)Ja,Jbのどちらにも該当しない
上記量子化マトリクスと量子化スケールの判定結果の組み合わせに対して、量子化マトリクス低域削減変換(以下、方法1という)、量子化マトリクス高域増加変換(以下、方法2という)のいずれの符号化レート変換が適するかどうかは、図27に示される判定テーブルT100を参照することで判定できる。判定テーブルT100は、量子化マトリクスの変換において、方法1、方法2が適用可能か否かを判定するためのテーブルである。
図27の判定テーブルT100に示される、“JA”,“JB”,“JC”,“JD”は、前述した条件JA,JB,JC,JDである。図27の判定テーブルT100に示される、“Ja”,“Jb”,“Jc”,“Jd”は、前述した条件Ja,Jb,Jc,Jdである。
たとえば、前述の判定により、条件JBおよび条件Jaが満たされると判定された場合、判定テーブルT100により、量子化マトリクスの変換には方法1(量子化マトリクス低域削減変換)が適すると判定される。
なお、図27の判定テーブルT100において、“どちらも適用可”となっている箇所は、方法1、方法2のどちらも適用が可能である。
なお、図27の判定テーブルT100において、“どちらも非適用”となっている箇所は、方法1、方法2のいずれを適用した場合でも、符号化レートが十分に削減できない、画質劣化が発生するなどといった弊害が発生する。そのため、方法1および方法2のいずれの変換方法も適用せず、従来の符号化レート変換を適用するのがよい。
本発明の実施の形態3の符号化レート変換装置1000Bにおけるレート制御、量子化マトリクス変換、量子化スケール変換の具体的な動作に関しては、実施の形態1の符号化レート変換装置1000、実施の形態2の符号化レート変換装置1000Aと同等であるため、説明を省略する。
なお、本実施の形態では、実施の形態1の符号化レート変換装置1000と、実施の形態2の符号化レート変換装置1000Aとを統合した符号化レート変換装置1000Bを前提として説明を行った。しかしながら、これに限定されることなく、量子化スケールを変換するかどうかの判定は、実施の形態1の符号化レート変換装置1000および実施の形態2の符号化レート変換装置1000Aにも適用可能である。
なお、本実施の形態では、量子化マトリクス変換を行うかどうかの判定に、量子化マトリクスや量子化スケールの最大値、最小値を用いているが、平均値などその他の基準値を用いて判定してもよい。
例えば、実施の形態1の符号化レート変換装置1000が行なう処理において、量子化マトリクス変換率(低域)α×量子化スケール変換率β=1が成立するとする。このときに、低周波成分の量子化誤差が最も抑制され、さらに従来技術により量子化スケール変換率=2が成立するときに符号量あたりの画質向上が望めることを考えると、量子化マトリクスの変換率α=1/2とすることが望ましい。しかしながら、量子化マトリクスの低周波成分の係数が奇数であった場合、量子化マトリクス変換時の変換誤差に起因して画質劣化が発生する場合がある。
また、例えば、実施の形態2の符号化レート変換装置1000Aが行なう処理において、量子化スケール変換率βが、1未満であり、かつ、小数を有する実数であるとする。この場合、量子化スケールの値を小さくすることになる。しかしながら、βは整数でないため、量子化スケールの符号化時に使用する量子化スケールコード(量子化パラメータ)への変換時において、量子化スケールコードは量子化スケールに対して離散的に定義されているために変換誤差の発生が多くなる。その結果、画質の劣化に結びつく場合がある。
上記の性質を考慮して、量子化マトリクス変換を行うかどうかの判定に、量子化マトリクスや量子化スケールの変換誤差を用いて、変換誤差が少なくなる方法を適用するように判定してもよい。
また、MPEG2では量子化DCT係数が−2047〜2047の範囲しか取ることができない。そのため、実施の形態1の符号化レート変換装置1000および実施の形態2の符号化レート変換装置1000Aが行なう処理において、入力ストリームの量子化DCT係数がすでに−2047あるいは2047に近い値の場合、重要MBにおいても、量子化DCT係数を増加させることができないため、画質劣化が発生する場合がある。
上記の性質を考慮して、量子化マトリクス変換を行うかどうかの判定に、量子化DCT係数の最大値など、量子化DCT係数を利用してもよい。
(実施の形態4)
実施の形態1の符号化レート変換装置において、量子化マトリクスが1種類であること、もしくはすべての量子化マトリクスに対して同等の変換を行うことを想定している。しかし、MPEG2では、IntraMBとInterMB用の2つの量子化マトリクスを定義可能である。
MPEG2のIntraMBとInterMBでは、量子化誤差発生時に画質に与える影響が異なる。IntraMBでは、参照画像が存在しないので、低周波成分の量子化誤差がそのまま画質へ影響する。一方、InterMBでは、低周波成分の量子化誤差は参照画像からの差分に対する誤差であり、参照画像自体に対する誤差ではないので、画素への影響が小さい場合も多い。
したがって、IntraMBとInterMBに対して、同等に低周波成分の量子化誤差を低減する処理を行うと、InterMBでは過剰に誤差低減処理を行っていることになり、符号化レート削減の妨げになる可能性がある。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
また、H.264 High Profileでは、次の8つの量子化マトリクスを定義できる。
1.4×4,IntraMB,輝度
2.4×4,IntraMB,色差(青成分)
3.4×4,IntraMB,色差(赤成分)
4.4×4,InterMB,輝度
5.4×4,InterMB,色差(青成分)
6.4×4,InterMB,色差(赤成分)
7.8×8,IntraMB,輝度
8.8×8,InterMB,輝度
ここで、H.264のIntraMBは、MPEG2のIntraMBとは異なり、基本的に画面内予測であるため、InterMBと同様、参照画像からの差分に対する誤差が発生することになる。しかし、参照画像は同一ピクチャであり、InterMBと比較して相関性が低いため、依然として、IntraMBにおける量子化誤差が画素へ与える影響が大きい。
ここで、MPEG2ではブロックサイズが8×8固定であったが、H.264 High Profileでは、輝度のブロックサイズがマクロブロックごとに4×4、8×8で選択可能である。また、色差のブロックサイズが4×4で固定である。ブロックサイズ8×8のときは、係数が64個存在するが、ブロックサイズ4×4のときは、係数が16個しか存在しないので、低周波成分かどうかを判定する基準周波数の位置もそれにあわせて変化させなければ、意図通りに変換することができない。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
また、輝度と色差では、量子化誤差が人間の視覚に与える影響が異なる。輝度より色差、色差の中でも青色より赤色のほうが人間は敏感である。したがって、輝度、色差(青成分)、色差(赤成分)に対して同等に量子化誤差の低減処理を行うと、特に輝度では過剰に誤差低減処理を行っていることになる。そのため、符号化レート削減の妨げになる可能性がある。
本発明の実施の形態4は、前述の要求に対応するための符号化レート変換装置である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
本発明の実施の形態4の符号化レート変換装置の構成は、実施の形態1の図11の符号化レート変換装置1000の構成と同じであるので詳細な説明は繰り返さない。なお、実施の形態4では、量子化マトリクス変換制御部110および量子化マトリクス低域削減変換部108が、複数の量子化マトリクスを独立に制御・変換する。
本発明の実施の形態4の符号化レート変換の具体例を説明する。
前述の通り、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMBまたはInterMB)、ブロックサイズ(8×8、4×4)によって、量子化マトリクス変換方法を独立に変更するという要求がある。
H.264の符号化レート変換装置において、ブロックタイプ、予測タイプ、ブロックサイズによって、量子化マトリクスの変換方法を変更したときの一例を図28Aおよび図28Bに示す。なお、ブロックタイプ、予測タイプ、ブロックサイズによって、基準周波数と、量子化マトリクスを変換するための値(量子化マトリクス変換率)とを変更する処理は、量子化マトリクス低域削減変換部108が行なう。
図28Aおよび図28Bに示される変換パターンPAは、低域変換を行う基準周波数をu+v≦−1を満たす周波数に設定、すなわち量子化マトリクスの低域係数の変換を行わないものである。
図28Aおよび図28Bに示される変換パターンPBは、低域変換を行う基準周波数をu+v≦1を満たす周波数に設定し、量子化マトリクス変換率を1/2に設定したものである。
図28Aおよび図28Bに示される変換パターンPCは、低域変換を行う基準周波数をu+v≦2を満たす周波数に設定し、量子化マトリクス変換率を1/4に設定したものである。
図28Aおよび図28Bに示される変換パターンPDは、低域変換を行う基準周波数をu+v≦3を満たす周波数に設定し、量子化マトリクス変換率を1/2に設定したものである。
図28Aおよび図28Bでは、量子化マトリクスのすべての係数が16のときの変換例を示しているが、上記の変換パターンは、この量子化マトリクスに限るものではない。図28Aに示される表では、ブロックタイプ、予測タイプ(IntraMBまたはInterMB)、ブロックサイズの組み合わせ(マトリクス番号M0〜M7)によって、変換パターンPA〜PDのいずれかを適用することを示している。
図29A、図29B、図29C、図29Dは、実施の形態4の符号化レート変換装置が、図28Bに示される変換後の量子化マトリクスを使用して、H.264のマクロブロックタイプごとに変換された量子化DCT係数の変換率を示す。
図29Aは、マトリクス番号M0に対応する変換パターンPAにより変換された量子化マトリクスにより、4×4のサイズの輝度のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、輝度のMBが示す全ての量子化DCT係数が1倍されたことが示される。
また、図29Aは、マトリクス番号M1に対応する変換パターンPBにより変換された量子化マトリクスにより、色差(青成分)のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、色差(青成分)のMBが示す複数の量子化DCT係数のうち、左上の1つの量子化DCT係数のみが2倍されたことが示される。
また、図29Aは、マトリクス番号M2に対応する変換パターンPCにより変換された量子化マトリクスにより、色差(赤成分)のMBが再量子化された後の量子化DCT係数の変換率を示す。この場合、再量子化により、色差(赤成分)のMBが示す複数の量子化DCT係数のうち、左上の3つの量子化DCT係数のみが4倍されたことが示される。
図29B、図29Cおよび図29Dに示されるマトリクスは、図29Aで説明したのと同様であるので詳細な説明は繰り返さない。
たとえば、図29Cは、マトリクス番号M6に対応する変換パターンPDにより変換された量子化マトリクスにより、輝度のMBが逆量子化された後の量子化DCT係数の変換率を示す。この場合、逆量子化により、輝度のMBが示す複数の量子化DCT係数のうち、左上の6つの量子化DCT係数のみが2倍されたことが示される。
図29A、図29B、図29C、図29Dに示されるマトリクスが示す数値が大きいほど、符号量は大きくなるが、量子化誤差を低減することができる。
以上のように、ブロックタイプ、予測タイプ、ブロックサイズの性質に応じて、その組み合わせによって、量子化誤差の低減度合いに差をつけることで、要求される符号化レートへの変換時に画質劣化を抑えることができる。
なお、本実施の形態において、ブロックタイプには、輝度、色差(青成分)、色差(赤成分)のタイプが存在することを前提に説明を行ったが、その他のタイプが存在していてもよい。
なお、本実施の形態において、予測タイプには、Intra、Interが存在することを前提に説明を行ったが、その他のタイプが存在していてもよい。
なお、本実施の形態において、ブロックサイズには、8×8、4×4が存在することを前提に説明を行ったが、その他のサイズが存在していてもよい。
なお、本実施の形態において、ブロックタイプ、予測タイプ、ブロックサイズに応じて、独立して量子化マトリクスの定義が可能なコーデックを前提に説明を行った。しかしながら、それに限定されず、それ以外の属性で独立に量子化マトリクスの定義が可能なコーデックであれば、その属性に応じて独立に量子化マトリクスを変換してもよい。
なお、本実施の形態において、予測タイプやブロックサイズは、MB内で固定であることを前提に説明を行っているが、予測タイプやブロックサイズがMBで可変であっても、本発明は実施可能である。
なお、本実施の形態において、InterMBの量子化マトリクス変換率をIntraMBの量子化マトリクス変換率より下げる例を挙げている。しかし、例えば、画面間の相関性が低く、InterMBの誤差が画質に与える影響が高い場合は、逆のほうが優れる場合もある。
本発明は、参照タイプ(InterMB、IntraMB)によって、量子化マトリクス変換を変更することが本質であり、どちらかの変換率が大きくするかどうかに依存するものではない。また、これは、ブロックタイプ(輝度・色差)、ブロックサイズ(8×8、4×4)によっても同様である。
なお、本実施の形態において、実施の形態1の符号化レート変換装置1000を基準に説明を行った。しかしながら、本発明の本質は、ブロックタイプ、予測タイプ、ブロックサイズなどの属性に応じて量子化マトリクスの変換方法を変える点である。そのため、本発明は実施の形態2の符号化レート変換装置1000Aにも適用可能である。
(実施の形態5)
また、実施の形態1〜2の符号化レート変換装置では、量子化スケールが1種類であること、またすべての種類の量子化スケールに同等の変換をすることを想定している。しかし、予測タイプ(IntraMB/InterMB)は、マクロブロックごとにしか切り替わらないので、IntraMBの量子化スケール、InterMBの量子化スケールで、変換方法を変更することも可能である。
また、H.264におけるブロックサイズ(輝度8×8または4×4)も、マクロブロックごとにしか切り替わらないので、同様に変換方法を変更することも可能である。なお、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))は、1つのマクロブロックの中に複数タイプが存在するが、MPEG2では、両者の量子化スケールは共通である。
また、H.264 High Profileでは、輝度、色差(青成分)、色差(赤成分)の3種類の量子化スケールが存在するものの、それぞれの量子化スケールは、その比率がピクチャ内で固定である。そのため、マクロブロックごとに3種類の量子化スケールを独立に設定できるわけではない。MPEG2、H.264以外でそれぞれの量子化スケールを独立に変更可能なコーデックにおいては、そのそれぞれで量子化スケールの変換方法を変更することも可能である。
本発明の実施の形態5における符号化レート変換装置の構成は、実施の形態1の図11の符号化レート変換装置1000の構成と同じであるので詳細な説明は繰り返さない。
本発明の実施の形態5における符号化レート変換装置は、量子化マトリクス変換制御部110および量子化スケール増加変換部104が、実施の形態4と同様に、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMB/InterMB)、ブロックサイズなどの属性に応じて、量子化スケールの値を変化させるための値(量子化スケール変換率β)を変更する。なお、その他の処理は、実施の形態1で説明した処理と同様なので詳細な説明は繰り返さない。
なお、本発明は実施の形態2の符号化レート変換装置1000Aにも適用可能である。この場合、量子化マトリクス変換制御部110Aおよび量子化スケール増加・削減変換部104Aが、実施の形態4と同様に、ブロックタイプ(輝度、色差(青成分)、色差(赤成分))、予測タイプ(IntraMB/InterMB)、ブロックサイズなどの属性に応じて、量子化スケールの値を変化させるための値(量子化スケール変換率β)を変更する。
(実施の形態6)
本実施の形態では、実施の形態1〜5で示した符号化レート変換装置の応用例あるいはそれを用いたシステムを説明する。
図30は、符号化レート変換装置を用いた放送ストリーム受信記録装置2008とそのシステム構成を示す図である。放送ストリーム受信記録装置2008は、符号化レート変換部2001と、放送受信部2003と、AV多重分離部2004と、AV多重部2005と、HDD制御部2006と、HDD2007とを備える。なお、放送ストリーム受信記録装置2008内の符号化レート変換部2001が、実施の形態1〜5で示した符号化レート変換装置と同様な処理を行なう。
放送ストリーム受信記録装置2008は、デジタル放送波2002を受けて動作し、放送波から受信したデジタルデータの符号化レートを変換してHDD2007に記録する。
デジタル放送波2002は、変調された状態で搬送波にのせて伝送される。デジタル放送波2002は、複数のプログラムを含む。複数のプログラムの各々は、MPEG2で符号化された映像データと、AACで符号化された音声データと、字幕情報やデータ放送などのシステムデータとを含む。
放送受信部2003は、デジタル放送波2002を復調する。そして、放送受信部2003は、復調により得られた複数プログラムの中から、所望の1つのプログラムを分離して、分離したプログラムを、AV多重分離部2004に通知する。
AV多重分離部2004は、映像データ、音声データ、システムデータが多重化されたストリームから、映像データだけを抽出して、映像データを符号化レート変換部2001に通知する。AV多重分離部2004は、映像データ以外のデータは、AV多重部2005に通知する。
符号化レート変換部2001は、映像データを所望の符号化レートに変換し、変換後の映像データ(符号化レート変換済みの映像データ)をAV多重部2005に通知する。AV多重部2005は、符号化レート変換済みの映像データと、元の音声データ、システムデータを多重化して、1つのプログラムを再構成し、再構成した1つのプログラムをHDD制御部2006に通知する。HDD制御部2006は、プログラムをHDD2007に記録する。
日本のBSデジタル放送において、1つのプログラムの符号化レートは、24Mbpsである。そのため、HDDに1時間番組をそのまま記録する場合、HDDは、10Gbyte以上の容量が必要になる。HDDが250Gbyteの容量を有していても、20時間程度しか記録することができない。これに伴い、HDDにもっと長時間の番組を記録したいという要求が存在する。
本実施の形態における放送ストリーム受信記録装置は、プログラムの中で映像データが約9割を占めることを利用して、映像データの符号化レートを例えば1/2倍に変換することで、上記の要求に答えることができる。
なお、本実施の形態では、放送ストリーム受信記録装置2008は、デジタル放送波2002を受信し、処理するようにしている。しかしながら、これに限定されることなく、放送ストリーム受信記録装置2008は、符号化レート変換なしでHDDに記録されたストリームや、ネットワークを通じて配信されたストリームを受信し、処理してもよい。
また、本実施の形態では、放送ストリーム受信記録装置2008が受信したデータの記録先をHDDとした。しかしながら、これに限定されず、DVDなどの光ディスクやメモリーカードなど他の記録媒体としてもよい。
(実施の形態7)
本実施の形態では、実施の形態1〜5で示した符号化レート変換装置の応用例あるいはそれを用いたシステムを説明する。
図31は、符号化レート変換装置を用いたネットワーク配信システム5000の一例の構成を示すブロック図である。
ネットワーク配信システム5000は、ストリーム送信装置2110と、ストリーム受信装置2111と、ネットワーク2109とを含む。ストリーム送信装置2110は、符号化ストリームをネットワーク2109へ送信する。ストリーム受信装置2111は、ネットワーク2109から符号化ストリームを受信する。
ネットワーク配信システム5000は、ストリーム送信装置2110のHDDに記録されたAVストリームをネットワーク2109を通じて配信し、ストリーム受信装置2111で再生するシステムである。
ストリーム送信装置2110は、符号化レート変換部2101と、HDD2102と、HDD制御部2103と、AV多重分離部2104と、AV多重部2105と、ネットワーク制御部2106とを備える。なお、ストリーム送信装置2110内の符号化レート変換部2101が、実施の形態1〜5で示した符号化レート変換装置と同様な処理を行なう。HDD2102には、映像ストリーム、音声ストリーム、システムストリームを含む1つのプログラムが格納されている。
HDD制御部2103は、HDD2102からストリームを読み出し、読み出したストリームをAV多重分離部2104に通知する。AV多重分離部2104は、実施の形態6と同様、映像ストリームだけを分離して、分離した映像ストリームを符号化レート変換部2101に通知する。映像ストリーム以外のストリームは、AV多重部2105に通知する。
符号化レート変換部2101は、映像ストリームの符号化レートを変換して、変換後の映像ストリームをAV多重部2105に通知する。AV多重部2105は、映像ストリームと音声、システムストリームを再度多重化した1つのAVストリームを生成し、生成したストリームをネットワーク制御部2106に通知する。
ネットワーク制御部2106は、受信したAVストリームをネットワーク2109に送信する。ネットワーク制御部2106は、ネットワーク2109が伝送可能なデータの符号化レートを検出し、検出した符号化レートの情報を、符号化レート変換部2101に通知する。
ストリーム受信装置2111は、ネットワーク制御部2107と、AV再生部2108とを備える。ネットワーク制御部2107は、ネットワーク2109からAVストリームを受信し、受信したAVストリームをAV再生部2108に通知する。AV再生部2108は、AV多重分離やAVストリームの復号を行い、映像(データ放送や字幕も含む)、音声を再生する。なお、AV再生部は符号化レート変換に直接関係ないので、詳細な構成は省略する。
例えば、日本のBSデジタル放送では、1つのプログラムあたりの符号化レートが24Mbpsである。しかしながら、ネットワークではAVストリーム以外のデータも同時に伝送されているので、ネットワークでは、24Mbpsの帯域が保障できないことが多い。また、ネットワークが無線の場合は、電波状態によって伝送可能な帯域が随時変化する。そのため、ネットワークでは、24Mbpsの帯域を保障することができないことが多い。帯域が保障できない場合、AVストリームのデータが抜け落ちることで、ストリームの復号が頻繁にエラーになる。そのため、AV再生がほとんどできないことになる。
ストリーム送信装置2110は、ネットワーク制御部2106が、ネットワーク2109の状態を検知し、ネットワーク2109で伝送可能なデータの帯域の情報を符号化レート変換部2101に通知する。これにより、符号化レート変換部2101は、AVストリームをネットワーク2109で伝送可能な符号化レートに変換することができる。これにより、ネットワーク2109上でデータが抜け落ちることがなくなるので、ストリーム受信装置2111は正常にAV再生ができるようになる。
なお、本実施の形態では、ストリーム送信装置2110が受信するデータを、HDD2102から読み出したデータとしている。しかしながら、これに限定されず、ストリーム送信装置2110が受信するデータは、デジタル放送波に含まれるデータや、他の記録媒体から読み出されたデータとしてもよい。
なお、本発明の実施の形態1〜7において、符号化レート変換装置を構成する各機能ブロックは、典型的には、CPUやメモリを要した情報機器上で動作するプログラムとして実現される。しかしながら、これに限定されず、符号化レート変換装置を構成する各機能ブロックの一部または全部を集積回路であるLSIとして実現してもよい。これらのLSIは、個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、使用される集積回路をLSIとしたが、集積度の違いにより、使用される集積回路は、IC、システムLSI、スーパーLSI、ウルトラLSI等のいずれであってもよい。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(FIELD PROGRAMMABLE GATE ARRAY)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上のように、本発明に係る符号化レート変換装置は、例えば、放送ストリーム受信記録装置やネットワークへのストリーム送信装置等において、映像ストリームの符号化レートを低減する際に有用である。
101 可変長復号部
102 可変長符号部
103 レート制御部
104 量子化スケール増加変換部
104A 量子化スケール増加・削減変換部
105 MBヘッダ格納部
106 逆量子化部
107 量子化部
108 量子化マトリクス低域削減変換部
108A 量子化マトリクス高域増加変換部
109 ピクチャヘッダ格納部
110,110A,110B 量子化マトリクス変換制御部
1000,1000A,1000B 符号化レート変換装置
2008 放送ストリーム受信記録装置
2001,2101 符号化レート変換部
2110 ストリーム送信装置
2111 ストリーム受信装置
5000 ネットワーク配信システム

Claims (11)

  1. ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られる前記ピクチャの符号化データの符号化レートを変換するための符号化レート変換装置であって、
    前記量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定され、
    前記量子化マトリクスは、前記符号化データから得られるピクチャ単位で設定され、
    前記複数のマクロブロックを、前記ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化部と、
    前記第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、前記複数の係数のうち前記低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、前記第1変換値より大きい第2変換値とを使用して、前記第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換部と、
    前記第2量子化マトリクスが前記符号化データの符号化レートを大きくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、前記第2量子化マトリクスが前記符号化データの符号化レートを小さくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出部と、
    前記複数の係数データの少なくとも一部を、前記第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、前記逆量子化部により逆量子化される前の符号化レートより小さい符号化レートの前記符号化データを生成する再量子化部と
    を備える、符号化レート変換装置。
  2. 前記量子化マトリクス変換部は、前記低周波係数の値をα1(0<α1<1)倍することにより前記第1量子化マトリクスを前記第2量子化マトリクスに変換する、
    請求項1に記載の符号化レート変換装置。
  3. 前記スケール値算出部は、前記第2量子化マトリクスが前記符号化データの符号化レートを大きくするためのマトリクスである場合、前記符号化データを構成する前記複数のマクロブロックの各々に対応する量子化スケールの値をβ3(≧1/α1)倍した変換後スケール値を算出する、
    請求項2に記載の符号化レート変換装置。
  4. 前記量子化マトリクス変換部は、前記高周波係数の値をα2(>1)倍することにより、前記第1量子化マトリクスを前記第2量子化マトリクスに変換する、
    請求項1に記載の符号化レート変換装置。
  5. 前記複数のマクロブロックにおいて、復号されることにより所定の精細度より精細度の高い画像を示すマクロブロックである特定マクロブロックがあるか否かを判定するブロック判定部をさらに備え、
    前記スケール値算出部は、前記特定マクロブロックがあると判定され、かつ、第2量子化マトリクスが前記符号化データの符号化レートを大きくするためのマトリクスである場合、全ての前記特定マクロブロックの各々に対応する量子化スケールの値をβ1倍した変換後スケール値を算出し、前記特定マクロブロックがあると判定され、かつ、前記第2量子化マトリクスが前記符号化データの符号化レートを小さくするためのマトリクスである場合、全ての前記特定マクロブロックの各々に対応する量子化スケールの値をβ2倍した変換後スケール値を算出する、
    請求項1に記載の符号化レート変換装置。
  6. 前記特定マクロブロックは、前記複数のマクロブロックにおいて、マクロブロックのデータ量と、該マクロブロックに対応する量子化スケールの値との乗算により得られる値が、所定値より大きい値を示すマクロブロックである、
    請求項5に記載の符号化レート変換装置。
  7. 前記量子化マトリクス変換部は、前記複数のマクロブロックの各々において、対応するマクロブロックの種類、予測方法およびサイズの少なくとも1つに応じて、前記所定周波数と、前記第1量子化マトリクスが示す前記複数の係数の少なくとも一部を変化させるための値とを変更する、
    請求項1に記載の符号化レート変換装置。
  8. 前記スケール値算出部は、前記複数のマクロブロックの各々において、対応するマクロブロックの種類、予測方法およびサイズの少なくとも1つに応じて、β1またはβ2を変更する、
    請求項1に記載の符号化レート変換装置。
  9. 前記低周波係数の値をα1(0<α1<1)倍することにより前記第1量子化マトリクスを前記第2量子化マトリクスに変換する第1変換処理、および、前記高周波係数の値をα2(>1)倍することにより、前記第1量子化マトリクスを前記第2量子化マトリクスに変換する第2変換処理の少なくとも一方が、前記第1量子化マトリクスの変換において適用可能であるか否かを、前記第1量子化マトリクスが示す前記複数の係数の値と前記少なくとも1つのマクロブロックに対応する量子化スケールの値とに基づいて判定する判定部をさらに備え、
    前記判定部により適用可能であると判定された処理がある場合、適用可能であると判定された処理を、前記量子化マトリクス変換部が行ない、
    前記スケール値算出部は、前記量子化マトリクス変換部が前記第1変換処理を行なう場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1倍した変換後スケール値を算出し、前記量子化マトリクス変換部が前記第2変換処理を行なう場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2倍した変換後スケール値を算出する、
    請求項1に記載の符号化レート変換装置。
  10. ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られる前記ピクチャの符号化データの符号化レートを変換するための符号化レート変換方法であって、
    前記量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定され、
    前記量子化マトリクスは、前記符号化データから得られるピクチャ単位で設定され、
    前記複数のマクロブロックを、前記ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化ステップと、
    前記第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、前記複数の係数のうち前記低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、前記第1変換値より大きい第2変換値とを使用して、前記第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換ステップと、
    前記第2量子化マトリクスが前記符号化データの符号化レートを大きくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、前記第2量子化マトリクスが前記符号化データの符号化レートを小さくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出ステップと、
    前記複数の係数データの少なくとも一部を、前記第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、前記逆量子化ステップにより逆量子化される前の符号化レートより小さい符号化レートの前記符号化データを生成する再量子化ステップと
    を備える、符号化レート変換方法。
  11. ピクチャを符号化する処理において、量子化マトリクスと量子化スケールの値との乗算により得られる値を使用した量子化の処理が少なくとも行なわれることにより得られる前記ピクチャの符号化データの符号化レートを変換するための集積回路であって、
    前記量子化スケールは、ピクチャを復元するための符号化データを構成する複数のマクロブロックの各々に対し値が設定され、
    前記量子化マトリクスは、前記符号化データから得られるピクチャ単位で設定され、
    前記複数のマクロブロックを、前記ピクチャの符号化時に使用された第1量子化マトリクスを使用して逆量子化することにより複数の係数データを取得する逆量子化部と、
    前記第1量子化マトリクスが示す複数の係数のうち、所定周波数より低い周波数に対応する係数である低周波係数の値を変換するための第1変換値と、前記複数の係数のうち前記低周波係数以外の係数である高周波係数の値を変換するための値であって、かつ、前記第1変換値より大きい第2変換値とを使用して、前記第1量子化マトリクスを第2量子化マトリクスに変換する量子化マトリクス変換部と、
    前記第2量子化マトリクスが前記符号化データの符号化レートを大きくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ1(≧1)倍した変換後スケール値を算出し、前記第2量子化マトリクスが前記符号化データの符号化レートを小さくするためのマトリクスである場合、前記複数のマクロブロックのうち少なくとも1つのマクロブロックに対応する量子化スケールの値をβ2(0<β2<1)倍した変換後スケール値を算出するスケール値算出部と、
    前記複数の係数データの少なくとも一部を、前記第2量子化マトリクスと、該少なくとも一部の係数データに対応するマクロブロックに対応する算出された変換後スケール値とを使用して量子化することにより、前記逆量子化部により逆量子化される前の符号化レートより小さい符号化レートの前記符号化データを生成する再量子化部と
    を備える、集積回路。
JP2009537928A 2007-10-19 2008-10-16 符号化レート変換装置、符号化レート変換方法および集積回路 Pending JPWO2009050897A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007272119 2007-10-19
JP2007272119 2007-10-19
PCT/JP2008/002943 WO2009050897A1 (ja) 2007-10-19 2008-10-16 符号化レート変換装置、符号化レート変換方法および集積回路

Publications (1)

Publication Number Publication Date
JPWO2009050897A1 true JPWO2009050897A1 (ja) 2011-02-24

Family

ID=40567183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009537928A Pending JPWO2009050897A1 (ja) 2007-10-19 2008-10-16 符号化レート変換装置、符号化レート変換方法および集積回路

Country Status (4)

Country Link
US (1) US20100091842A1 (ja)
JP (1) JPWO2009050897A1 (ja)
CN (1) CN101578878A (ja)
WO (1) WO2009050897A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8588295B2 (en) * 2009-03-09 2013-11-19 Mediatek Inc. Methods and electronic devices for quantization and de-quantization
US10353774B2 (en) * 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
KR101989613B1 (ko) 2011-02-10 2019-06-14 벨로스 미디어 인터내셔널 리미티드 화상 처리 장치 및 화상 처리 방법
AU2016269467B2 (en) * 2011-02-10 2018-08-16 Sony Group Corporation Image Processing Device and Image Processing Method
US20190179696A1 (en) 2011-09-06 2019-06-13 International Business Machines Corporation Demultiplexing decoded data streams in a distributed storage network
US11907060B2 (en) 2011-09-06 2024-02-20 Pure Storage, Inc. Coding of data streams in a vast storage network
US10235237B2 (en) 2011-09-06 2019-03-19 Intertnational Business Machines Corporation Decoding data streams in a distributed storage network
US9213742B2 (en) * 2011-09-06 2015-12-15 Cleversafe, Inc. Time aligned transmission of concurrently coded data streams
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
US20130188691A1 (en) * 2012-01-20 2013-07-25 Sony Corporation Quantization matrix design for hevc standard
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
US9253483B2 (en) 2012-09-25 2016-02-02 Google Technology Holdings LLC Signaling of scaling list
CN106663209B (zh) * 2014-09-19 2020-05-08 华为技术有限公司 用于非均匀映射图像/视频编码中不同尺寸的量化矩阵之间的量化矩阵系数的方法和装置
RU2015139057A (ru) 2015-09-14 2017-03-17 ИЭмСи КОРПОРЕЙШН Способ и система распределенного хранения данных
US10061697B2 (en) 2015-12-16 2018-08-28 EMC IP Holding Company LLC Garbage collection scope detection for distributed storage
US10133770B2 (en) 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
US10146600B2 (en) 2015-12-16 2018-12-04 EMC IP Holding Company LLC Mutable data objects content verification tool
US10067696B2 (en) 2015-12-18 2018-09-04 Emc Corporation Capacity exhaustion prevention for distributed storage
US10379780B2 (en) 2015-12-21 2019-08-13 EMC IP Holding Company LLC Statistics management for scale-out storage
US10152248B2 (en) 2015-12-25 2018-12-11 EMC IP Holding Company LLC Erasure coding for elastic cloud storage
US10291265B2 (en) 2015-12-25 2019-05-14 EMC IP Holding Company LLC Accelerated Galois field coding for storage systems
US10218976B2 (en) * 2016-03-02 2019-02-26 MatrixView, Inc. Quantization matrices for compression of video
US10110258B2 (en) 2016-03-30 2018-10-23 EMC IP Holding Company LLC Accelerated erasure coding for storage systems
US10795872B2 (en) 2016-06-29 2020-10-06 EMC IP Holding Company LLC Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
US10248326B2 (en) 2016-06-29 2019-04-02 EMC IP Holding Company LLC Incremental erasure coding for storage systems
US10152376B2 (en) * 2016-06-29 2018-12-11 EMC IP Holding Company LLC Data object recovery for storage systems
US10831742B2 (en) 2016-12-09 2020-11-10 EMC IP Holding Company LLC Data set verification
US10564883B2 (en) 2016-12-13 2020-02-18 EMC IP Holding Company LLC Efficient migration to distributed storage
US10776322B2 (en) 2016-12-13 2020-09-15 EMC IP Holding Company LLC Transformation processing for objects between storage systems
KR102282462B1 (ko) * 2017-07-13 2021-07-27 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
US11095896B2 (en) * 2017-10-12 2021-08-17 Qualcomm Incorporated Video coding with content adaptive spatially varying quantization
WO2019189346A1 (ja) * 2018-03-30 2019-10-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10783022B2 (en) 2018-08-03 2020-09-22 EMC IP Holding Company LLC Immediate replication for dedicated data blocks
WO2020084929A1 (ja) * 2018-10-23 2020-04-30 日本電気株式会社 映像符号化又は復号装置、映像符号化又は復号方法、プログラム、及び記録媒体
JP2020098986A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
US11399180B1 (en) * 2019-04-09 2022-07-26 Apple Inc. Video encoder with quantization control
JP7444970B2 (ja) 2019-08-20 2024-03-06 北京字節跳動網絡技術有限公司 デフォルトおよびユーザ定義のスケーリング行列の使用法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142380A (en) * 1989-10-23 1992-08-25 Ricoh Company, Ltd. Image data processing apparatus
JP2000236547A (ja) * 1998-12-15 2000-08-29 Sony Corp 画像情報変換装置及び画像情報変換方法
EP1045590A3 (en) * 1999-04-13 2005-03-09 Matsushita Electric Industrial Co., Ltd. Transcoder and transcoding method with bit rate regulation
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
US6944226B1 (en) * 2000-10-03 2005-09-13 Matsushita Electric Corporation Of America System and associated method for transcoding discrete cosine transform coded signals
JP2005210502A (ja) * 2004-01-23 2005-08-04 Nec Corp 画像再圧縮装置および画像再圧縮方法
JP2006191253A (ja) * 2005-01-05 2006-07-20 Matsushita Electric Ind Co Ltd レート変換方法及びレート変換装置
WO2006098226A1 (ja) * 2005-03-14 2006-09-21 Matsushita Electric Industrial Co., Ltd. 符号化装置および符号化装置を備えた動画像記録システム

Also Published As

Publication number Publication date
WO2009050897A1 (ja) 2009-04-23
CN101578878A (zh) 2009-11-11
US20100091842A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
JPWO2009050897A1 (ja) 符号化レート変換装置、符号化レート変換方法および集積回路
JP4488679B2 (ja) 人間の視覚特性を考慮した映像の符号化方法及び復号化方法並びにその装置
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US7170938B1 (en) Rate control method for video transcoding
US6658157B1 (en) Method and apparatus for converting image information
JP4111351B2 (ja) コード化システムにおけるレート制御を最適化するための装置および方法
US10616594B2 (en) Picture encoding device and picture encoding method
JP5206706B2 (ja) 符号化装置および方法
JP2007522743A (ja) 適応的なデッドゾーンサイズを有する量子化に基づくビデオ画像の符号化と復号化
JP2001145113A (ja) 画像情報変換装置及び方法
US20050201469A1 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
JP2003348597A (ja) 画像符号化装置および画像符号化方法
US20030174771A1 (en) Method, apparatus, and program for variable bit rate encoding
JP4775132B2 (ja) 画像理装置および方法、プログラム、並びに記録媒体
JP2006060836A (ja) 画像符号のトランスコーダ及び画像符号のトランスコーディング方法
KR20170095047A (ko) 동적 프레임 삭제 장치 및 방법
JP2001148852A (ja) 画像情報変換装置及び画像情報変換方法
JP2005005862A (ja) 画像符号化装置
JP2004056616A (ja) 符号化信号復号装置、符号化信号復号方法および符号化信号復号プログラム
JP4875285B2 (ja) 編集装置および方法
KR100932727B1 (ko) 비디오 스트림 전환 장치 및 방법
JP2007235299A (ja) 画像符号化方法
WO2013073422A1 (ja) 動画像符号化装置
JP4292658B2 (ja) 画像情報変換装置及び画像情報変換方法