本発明は動画像符号化方法および動画像符号化装置に関する。本発明は、特に、MPEG(Moving Picture Experts Group)−4方式で、または、ITU−T H.264方式にて画像信号をブロック単位で符号化する動画像符号化方法および動画像符号化装置に関する。
近年、音声、画像およびその他の画素値を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア、つまり新聞、雑誌、テレビ、ラジオおよび電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形または音声、特に画像等を同時に関連づけて表すことをいう。上記従来の情報メディアをマルチメディアの対象とするには、その情報をデジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアの持つ情報量をデジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトである。それに対し、音声の場合は、1秒当たり64Kbits(電話品質)、さらに動画の場合については、1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となる。それ故、上記情報メディアでその膨大な情報をデジタル形式でそのまま扱うことは現実的ではない。例えば、テレビ電話は、64Kbits/s〜1.5Mbits/sの伝送速度を持つサービス総合デジタル網(ISDN:Integrated Services Digital Network)によって実用化されている。しかし、テレビ・カメラの映像をそのままのデジタル情報量でISDNにて送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術である。例えば、テレビ電話の場合、ITU−T(国際電気通信連合 電気通信標準化部門)によって勧告されたH.261またはH.263規格の動画圧縮技術が用いられている。また、MPEG−1規格の情報圧縮技術では、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、ISO/IEC(国際標準化機構 国際電気標準会議)によって標準化された動画像信号圧縮の国際規格である。MPEG−1は、動画像信号を1.5Mbits/sまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG−1規格では、対象とする品質を中程度の品質、すなわち伝送速度が主として約1.5Mbits/sで実現できる程度の品質としたことから、さらに高画質化の要求をみたすべくMPEG−2が規格化されている。MPEG−2では、動画像信号を2〜15Mbits/sでTV(Television)放送品質を実現する。さらに、現状では、MPEG−1、MPEG−2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11)によって、MPEG−1、MPEG−2を上回る圧縮率を達成し、さらに物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG−4が規格化されている。MPEG−4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、インタレース画像も含む高ビットレートの符号化方法も含む、より汎用的な符号化に拡張されている。さらに、現在は、ISO/IECとITU−Tとによって共同で、より高圧縮率の画像符号化方式として、MPEG−4 AVCおよびITU−T H.264が規格化されている。
画像信号は同じ時刻の画素の集合であるピクチャ(フレームまたはフィールドとも呼ばれる)が連続したものであると考えることができる。画素は、ピクチャ内での近傍画素との相関が強いことから、ピクチャ内の画素の相関を利用した圧縮が行われる。また、連続するピクチャ間では、画素の相関も強いことから、ピクチャ間の画素の相関を利用した圧縮も行われる。ピクチャ間の画素の相関とピクチャ内の画素の相関を利用した圧縮をインター符号化、ピクチャ間の画素の相関を用いないがピクチャ内の画素の相関を利用した圧縮をイントラ符号化と呼ぶ。ピクチャ間の相関を利用しているため、インター符号化の方が、イントラ符号化よりも圧縮できる。MPEG−1、MPEG−2、MPEG−4、MPEG−4 AVCおよびH.264では、2次元の矩形領域の画素の集合であるブロック(もしくはマクロブロック)を構成し、ブロック単位でイントラ符号化とインター符号化とを切り替える。
イントラ符号化の場合は、ピクチャ内の画素ブロックもしくはピクチャ内の画素の相関を利用した予測誤差のブロックが構成される。インター符号化の場合は、ピクチャ間の相関を利用した予測誤差のブロックが構成される。そして、ピクチャを構成するこれらブロックに対してDCT(ディスクリート・コサイン変換)などの2次元直交変換が行われ、2次元直交変換されたブロックの周波数成分は所定の量子化ステップ(幅)で量子化される。量子化した結果、得られる量子化値は可変長符号化されて、例えばネットワークに伝送される。
なお、量子化する際、量子化ステップが大きいと画像符号化歪が大きくなるが高圧縮となり、量子化ステップが小さいと画像符号化歪が小さくなるが低圧縮となる。ここで、量子化ステップとは、量子化する際の量子化幅であり、どの程度細かく量子化を行うかを示す。
また、動画像を符号化する場合には、通常、1秒当たりのデータ量を示すビットレートが一定となるように、かつ、ピクチャ内で量子化ステップがほぼ一定となるように、量子化ステップを導出する。ビットレートを一定にするのは、符号化したストリームを伝送するネットワークの伝送ビットレートが一定のためである。これは、符号化歪がピクチャ内の位置(水平位置、垂直位置)によって符号化歪の大きさにばらつきがある場合、即ちピクチャ内で量子化ステップがほぼ一様でないと符号化歪が目立ちやすいためである。
このように、一般に、動画像を符号化する場合には、ピクチャ内で量子化ステップが一様となるように制御する。この制御には、符号化歪が一様となり、特定の箇所で符号化歪が目立ちにくいという長所がある。
一方、ネットワークにおいて、ADSLまたは光ファイバを用いた高速ネットワーク環境が普及し、一般家庭でも数Mbits/sを越えるビットレートでの送受信が可能となっている。また、今後数年で数十Mbits/sでの送受信が可能になる見込みである。そのため、上記の画像符号化技術を用いることで、専用回線を用いた企業だけでなく、一般家庭でもTV放送品質、HDTV品質、将来的にはスーパーHDTV品質のTV電話・TV会議システムの導入が進むと予想される。
ところで、ネットワークを介して符号化した画像データ、すなわちストリームを伝送する際には、ネットワーク輻輳などでストリームの一部が消失する可能性がある。ストリームの一部が消失した場合には、受信側で消失したストリームに対応する箇所の画像を正しく復号できないので、画質劣化が発生する。さらに、次ピクチャ以降も、消失したストリームに対応する箇所の画像を参照してインター符号化したストリーム復号も画質劣化が発生する。そこで、ブロックを複数まとめた符号化単位であるスライスが定義された。スライスは独立に符号化および復号処理が可能な最小単位であり、ストリームの一部が消失してもスライス単位で復号処理ができる。そのため、例えば、図22に示すように、ピクチャを例えば5行のスライスに分割し、その中の一つのスライスをIスライスとして、時間的に連続するピクチャにおいてピクチャ内のIスライスの位置を循環させる技術がある。ここで、Iスライスとは、イントラ符号化されたスライスである。この技術により、ネットワーク輻輳などでストリームの一部が消失した場合でも、その影響を受けずに、受信側で正しく復号できるようになる。すなわち、上述したIスライスの循環により、ネットワーク輻輳などで生じるエラーがインター符号化で次以降のピクチャの復号に影響することを止めることができる。
図23は、MPEG−2規格のスライス分割方法を用いた場合におけるスライスとブロックとの関係を説明する図である。図23に示すピクチャ(1フレーム)は、複数のブロックで構成されている。また、ピクチャを構成するブロックの中で、同じ行のブロックは1つのスライスを構成している。
図24は、ピクチャにおける複数のブロックの符号化順を説明するための図である。この図23に示すピクチャにおけるブロックは、図24で示す順序、すなわち、ピクチャ内において、スライス単位内では左から右へ、かつ、スライス単位で上から下への順序で符号化される。このような符号化順序によりピクチャにおけるブロックを符号化して、ストリームが生成される。
しかしながら、一般に、動画像すなわち連続する複数のピクチャを高圧縮率でインター符号化する場合、連続する複数のピクチャの中のうちのいずれかのピクチャが符号化歪の大きいピクチャのとき、そのピクチャの符号化順で後のピクチャは、その符号化歪の大きいピクチャとの画面間相関を利用した圧縮を行うことになる。そのため、その後のピクチャの符号化歪も大きくなってしまうので、特に動きの少ない動画像では視覚的に符号化歪が目立つようになる。
そこで、本発明は、上記問題点に鑑みてなされたものであり、特にネットワーク輻輳などの影響によるストリームの消失が少ない場合に、画面間相関を利用したインター符号化の符号化歪を小さくする動画像符号化方法および動画像符号化装置を実現することを目的とする。
上記の課題を解決するために、本発明に係る動画像符号化装置は、動画像信号における時間順に連続する複数のピクチャを、量子化ステップを用いてブロック単位で量子化して符号化する動画像符号化装置であって、前記動画像信号に基づいて、量子化ステップと当該量子化ステップよりも小さいステップ幅の小量子化ステップとを導出する量子化ステップ導出部と、前記小量子化ステップを用いて量子化されるべき1以上のブロックによって構成される第1ブロック群の、当該ピクチャ内における位置を決定する位置決定部と、前記位置決定部が決定した前記位置における前記第1ブロック群を、前記小量子化ステップを用いて量子化し、前記ピクチャに含まれる前記位置以外の1以上のブロックによって構成される第2ブロック群を、前記量子化ステップを用いて量子化して符号化する符号化部とを備え、前記位置決定部は、前記時間順に連続する複数のピクチャの中のうち時間順に連続する一定数のピクチャ毎において、当該複数のピクチャ内における前記第1ブロック群の位置が符号化順方向で循環するように、当該複数のピクチャそれぞれのピクチャ内における前記第1ブロック群の位置を決定することを特徴とする。
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したりすることもできる。また、本発明は、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
本発明によれば、画面間相関を利用したインター符号化の符号化歪を小さくする動画像符号化方法および動画像符号化装置を実現することができる。
具体的には、小さい量子化ステップで符号化するスライスまたはブロックをピクチャに配置し、連続するピクチャにおけるピクチャ内でのその位置を符号化順に移動させることで、小さい量子化ステップで符号化するスライスまたはブロックを一定周期で循環させる。それにより、一定周期となる連続するピクチャで、ピクチャを構成する全てのスライスまたはブロックの位置で符号化歪の小さいインター符号化が行われることになる。
ここで、下記1)2)であるため、動きの少ないブロックでの符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる効果を奏する。
1)動画像の動きの少ないブロックでは、画素相関を利用するピクチャ(参照ピクチャ)の符号化歪が小さいほど、インター符号化の圧縮率が向上し、符号化歪も小さくなる。従って、小さい量子化ステップで符号化を行うことで、それを参照して符号化するピクチャの符号化歪も小さくなる。
2)動きの少ないブロックでは、動きの大きなブロックよりも、画像を目で追従しやすいので符号化歪が目立ちやすい。
さらに、連続するピクチャにおいて、それぞれのピクチャを構成する一部のブロックの量子化ステップのみを小さくすることで、それぞれのピクチャを符号化した際のビット数もほぼ一定とすることができるので、一定のビットレートのネットワークで伝送することが可能となる。
なお、ピクチャ内で量子化ステップがほぼ一様でないと符号化歪が目立ちやすいが、本発明ではその問題も回避できる。これは下記の理由による。
1)小さい量子化ステップで符号化するスライス位置は循環しており、ピクチャ全体が必ず小さい量子化ステップで符号化される機会がある。
2)インター符号化で小さな量子化ステップを参照した符号化では、量子化ステップが小さくなくても符号化歪が目立たないことが多い。なお、これは、一般に画像は動きが小さいほどインター符号化の符号化歪は参照画像の符号化歪と同じくらい小さくなり、動きが大きい場合はピクチャで同じ量子化ステップでなくても画質劣化が目立ちにくいためである。
図1は、本発明の実施の形態1における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図2は、本発明の実施の形態1における効果を説明するための図である。
図3Aは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図3Bは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図4は、本発明の実施の形態1における動画像符号化装置の構成を示すブロック図である。
図5は、本発明の実施の形態1における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図6は、本発明の実施の形態2における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図7は、本発明の実施の形態3における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図8は、本発明の実施の形態4における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。
図9は、本発明の実施の形態4における動画像符号化装置の構成を示すブロック図である。
図10は、本発明の実施の形態4における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図11は、本発明の実施の形態5における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。
図12は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入の別の例を示す図である。
図13は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図14は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図15は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図16Aは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスの挿入例を説明するための図である。
図16Bは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスまたは小QPスライスの挿入例を説明するための図である。
図17は、本発明の実施の形態6における動画像符号化装置の構成を示すブロック図である。
図18は、本発明の実施の形態6における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図19は、本発明の実施の形態7における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図20は、本発明の実施の形態8における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図21Aは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図21Bは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図21Cは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図22は、時間順に連続するピクチャへのIスライス挿入例を示す図である。
図23は、MPEG−2のスライスとブロックの関係の説明図である。
図24は、ピクチャにおけるブロックの符号化順の説明図である。
以下、本発明の実施の形態について、図を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図1に示すように、ピクチャNからピクチャN+9は、この順で時間順に連続するピクチャであり、ピクチャ(1フレーム)は、複数のスライスで構成されている。ここでは、それぞれのピクチャは5つのスライスで構成されている。
ピクチャを構成するブロックの中で、斜線をつけたスライスは、量子化ステップが通常より小さくされたスライス(以下、小QPスライスと記載。)である。斜線のついていないその他のスライスは、量子化ステップが小さくされないすなわち通常の量子化ステップのスライス(以下、通常QPスライスと記載。)である。ここで、通常の量子化ステップとは、上述したように、動画像を符号化する場合に、1秒当たりのデータ量を示すビットレートが一定となるように、かつ、ピクチャ内で量子化ステップがほぼ一定となるように、通常通り導出された量子化ステップである。なお、小QPスライスの量子化ステップの大きさと、通常QPスライスの量子化ステップの大きさはピクチャ単位で異なってもよい。
このように、ピクチャにおける量子化ステップの大きさが、特定のスライスに対してではあるが、スライス単位で変更される。
図1に示すように、実施の形態1では、周期的にすなわち時間的に連続するピクチャにおけるピクチャに量子化ステップの小さい小QPスライスを含め、時間的に連続するピクチャ毎にピクチャ内での小QPスライスの位置を移動する。具体的には、小QPスライスの位置は、ピクチャNからピクチャN+4まで順番にピクチャ内での位置が1つずつ下に移動し、ピクチャN+4でピクチャ内での最下位置になる。ピクチャN+5では、小QPスライスを含まず通常QPスライスのみとなる。ピクチャN+6では、ピクチャ内での最上位置が小QPスライスの位置となる。このように、図1では、時間順に連続する一定数のピクチャ毎にピクチャ内の小QPスライスの位置が移動する。
ここで、図1に示すように、時間順に連続するピクチャにおいて、ピクチャ内のブロックの符号化順序で、小QPスライスと次の小QPスライスとの間に含まれるスライスの個数(すなわちブロック数)は一定値である。なお、ここで符号化順序とは、図19で示したピクチャにおけるブロックの符号化順である。
ところで、世の中の動画像では、TV会議、コンサートおよび監視カメラなどはもとより、ムービーおよび風景の撮影でも、動画像の全領域内で動きの多い部分は少ない。すなわち、世の中の動画像信号の大部分は、一部の領域のみ動いているか全領域でも殆ど動きのない動画像信号になる場合が殆どである。また、動きのない領域では、ピクチャ間の相関が非常に高く、参照ピクチャと符号化対象ピクチャとの差は殆どない。差が殆どない場合には、差を符号化しなくても符号化歪が大きくならないことになる。
従って、インター符号化では、動きが殆どない領域で参照ピクチャと符号化対象ピクチャとの差を符号化する場合、参照ピクチャの符号化歪が小さければピクチャ間の差の符号化が不要である。そのため、符号化対象ピクチャの量子化ステップが大きくても符号化対象ピクチャの符号化歪は小さくなる。
図2は、本発明の実施の形態1における効果を説明するための図である。
小さい量子化ステップ(以下、小量子化ステップと記載。)で量子化した斜線で示す小QPスライスの符号化歪は通常の量子化ステップ(以下、通常量子化ステップと記載。)で量子化した通常QPスライスよりも小さい。言い換えると、小QPスライスの予測符号化した場合には、通常QPスライスの予測符号化した場合に比べて、原画像との差分がより小さい復号画像を再生することができる。さらに、後続の画像が復号画像を参照して通常QPスライスとして符号化される場合には、原画像と復号画像との差分が後続の画像の復号画像にも残存する。
従って、小QPスライスを参照して符号化する通常QPスライスは、動きが殆どない領域では、量子化ステップが通常の大きさであっても、通常QPスライスを参照して符号化する通常QPスライスよりも参照ピクチャにおける符号化歪の影響が小さいので符号化歪が小さくなる。
このような理由から、小QPスライスを参照して符号化すると、通常QPスライスの符号化歪は小さくなる。符号化歪の小さくなった通常QPスライスを参照して符号化するさらに後続の画像の通常QPスライスは、量子化ステップが通常の大きさでも、符号化歪の小さくなっていない通常QPスライスを参照して符号化するさらに後続の画像の通常QPスライスよりも符号化歪は小さくなる。
従って、図2に示すように、時間順に連続するピクチャにおいて、ある時点のピクチャで小QPスライスとされた位置のスライスは、後に続くピクチャでも、符号化歪が小さくなる。つまり、時間順に連続するピクチャにおけるピクチャに小QPスライスを配置し、ピクチャ内でのその位置を、連続するピクチャで符号化順に移動させることで、ピクチャ内での小QPスライスの位置を一定周期で循環させる。それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになる。
このように、動きが小さい、もしくは動きが殆どない動画像では、上記のようにすることで、符号化歪を小さくすることができ、視覚的にも符号化歪が目立たなくなる。
図3Aおよび図3Bは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図3Aは、図1で示されるピクチャを構成するスライスを上記の符号化順に符号化する際に、発生するビット数を示している。ここで、図3Aでは、横軸に符号化順序(時刻)、縦軸にビット数の大きさを示している。
小QPスライスの圧縮率は、他の通常QPスライスの圧縮率より低い。そのため、符号化する場合、小QPスライスのビット数の大きさは、通常QPスライスのビット数よりも大きくなる。
このように符号化したスライスを、スライス単位で一定のビットレートで伝送する際には、量子化ステップの小さな小QPスライスは、他の通常QPスライスよりも符号化したデータの伝送に時間がかかることになる。
図3Bは、図3Aの符号化データを一定のビットレートで伝送する際の伝送を、横軸に時間軸で記載して図示したものである。図3Bは、時間順に連続する複数のピクチャを符号化し、これらピクチャを符号化順に一定のビットレートで伝送している様子を示している。
図3Aおよび図3Bに示すように、ピクチャN+4、ピクチャN+5およびピクチャN+6の間でも、小QPスライスとその次の小QPスライスとの間の通常QPスライスは5個と固定である。すなわち、ストリームをスライス単位でネットワーク伝送する場合に、ビット数の大きな小QPスライスが2回連続することがないようにされている。それにより、ネットワーク伝送するビット数が平準化されている。具体的には、図3Bにおける区間A〜区間Eに示されるように、いずれの区間での6個のスライス、すなわちどの連続する6個のスライスにも、1つの小QPスライスと5つの通常QPスライスとが含まれている。
従って、小QPスライスとその次の小QPスライスに含まれるスライスの個数が一定のため、ネットワーク伝送するビット数が平準化される。すなわち、スライスのビット数の変換の仕方が周期的で、各ピクチャがほぼ一定の時間で伝送する制御が容易であることがわかる。
なお、このようなビット数が平準化される効果は、図1、図2において、画像の1番下のスライスを小QPスライスにしたピクチャ(ピクチャN+4)の次のピクチャを、どのスライスの小QPスライスとしないピクチャ(ピクチャN+5)としたことによるものである。仮に、ビット数の平準化を図らないのであれば、どのスライスの小QPスライスとしないピクチャを挿入する必要はない(後述の実施の形態3を参照のこと)。
次に、上述を実現する機能構成を備える動画像符号化装置について説明する。
図4は、本発明の実施の形態1における動画像符号化装置の構成を示すブロック図である。
動画像符号化装置100は、行数カウンタ部102と、量子化ステップを通常よりも小さく(小量子化ステップに)するスライス位置を決定する小QP位置決定部104と、通常量子化ステップを導出するQP導出部106と、通常量子化ステップを補正するQP補正部108と、ビデオ・エンコーダ110とを備える。
行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を計測する。
小QP位置決定部104は、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを通常通りの大きさにする(通常量子化ステップ)か、通常よりも小さくする(小量子化ステップ)かを決定する。
QP導出部106は、ビデオ・エンコーダ110が過去に符号化したスライスのビット数に基づき、ビデオ・エンコーダ110が符号化対象とするスライスの通常量子化ステップを導出する。ここで導出される量子化ステップにより符号化されるスライスは、上記でいう通常QPスライスとなる。
なお、通常量子化ステップを導出する場合、一般に、実際に符号化された際に発生したビット数が伝送ビットレートよりも多い場合は、量子化ステップをやや大きくして導出する。反対に、実際に符号化された際に発生したビット数が伝送ビットレートよりも少ない場合は、量子化ステップをやや小さくして導出する。
QP導出部106は、上記のようにすることで、伝送ビットレートとビデオ・エンコーダ110が符号化対象のスライスを符号化する際に発生するビット数とが一致するように微調整をしながら通常量子化ステップを導出する。
なお、量子化ステップは、スライス単位で変更されても、ブロック単位で変更されてもよい。
QP補正部108は、小QP位置決定部104が、量子化ステップを通常(通常量子化ステップ)より小さくすべき小QPスライスであると判定した場合は、QP導出部106で導出した通常量子化ステップを小さくする補正を行う。QP補正部108は、補正して小さくした小量子化ステップで符号化対象のスライスを符号化するようビデオ・エンコーダ110に通知する。
また、QP補正部108は、小QP位置決定部104が、通常量子化ステップより小さくすべき小QPスライスではないと判定する場合は、QP導出部106で導出した通常量子化ステップで符号化対象のスライスを符号化するようビデオ・エンコーダ110に通知する。
なお、ここではQP導出部106で導出した通常量子化ステップが補正され小さくされる度合いは、固定値であるとしている。例えば通常量子化ステップの値から定数を減算したり、通常量子化ステップの値に定数を乗算したりする方法が実装容易である。
また、補正した小量子化ステップが小さくなりすぎないように、すなわちQP補正部108で補正した小量子化ステップが所定値未満とならないように所定の最小値でクロップする方法も有効である。もちろん、上記の方法に加えて適用してもよい。
ビデオ・エンコーダ110は、QP補正部108から通知される量子化ステップを用いて、ブロック単位で入力画像VINを符号化(イントラ符号化またはインター符号化)する。
また、ビデオ・エンコーダ110は、符号化した入力画像VINをストリームSTRとしてパケット化部300に出力する。
なお、パケット化部300は、ストリームSTRをネットワークの伝送に適した形式に変換する。パケット化部300は、例えば、ストリームSTRをスライス単位で1つのネットワーク伝送単位に変換する。このとき、パケット化部300は、ストリームSTRを1つのスライスを複数のネットワーク伝送単位に変換してもよい。
以上のように、動画像符号化装置100は構成される。
次に、以上のように構成される動画像符号化装置100が行う符号化処理について説明する。
なお、QP導出部106で導出した通常量子化ステップは、数スライス単位もしくはピクチャ単位でビット数が一定となるように通常量子化ステップを導出するのがよい。これは、QP補正部108で小量子化ステップに補正したスライスで多いビット数が発生したとしても、その直後に符号化するスライスで急に通常量子化ステップを大きくして画質劣化が発生することを防止するためである。
図5は、本発明の実施の形態1における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を示す値であるカウンタLを0で初期化する(S102)。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップにするか、小量子化ステップにするかを決定する。
具体的には、まず、小QP位置決定部104は、カウンタLが0以下であるかどうかを判定する(S104)。
次に、小QP位置決定部104は、カウンタLが0以下である場合(S104のはいの場合)、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップよりも小さな小量子化ステップに決定する。ビデオ・エンコーダ110は、小QP位置決定部104により決定された小量子化ステップを用いて符号化対象とするスライスを符号化する(S106)。
ビデオ・エンコーダ110が、小QP位置決定部104により決定された小量子化ステップを用いて符号化した場合、行数カウンタ部102は、カウンタLに連続するピクチャにおける小QPスライス挿入間隔を代入する(S108)。ここで、小QPスライス挿入間隔とは、時間的に連続するピクチャ内または間における小QPスライスとその次の小QPスライスとの間に挿入される通常QPスライスの行数の値(総数)である。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S114)。
なお、小QP位置決定部104は、カウンタLが0より大きい場合(S104のいいえの場合)、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップのままであると決定する。ビデオ・エンコーダ110は、小QP位置決定部104により決定された通常量子化ステップを用いて符号化対象とするスライスを符号化する(S110)。
ビデオ・エンコーダ110が、小QP位置決定部104により決定された通常量子化ステップを用いて符号化した場合は、行数カウンタ部102は、カウンタLから、ビデオ・エンコーダ110が符号化した通常QPスライスの行数を減算する(S112)。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S114)。完了していない場合には(S114のいいえの場合)、S104〜S114の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態1における動画像符号化装置100は、符号化処理を行い、連続するピクチャにおける小QPスライスとその次の小QPスライスとの間に、一定数のスライスを挿入することができる。
上述したように、動きが小さいもしくは動きが殆どない動画像では、動きの大きな動画像よりも、画像を目で追従しやすいので符号化歪が目立ちやすい。しかし、動きが小さいもしくは動きが殆どない動画像でも、画素相関を利用するのに用いるスライス(参照スライス)の符号化歪が小さいほど、符号化歪も小さくなる。
従って、実施の形態1によれば通常よりも小さい量子化ステップで符号化する小QPスライスを、時間順に連続するピクチャにおけるピクチャ内に配置し、ピクチャ内でのその位置を、時間的に連続する一定数のピクチャ毎に符号化順で移動させることで、ピクチャ内での小QPスライスの位置を一定周期で循環させる。それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになるので、動きが小さいもしくは動きが殆どない動画像での符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる。
また、各ピクチャにおいて、ピクチャ内の一部のスライスにおける量子化ステップのみを小さくすることで、各ピクチャを符号化したビット数もほぼ一定となり、一定のビットレートのネットワークで伝送することが可能となる。
なお、通常量子化ステップから小量子化ステップへと補正する度合いは、固定値であるとして説明したがそれに限らない。例えば、小量子化ステップの値を予め決めていてもよく、導出される通常量子化ステップの値を半分にした値を小量子化ステップとしてもよい。また、さらに、小量子化ステップの値を、ビットレートに合わせて可変としてもよい。
(実施の形態2)
次に、実施の形態2について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
図6は、本発明の実施の形態2における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図6では、図1に示した場合と異なり、量子化ステップが通常より小さな小QPスライスを含まないピクチャが定期的(周期的)に挿入されている。具体的には、図6に示す例では、時間順に連続する一定周期のピクチャ(ピクチャN〜ピクチャN+10)において、図1に示した場合(図1ではピクチャN〜ピクチャN+5)に加えて、小QPスライスを含まないピクチャが1つおきに挿入されている。従って、図6に示すように、時間順に連続する一定周期のピクチャにおいて、小QPスライスを含まないピクチャが、ピクチャN+1、ピクチャN+3、ピクチャN+5、ピクチャN+7、ピクチャN+9およびピクチャN+10として、挿入されている。
通常QPスライスからなるピクチャに小QPスライスを導入すると、通常QPスライスのみからなるピクチャに比べわずかではあるがビット数は大きくなる。そのため、低ビットレートでの伝送が必要な場合は、周期的に小QPスライスを含まないピクチャ(通常QPのみからなるピクチャ)を挿入することで、複数フレーム単位での平均ビットレートの増加を抑えつつ、かつ小QPスライス導入による符号化歪を削減することができる効果が得られる。
ただし、周期的に小QPスライスを含まないピクチャを挿入する場合、小QPスライスが配置されるピクチャ内での位置が一巡りするまでのピクチャ数(ピクチャN〜ピクチャN+10の11ピクチャ)が、図1に示す場合のピクチャ数(ピクチャN〜ピクチャN+6の7ピクチャ)よりも多くなる。そのため、例えば動きが少ない動画像を復号化するとき、図6に示す場合と、図1に示す場合とを比べるとわかるように、ピクチャ全体の符号化歪が小さくなるまでの時間(一定周期)が長くなる。
(実施の形態3)
次に、実施の形態3について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
図7は、本発明の実施の形態3における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図7では、図1に示した場合と異なり、小QPスライスを含まないピクチャが挿入されない。すなわち、図7に示す例では、時間順に連続するピクチャ(ピクチャN〜ピクチャN+9)において、小QPスライスを含まないピクチャは挿入されず、全てのピクチャ(ピクチャN〜ピクチャN+9)に小QPスライスを含む。
従って、図7に示すピクチャN+4における小QPなスライス(ピクチャ最下位置)の符号化直後に、ピクチャN+5における小QPスライス(ピクチャ最上位置)の符号化が行われてネットワークに伝送されるため、ビット数の多いスライスが連続することになる。
実施の形態1のように符号化と伝送とをスライス単位で行うのではなく、ピクチャ単位でネットワークへの伝送を行う場合には、ピクチャ単位で一定のビット数となるようにするのが効率的である。
従って、ピクチャ単位でネットワークの伝送を行う場合は、図1のように小QPスライスの間隔を一定にするのではなく、図7に示すように時間順に連続するピクチャそれぞれに小QPスライスを含むように、動画像符号化装置100は量子化ステップの制御を行うとしてもよい。
(実施の形態4)
次に、実施の形態4について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
実施の形態1〜3では、動きが小さいもしくは動きが殆どない動画像でも視覚的に符号化歪を目立たなくするために、動画像符号化装置100がスライス単位で量子化ステップを通常よりも小さくする例を示した。実施の形態4では、スライス単位ではなく、ブロック単位で量子化ステップを通常よりも小さくする場合の例を示す。ブロック単位にすることで、スライスの大きさとは関係なく、量子化ステップを小さくするブロックの数を変えることができる。なお、スライス構造とは関係なく、各ピクチャにおいて通常の量子化ステップよりも小さくされた量子化ステップ(小量子化ステップ)を参照して符号化される一定数のブロック数からなるブロックを、以下、小QPブロックと記載する。
図8は、本発明の実施の形態4における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。ここで、斜線をつけた領域は、小QPブロックであり、その他のスライスまたは領域(ブロック)は、通常QPスライスまたは通常量子化ステップにより符号化される領域(ブロック)である。
小QPブロックの位置は、図8に示すように、時間順に連続するピクチャにおいて符号化順序の方向に移動する。すなわち、小QPブロックの位置は、ピクチャNから順番にピクチャ内での小QPブロックの大きさ(一定数のブロック数)毎に移動する。このように、小QPブロックの位置は、スライス構造とは無関係に移動する。小QPブロックは、例えばピクチャN+1に示すように2つのスライスをまたがっていてもよい。また、小QPブロックは、符号化順の方向に一定数のブロック数になっていればよいので、ピクチャN+5とピクチャN+6とに示されるように、2つのピクチャをまたがって位置していてもよい。
以上のように、スライス単位でなく、ブロック単位で量子化ステップを変更できる符号化装置の構成が実現できる場合には、実施の形態4のように、時間順に連続するピクチャにおいて、図8に示すように小QPブロックの位置が移動するのがよい。
次に、上記を実現する機能構成を備える動画像符号化装置について説明する。
図9は、本発明の実施の形態4における動画像符号化装置の構成を示すブロック図である。なお、図5と同様の要素には同一の符号を付しており、詳細な説明は省略する。
動画像符号化装置200は、ブロック数カウンタ部202と、量子化ステップを通常よりも小さく(小量子化ステップに)するブロック位置を決定する小QP位置決定部204と、通常量子化ステップを導出するQP導出部106と、通常量子化ステップを補正するQP補正部108と、ビデオ・エンコーダ110とを備える。
図9に示す動画像符号化装置200は、図4に示す動画像符号化装置100に対して小QP位置決定部104と、行数カウンタ部102との構成が異なる。
具体的には、動画像符号化装置200では、スライスを構成する行数ではなく、ブロック数をブロック数カウンタ部202で計測し、計測したブロック数によって小量子化ステップとするブロックを小QP位置決定部204で決定する。
その他の構成についても、量子化ステップをスライス単位ではなく、ブロック単位で変更する点を除けば、図5で上述したのと同様であるため、説明を省略する。
以上のように、動画像符号化装置200は構成される。
なお、QP導出部106で導出した通常量子化ステップは、数スライス単位もしくはピクチャ単位でビット数が一定となるように通常量子化ステップを導出するのがよい。これは、QP補正部108で小量子化ステップに補正したブロックで多いビット数が発生したとしても、その直後に符号化するブロックで急に通常量子化ステップを大きくして画質劣化が発生することを防止するためである。
次に、以上のように構成される動画像符号化装置200が行う符号化処理について説明する。
図10は、本発明の実施の形態4における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、ブロック数カウンタ部202は、ビデオ・エンコーダ110が符号化対象とするブロックにおけるブロック数を示す値であるカウンタBを0で初期化する(S202)。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップにするか、小量子化ステップにするかを決定する。
具体的には、まず、小QP位置決定部204は、カウンタBが0以下であるかどうかを判定する(S204)。
次に、小QP位置決定部204は、カウンタBが0以下である場合(S204のはいの場合)、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップよりも小さな小量子化ステップに決定する。ビデオ・エンコーダ110は、小QP位置決定部204により決定された小量子化ステップを用いて符号化対象とするブロックを符号化する(S206)。
ビデオ・エンコーダ110が、小QP位置決定部204により決定された小量子化ステップを用いて符号化した場合、ブロック数カウンタ部202は、カウンタBに連続するピクチャにおける小QPブロックの挿入間隔を代入する(S208)。ここで、小QPブロック挿入間隔とは、時間的に連続するピクチャ内または間における小QPブロックとその次の小QPブロックとの間に挿入されるブロック数の値(総数)である。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S214)。
なお、小QP位置決定部204は、カウンタBが0より大きい場合(S204のいいえの場合)、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップのままであると決定する。ビデオ・エンコーダ110は、小QP位置決定部204により決定された通常量子化ステップを用いて符号化対象とするピクチャのブロック符号化する(S210)。
ビデオ・エンコーダ110が、小QP位置決定部204により決定された通常量子化ステップを用いて符号化した場合は、ブロック数カウンタ部202は、カウンタBからビデオ・エンコーダ110が符号化したブロック数を減算する(S212)。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S214)。完了していない場合には(S214のいいえの場合)、S204〜S214の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態4における動画像符号化装置200は、符号化処理を行い、連続するピクチャにおける小QPブロックとその次の小QPブロックとの間に、一定数のブロックを挿入することができる。
(実施の形態5)
次に、実施の形態5について説明する。なお、実施の形態1〜4と同じ構成および同じ動作については説明を省略する。
図11は、本発明の実施の形態5における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。ここで、斜線をつけた領域は、小QPブロックである。また、実線で囲まれた領域は、スライスである。
上述の実施の形態1〜実施の形態4の説明では、ピクチャを構成するスライスは、行単位であった。しかし、ピクチャを構成するスライスは、図11に示すように、同ピクチャ内に複数行あってもよく、さらに行の途中にスライス境界があってもよい。また、ピクチャを構成するスライスの大きさは、符号化する画像の内容に応じて変更してもよい。
例えば、画像に細かな絵柄が多く圧縮が困難な場合は、ピクチャを構成するスライスに含まれるブロック数を小さくし、平坦な絵柄で圧縮が容易な場合はスライスに含まれるブロック数を大きくする。これにより、ピクチャを構成するスライスのビット数をほぼ一定とすることができる。
図12は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入の別の例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図1における小QPスライス挿入方法と図12における小QPスライス挿入方法との違いは、時間順に連続するピクチャのそれぞれに含まれる小QPスライスが1つではなく2つであることである。
図12は、符号化する時間順で、小QPスライスと次の小QPスライスとの間に、通常QPスライスが2つ入っているように、小QPスライスを配置している例である。この場合でも、時間順に連続するピクチャにおける小QPスライスとその次の小QPスライスとの間の通常QPスライス数を一定にすることで、ネットワーク伝送するビット数を平準化することができ、実施の形態1と同様の効果が得られる。
図13、図14および図15は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図13に示すように、時間順に連続するピクチャに含まれる2つの小QPスライスの位置は図12と違っていてもよい。図13は、時間順に連続するピクチャにおいて、小QPスライスの位置を1スライス分ずつ下へ移動させていき、ピクチャの一番下の位置に小QPスライスがあるピクチャの直後を、最上位置に小QPスライスがあるピクチャとしている例である。ネットワーク伝送するビット数をスライス単位で平準化するのではなく、ピクチャ単位で平準化する場合には、各ピクチャに2つずつ小QPスライスを含むこの構成が好ましい。
また、時間順に連続するピクチャのそれぞれに含まれるスライス数が5つでなくても、それぞれのピクチャに含まれる小QPスライスが1または2つでなくてもよい。例えば図14および図15に示すように、時間順に連続するピクチャのそれぞれに含まれるスライス数が6個で、それぞれのピクチャに含まれる小QPスライスが2つであってもよい。また上記同様に、図14および図15に示すように、小QPスライスの挿入される位置が違っていてもよい。
図14は、符号化する時間順で、小QPスライスと次の小QPスライスとの間にある、通常QPスライスの数が、2、3、2、3・・・となるように、小QPスライスを配置している例である。ネットワーク伝送するビット数を平準化することができ、実施の形態1と同様の効果が得られる。
図15は、時間順に連続するピクチャにおいて、小QPスライスの位置を1スライス分ずつ下へ移動させていき、ピクチャの一番下の位置に小QPスライスがあるピクチャの直後を、最上位置に小QPスライスがあるピクチャとしている例である。ネットワーク伝送するビット数をスライス単位で平準化するのではなく、ピクチャ単位で平準化する場合には、各ピクチャに2つずつ小QPスライスを含むこの構成が好ましい。
(実施の形態6)
次に、実施の形態6について説明する。
実施の形態1〜実施の形態5では、視覚的に符号化歪が目立たなくすることができる構成および方法、すなわち動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくすることができる構成および方法について説明した。しかし、ネットワークを介してストリームを伝送する際に、例えばネットワーク輻輳などでストリームの一部が消失してしまう場合がある。その場合には、まずネットワーク輻輳などにより生じるエラーが伝搬しないようにする(エラーを止める)必要がある。本実施の形態6では、例えばネットワーク輻輳などでストリームの一部が消失してしまう場合を考慮した構成および方法を説明する。
図16Aおよび図16Bは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスまたは小QPブロックの挿入例を説明するための図である。
以下、時間順に連続するピクチャにおいて、小QPスライスまたはIスライスなどの特定のスライスが1ピクチャの全ての位置に循環して配置される一定数のピクチャ数の単位を、スライス循環のピクチャ数単位と呼び、sGOPと記載する。例えば、sGOPは、図16Aおよび図16Bでは、時間順に連続するピクチャにおいて、ピクチャにおけるIスライスの位置が最上位置であるピクチャから、Iスライス位置が循環して、次に最上位置であるピクチャの1つ前のピクチャまでに要したピクチャ数となる。
図16Aに示すように、従来、時間的に連続するピクチャにおいて、それぞれのピクチャ内におけるIスライスの位置を循環させる技術がある。この技術では、Iピクチャでなく、Iスライスを循環させることにより、ネットワーク伝送するビット数を平準化する。このようにして、インター符号化を使用しないIスライスを挿入することでネットワーク輻輳などでストリームの一部が消失してしまうことで生じるエラーが、インター符号化で伝播することを止めることができる。
それに対して、本実施の形態6では、まずネットワーク輻輳などにより生じるエラーが伝搬しないようにして(エラーを止めて)から、動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくする。
すなわち、図16Bに示すように、時間順に連続するピクチャにおいて、最初のsGOP(スライス循環のピクチャ数単位)では、Iスライスを循環させ、その後、小QPスライスをsGOP毎に循環させる。
具体的には、時間的に連続するピクチャにおいて、ピクチャを例えば5行のスライスに分割し、その中の一つのスライスをIスライスとして、最初のsGOPにおいて5つのピクチャでIスライスの位置を循環させる。そして、次のピクチャはPスライス(通常QPスライス)のみのピクチャとする。次に、Iスライスの位置だった場所に小QPスライスを挿入し、小QPスライスをsGOP毎に循環させる。
このように、時間的に連続するピクチャにおいて、Iスライスまたは小QPスライスの位置をsGOP毎に循環させる。
つまり、以下のようにIスライスまたは小QPスライスの位置をsGOP毎に循環させる。
1)循環する特定のスライス位置には、Iスライスか、小QPスライス(Pスライス)のいずれかを含む。
2)Iスライスまたは小QPスライス(Pスライス)を挿入する位置は同じ規則である。
従って、通常のPスライスよりもビット数(データ)が多い、Iスライスと小QPスライスとが同じ周期で挿入されるので、ピクチャ単位のビット数の変動も周期的となり、ネットワーク伝送する場合の平均ビットレートの変動が少なくなる。
それにより、ネットワーク伝送する場合のデータ(ストリーム)のビットレートが一定となるので、送受信バッファが小さくてすみ、低遅延で伝送できる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少ないので、ネットワーク輻輳などで生じるデータの消失の影響が低減できる。
ネットワーク輻輳などによるデータ消失の有無は、ネットワーク通信部で検出できることが多いので、データ消失を検出した期間はIスライスのsGOPとし、データ消失を検出しない期間は小QPスライスのsGOPとするのが最も効率が良い。
次に、上述を実現する機能構成を備える動画像符号化装置について説明する。
図17は、本発明の実施の形態6における動画像符号化装置の構成を示すブロック図である。図4と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図17に示す動画像符号化装置150は、図4に示す動画像符号化装置100に対して、Iスライス・小QPスライス共通位置決定部154とI/Pスライス判定部155との構成が異なる。
Iスライス・小QPスライス共通位置決定部154は、Iスライスまたは小QPスライスにする位置を決定する。具体的には、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスにするまたはIスライスもしくは小QPスライスにするかを決定する。
I/Pスライス判定部155は、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスまたはPスライスとする判定を行う。
具体的には、I/Pスライス判定部155は、予め定められた時間間隔毎にまたは不定期にリフレッシュ要求を取得した場合に、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスとする判定を行う。ここで、リフレッシュ要求とは、イントラ符号化されたスライスの挿入要求すなわちIスライスの挿入要求である。このリフレッシュ要求は、例えばネットワーク伝送中にデータが消失した場合の画質劣化を修復するために、受信装置側より送信装置側である動画像符号化装置150に出力され、I/Pスライス判定部155が取得する。また、このリフレッシュ要求は、予め定めされた時間間隔毎にI/Pスライス判定部155に取得される。
なお、I/Pスライス判定部155は、リフレッシュ要求を取得した場合、ビデオ・エンコーダ110が符号化対象とするスライスにおいて、時間順に連続するピクチャのsGOP分(スライス循環のピクチャ数単位分)を、Iスライスとする判定を行う。また、この受信装置側は、動画像符号化装置150により符号化されたストリームを復号化する動画像復号化装置等である。
また、上記以外の場合には、I/Pスライス判定部155は、ビデオ・エンコーダ110が符号化対象とするスライスをPスライスとする判定を行う。
ビデオ・エンコーダ110は、I/Pスライス判定部155の判定に従い、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスまたはPスライスで符号化する。ここで、ビデオ・エンコーダ110は、符号化対象とするスライスをIスライスで符号化する際には、QP補正部108から通知される小量子化ステップではなくQP導出部106で導出した通常量子化ステップを用いて符号化する。それに対して、符号化対象とするスライスを小QPスライスで符号化する際には、QP補正部108から通知される小量子化ステップを用いて符号化する。
以上のように、動画像符号化装置150は構成される。
次に、以上のように構成される動画像符号化装置150が行う符号化処理について説明する。
図18は、本発明の実施の形態6における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を示す値であるカウンタLを0で初期化する(S302)。
次に、Iスライス・小QPスライス共通位置決定部154は、Iスライスまたは小QPスライスにする位置を決定する。言い換えると、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスにする、または、Iスライスもしくは小QPスライスにするかを決定する。
具体的には、まず、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0以下であるかどうかを判定する(S304)。
次に、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0以下である場合(S304のはいの場合)、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスで符号化するか否かを判定する(S305)。
具体的には、I/Pスライス判定部155は、予め定められた時間毎にまたは不定期にリフレッシュ要求を取得した場合、Iスライス・小QPスライス共通位置決定部154により決定され、ビデオ・エンコーダ110が符号化対象とするsGOPのスライスをIスライスとする判定を行う。それ以外の場合には、I/Pスライス判定部155は、Iスライス・小QPスライス共通位置決定部154により決定され、ビデオ・エンコーダ110が符号化対象とするスライスをPスライスとする判定を行う。
次に、符号化対象とするスライスがIスライスで符号化されると判定された場合(S305のはいの場合)、ビデオ・エンコーダ110は、QP導出部106で導出した通常量子化ステップを用いて、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスで符号化する(S307)。
一方、符号化対象とするスライスがIスライスで符号化されないと判定された場合(S305のいいえの場合)、ビデオ・エンコーダ110は、QP補正部108から通知される小量子化ステップを用いて符号化対象とするスライスを小QPスライスのPスライスで符号化する(S306)。
次に、ビデオ・エンコーダ110が、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスまたは小QPスライスで符号化した場合に、行数カウンタ部102は、カウンタLに連続するピクチャにおけるIスライス・小QPスライス共通挿入間隔を代入する(S308)。ここで、Iスライス・小QPスライス共通挿入間隔とは、時間的に連続するピクチャ内または間におけるIスライスまたは小QPスライスとその次のIスライスまたは小QPスライスとの間に挿入されるスライスの行数の値(総数)である。
次に、Iスライス・小QPスライス共通位置決定部154は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S314)。
なお、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0より大きい場合(S304のいいえの場合)、Iスライス・小QPスライス共通位置決定部154は、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスのPスライスにすると決定する。
次いで、ビデオ・エンコーダ110は、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスを通常量子化ステップを用いて通常QPスライスで符号化する(S310)。そして、行数カウンタ部102は、カウンタLから、ビデオ・エンコーダ110が符号化したスライス(通常QPスライス)の行数を減算する(S312)。
次に、Iスライス・小QPスライス共通位置決定部154は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S314)。完了していない場合には(S314のいいえの場合)、S304〜S314の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態6における動画像符号化装置150は、符号化処理を行い、連続するピクチャにおけるIスライスまたは小QPスライスとその次のIスライスまたは小QPスライスとの間に、一定数のスライスを挿入することができる。
以上、実施の形態6によれば、ネットワーク輻輳などにより生じるエラーが伝搬しないようにするとともに、視覚的に符号化歪が目立たなくなるように、動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくする動画像符号化装置150を実現することができる。
なお、実施の形態6では、sGOP毎に通常QPスライスのみを含むピクチャを挿入するという実施の形態1の例を組み合わせた場合の例を説明したがそれに限らない。実施の形態2〜実施の形態5のうちのいずれの方法と代替して組み合わせてもよい。
また、実施の形態6では、実装上容易であり好ましい例として、時間順に連続するピクチャに、小QPスライスとIスライスとを排他的に挿入する場合について説明したが、それに限られない。すなわち、時間順に連続するピクチャに、小QPスライスとIスライスとを同時に挿入しても構わない。その場合、同様に、小QPスライスは、実施の形態1〜実施の形態5で記載したように挿入して循環させ、かつ、Iスライスは、リフレッシュ要求があった後の最初のsGOPのみに挿入して循環させればよい。
また、実施の形態6では、時間順に連続するピクチャに、QPスライスまたはIスライスが循環する例について説明したが、それに限られない。スライスの替わりに複数の画素またはブロックからなるブロック群でもよい。その場合、小QPスライスを小QPブロックに、IスライスをIブロック(イントラ符号化されたブロック群)とすればよい。
さらに、ビデオ・エンコーダ110は、符号化対象とするスライスをIスライスで符号化する際には、QP補正部108から通知される小量子化ステップではなくQP導出部106で導出した通常量子化ステップを用いて符号化するとしたが、スライス単位のビット数の変動が多少許容できる用途においては、Iスライスも小量子化ステップで符号化して画質を向上させてもよい。
(実施の形態7)
次に、実施の形態7について説明する。
図19は、本発明の実施の形態7における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
実施の形態1〜実施の形態6では、小QPスライスと通常QPスライスとの大きさ(スライスを構成するブロック数または画素数)が等しい場合を主に説明したが、それに限られない。図19に示されるように、ピクチャに挿入される小QPスライスの大きさは、通常QPスライスよりも小さくてもよい。
このようにすることで、ブロックあたりのビット数の多い小QPスライスを構成するスライス単位でのビット数が少なくすることができる。
ここで、スライス単位でネットワーク伝送を行う場合は、通常QPスライスと小QPスライスとの、スライス当たりのビット数をほぼ同じにするのが好ましい。これは、上述のようにスライスを時間的にも空間的にも等間隔でネットワーク伝送を行えば、ビットレートをほぼ一定にすることができるからである。
以上のように、ネットワーク伝送するデータ(ストリーム)のビットレートを一定にすることができるので、送受信バッファが小さくでき、低遅延で伝送することができる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少ないので、ネットワーク輻輳によるデータの消失が低減できる。
(実施の形態8)
例えばインタレース画像に応じた画像信号には、フレームで構成されるピクチャが連続したものだけでなくフィールドで構成されるピクチャが連続したものもある。実施の形態1〜実施の形態6では、フレームで構成されているピクチャを例に挙げて説明したが、それに限らない。フィールドで構成されているピクチャでもよく、上述の方法を同様に適用すればよい。以下、その場合を実施の形態8として説明する。
図20は、本発明の実施の形態8における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
インタレース画像は、1枚の画像がトップフィールドとボトムフィールドとで構成される。図19に示すように、インタレース画像が例えばトップフィールドから開始される場合には、トップフィールドのみにIスライスまたは小QPスライスを挿入すればよい。
このように、片方のフィールドのみにIスライスを挿入してsGOPで循環させることにより、ネットワーク輻輳などにより発生するエラー伝搬を止めることができる。また、ビット数の多いIスライスと同じ間隔(周期)で小QPスライスが挿入されることで、ネットワーク伝送する場合の平均ビットレートの変動を抑えることができる。
それにより、ネットワーク伝送するデータ(ストリーム)のビットレートを一定にすることができるので、送受信バッファが小さくでき、低遅延で伝送することができる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少なくなるので、ネットワーク輻輳などによるデータの消失が低減できる。
なお、片方のフィールドとしてトップフィールドだけにIスライスまた小QPスライスを挿入する場合を例に挙げたがそれに限られない。ボトムフィールドだけにIスライスまた小QPスライスを挿入してもよい。
(実施の形態9)
次に、実施の形態9について説明する。
ここでは、上記各実施の形態で示した動画像符号化装置100、150または200を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにする。それにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図21A〜図21Cは、上記各実施の形態の動画像符号化装置100、150または200を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図21Bは、フレキシブルディスクの正面からみた外観、断面構造、およびフレキシブルディスクを示し、図21Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図21Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。動画像符号化装置100、150または200を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムを、フレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより動画像符号化装置100、150または200をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
以上、本発明によれば、小さい量子化ステップで符号化する小QPスライス(または小QPブロック)、時間順に連続するピクチャにおけるピクチャに配置し、ピクチャ内でのその位置を、連続するピクチャで符号化順に移動させることで、ピクチャ内での小QPスライス(または小QPブロック)の位置を一定周期で循環させる。
それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになるので、動きが小さいもしくは動きが殆どない動画像での符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる。
これは、ピクチャにおける所定の位置のスライスを、一旦、小QPスライスで符号化し、所定の位置のスライスの符号化歪を小さくすることで、その所定の位置のスライスが次に通常QPスライスで符号化されても符号化歪が大きくならない(画質が損なわれない)からである。これは、特に、インター符号化で残差の少ない画像(動きが少ない、もしくは画素が平行移動などの単純な動きしかしない)の符号化処理を行うときに効果を奏する。
また、各ピクチャにおいて、ピクチャ内の一部のスライスの量子化ステップのみを小さくすることで、各ピクチャを符号化したビット数もほぼ一定となり、一定のビットレートのネットワークで伝送することが可能となる。
さらに、本発明はスライス単位やブロック単位で量子化ステップを変化させる別の量子化方法と組み合わせて使用してもよい。その場合には、スライス単位やブロック単位で量子化ステップが多少増減するが、一定周期で相対的に量子化ステップの小さなスライス(小QPスライスまたは小QPブロック)の位置が循環する。
なお、小QPスライスまたは小QPブロックにおいて、小量子化ステップが小さくなりすぎないように、下記のような下限値処理が行われるのが好ましい。それにより、規格で許容される最小の量子化ステップの値より小さくなったり、視覚的に画質劣化がわからない程度の小さい量子化ステップになったりすることを防止することができる。
1)QP補正部108で補正された小量子化ステップの値を所定の最小値でクロップする。
2)QP導出部106で導出された量子化ステップの値が小さいほど、QP補正部108で補正される補正量を少なくする。
また、小QPスライスまたは小QPブロックにおいて、量子化ステップの下げ値幅は、以下のようにピクチャ単位の平均ビットレートに応じて変えるとしてもよい。ここで、量子化ステップの下げ値幅は、通常量子化ステップの値と小量子化ステップの値との差を意味している。
1)ピクチャ単位の平均ビットレートが高い場合には、画質を優先して、量子化ステップの下げ値幅を大きくする。
2)ピクチャ単位の平均ビットレートが低い場合には、量子化ステップの下げ値幅を小さくする。
これは、ピクチャ単位の平均ビットレートが高い場合には、ビット数が増えることよりも画質を優先させることができるからである。一方、ピクチャ単位の平均ビットレートが低い場合には、シーンチェンジなどで画像の圧縮の困難さが変わったとき、量子化ステップの値が小さくなるとビット数が増えるので、他の通常QPスライスでも吸収できないビット数になり、ピクチャ単位の平均ビットレートを一定にできない可能性が高いためである。
また、ブロック図(図1または図9)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。例えばメモリ以外の機能ブロックが1チップ化されていてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。また、各機能ブロックのうち、符号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としてもよい。
以上、本発明の動画像符号化方法および動画像符号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明は、動画像復号化装置に利用でき、特に、ネットワークを利用した動画像双方向通信や、動画像配信、監視カメラなど、動画像を符号化する通信機器やセット機器に利用することができる。
100、150、200 動画像符号化装置
102 行数カウンタ部
104、204 小QP位置決定部
106 QP導出部
108 QP補正部
110 ビデオ・エンコーダ
154 Iスライス・小QPスライス共通位置決定部
155 I/Pスライス判定部
202 ブロック数カウンタ部
300 パケット化部
本発明は動画像符号化方法および動画像符号化装置に関する。本発明は、特に、MPEG(Moving Picture Experts Group)−4方式で、または、ITU−T H.264方式にて画像信号をブロック単位で符号化する動画像符号化方法および動画像符号化装置に関する。
近年、音声、画像およびその他の画素値を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア、つまり新聞、雑誌、テレビ、ラジオおよび電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形または音声、特に画像等を同時に関連づけて表すことをいう。上記従来の情報メディアをマルチメディアの対象とするには、その情報をデジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアの持つ情報量をデジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトである。それに対し、音声の場合は、1秒当たり64Kbits(電話品質)、さらに動画の場合については、1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となる。それ故、上記情報メディアでその膨大な情報をデジタル形式でそのまま扱うことは現実的ではない。例えば、テレビ電話は、64Kbits/s〜1.5Mbits/sの伝送速度を持つサービス総合デジタル網(ISDN:Integrated Services Digital Network)によって実用化されている。しかし、テレビ・カメラの映像をそのままのデジタル情報量でISDNにて送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術である。例えば、テレビ電話の場合、ITU−T(国際電気通信連合 電気通信標準化部門)によって勧告されたH.261またはH.263規格の動画圧縮技術が用いられている。また、MPEG−1規格の情報圧縮技術では、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、ISO/IEC(国際標準化機構 国際電気標準会議)によって標準化された動画像信号圧縮の国際規格である。MPEG−1は、動画像信号を1.5Mbits/sまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG−1規格では、対象とする品質を中程度の品質、すなわち伝送速度が主として約1.5Mbits/sで実現できる程度の品質としたことから、さらに高画質化の要求をみたすべくMPEG−2が規格化されている。MPEG−2では、動画像信号を2〜15Mbits/sでTV(Television)放送品質を実現する。さらに、現状では、MPEG−1、MPEG−2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11)によって、MPEG−1、MPEG−2を上回る圧縮率を達成し、さらに物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG−4が規格化されている。MPEG−4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、インタレース画像も含む高ビットレートの符号化方法も含む、より汎用的な符号化に拡張されている。さらに、現在は、ISO/IECとITU−Tとによって共同で、より高圧縮率の画像符号化方式として、MPEG−4 AVCおよびITU−T H.264が規格化されている。
画像信号は同じ時刻の画素の集合であるピクチャ(フレームまたはフィールドとも呼ばれる)が連続したものであると考えることができる。画素は、ピクチャ内での近傍画素との相関が強いことから、ピクチャ内の画素の相関を利用した圧縮が行われる。また、連続するピクチャ間では、画素の相関も強いことから、ピクチャ間の画素の相関を利用した圧縮も行われる。ピクチャ間の画素の相関とピクチャ内の画素の相関を利用した圧縮をインター符号化、ピクチャ間の画素の相関を用いないがピクチャ内の画素の相関を利用した圧縮をイントラ符号化と呼ぶ。ピクチャ間の相関を利用しているため、インター符号化の方が、イントラ符号化よりも圧縮できる。MPEG−1、MPEG−2、MPEG−4、MPEG−4 AVCおよびH.264では、2次元の矩形領域の画素の集合であるブロック(もしくはマクロブロック)を構成し、ブロック単位でイントラ符号化とインター符号化とを切り替える。
イントラ符号化の場合は、ピクチャ内の画素ブロックもしくはピクチャ内の画素の相関を利用した予測誤差のブロックが構成される。インター符号化の場合は、ピクチャ間の相関を利用した予測誤差のブロックが構成される。そして、ピクチャを構成するこれらブロックに対してDCT(ディスクリート・コサイン変換)などの2次元直交変換が行われ、2次元直交変換されたブロックの周波数成分は所定の量子化ステップ(幅)で量子化される。量子化した結果、得られる量子化値は可変長符号化されて、例えばネットワークに伝送される。
なお、量子化する際、量子化ステップが大きいと画像符号化歪が大きくなるが高圧縮となり、量子化ステップが小さいと画像符号化歪が小さくなるが低圧縮となる。ここで、量子化ステップとは、量子化する際の量子化幅であり、どの程度細かく量子化を行うかを示す。
また、動画像を符号化する場合には、通常、1秒当たりのデータ量を示すビットレートが一定となるように、かつ、ピクチャ内で量子化ステップがほぼ一定となるように、量子化ステップを導出する。ビットレートを一定にするのは、符号化したストリームを伝送するネットワークの伝送ビットレートが一定のためである。これは、符号化歪がピクチャ内の位置(水平位置、垂直位置)によって符号化歪の大きさにばらつきがある場合、即ちピクチャ内で量子化ステップがほぼ一様でないと符号化歪が目立ちやすいためである。
このように、一般に、動画像を符号化する場合には、ピクチャ内で量子化ステップが一様となるように制御する。この制御には、符号化歪が一様となり、特定の箇所で符号化歪が目立ちにくいという長所がある。
一方、ネットワークにおいて、ADSLまたは光ファイバを用いた高速ネットワーク環境が普及し、一般家庭でも数Mbits/sを越えるビットレートでの送受信が可能となっている。また、今後数年で数十Mbits/sでの送受信が可能になる見込みである。そのため、上記の画像符号化技術を用いることで、専用回線を用いた企業だけでなく、一般家庭でもTV放送品質、HDTV品質、将来的にはスーパーHDTV品質のTV電話・TV会議システムの導入が進むと予想される。
ところで、ネットワークを介して符号化した画像データ、すなわちストリームを伝送する際には、ネットワーク輻輳などでストリームの一部が消失する可能性がある。ストリームの一部が消失した場合には、受信側で消失したストリームに対応する箇所の画像を正しく復号できないので、画質劣化が発生する。さらに、次ピクチャ以降も、消失したストリームに対応する箇所の画像を参照してインター符号化したストリーム復号も画質劣化が発生する。そこで、ブロックを複数まとめた符号化単位であるスライスが定義された。スライスは独立に符号化および復号処理が可能な最小単位であり、ストリームの一部が消失してもスライス単位で復号処理ができる。そのため、例えば、図22に示すように、ピクチャを例えば5行のスライスに分割し、その中の一つのスライスをIスライスとして、時間的に連続するピクチャにおいてピクチャ内のIスライスの位置を循環させる技術がある。ここで、Iスライスとは、イントラ符号化されたスライスである。この技術により、ネットワーク輻輳などでストリームの一部が消失した場合でも、その影響を受けずに、受信側で正しく復号できるようになる。すなわち、上述したIスライスの循環により、ネットワーク輻輳などで生じるエラーがインター符号化で次以降のピクチャの復号に影響することを止めることができる。
図23は、MPEG−2規格のスライス分割方法を用いた場合におけるスライスとブロックとの関係を説明する図である。図23に示すピクチャ(1フレーム)は、複数のブロックで構成されている。また、ピクチャを構成するブロックの中で、同じ行のブロックは1つのスライスを構成している。
図24は、ピクチャにおける複数のブロックの符号化順を説明するための図である。この図23に示すピクチャにおけるブロックは、図24で示す順序、すなわち、ピクチャ内において、スライス単位内では左から右へ、かつ、スライス単位で上から下への順序で符号化される。このような符号化順序によりピクチャにおけるブロックを符号化して、ストリームが生成される。
しかしながら、一般に、動画像すなわち連続する複数のピクチャを高圧縮率でインター符号化する場合、連続する複数のピクチャの中のうちのいずれかのピクチャが符号化歪の大きいピクチャのとき、そのピクチャの符号化順で後のピクチャは、その符号化歪の大きいピクチャとの画面間相関を利用した圧縮を行うことになる。そのため、その後のピクチャの符号化歪も大きくなってしまうので、特に動きの少ない動画像では視覚的に符号化歪が目立つようになる。
そこで、本発明は、上記問題点に鑑みてなされたものであり、特にネットワーク輻輳などの影響によるストリームの消失が少ない場合に、画面間相関を利用したインター符号化の符号化歪を小さくする動画像符号化方法および動画像符号化装置を実現することを目的とする。
上記の課題を解決するために、本発明に係る動画像符号化装置は、動画像信号における時間順に連続する複数のピクチャを、量子化ステップを用いてブロック単位で量子化して符号化する動画像符号化装置であって、前記動画像信号に基づいて、量子化ステップと当該量子化ステップよりも小さいステップ幅の小量子化ステップとを導出する量子化ステップ導出部と、前記小量子化ステップを用いて量子化されるべき1以上のブロックによって構成される第1ブロック群の、当該ピクチャ内における位置を決定する位置決定部と、前記位置決定部が決定した前記位置における前記第1ブロック群を、前記小量子化ステップを用いて量子化し、前記ピクチャに含まれる前記位置以外の1以上のブロックによって構成される第2ブロック群を、前記量子化ステップを用いて量子化して符号化する符号化部とを備え、前記位置決定部は、前記時間順に連続する複数のピクチャの中のうち時間順に連続する一定数のピクチャ毎において、当該複数のピクチャ内における前記第1ブロック群の位置が符号化順方向で循環するように、当該複数のピクチャそれぞれのピクチャ内における前記第1ブロック群の位置を決定することを特徴とする。
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したりすることもできる。また、本発明は、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
本発明によれば、画面間相関を利用したインター符号化の符号化歪を小さくする動画像符号化方法および動画像符号化装置を実現することができる。
具体的には、小さい量子化ステップで符号化するスライスまたはブロックをピクチャに配置し、連続するピクチャにおけるピクチャ内でのその位置を符号化順に移動させることで、小さい量子化ステップで符号化するスライスまたはブロックを一定周期で循環させる。それにより、一定周期となる連続するピクチャで、ピクチャを構成する全てのスライスまたはブロックの位置で符号化歪の小さいインター符号化が行われることになる。
ここで、下記1)2)であるため、動きの少ないブロックでの符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる効果を奏する。
1)動画像の動きの少ないブロックでは、画素相関を利用するピクチャ(参照ピクチャ)の符号化歪が小さいほど、インター符号化の圧縮率が向上し、符号化歪も小さくなる。従って、小さい量子化ステップで符号化を行うことで、それを参照して符号化するピクチャの符号化歪も小さくなる。
2)動きの少ないブロックでは、動きの大きなブロックよりも、画像を目で追従しやすいので符号化歪が目立ちやすい。
さらに、連続するピクチャにおいて、それぞれのピクチャを構成する一部のブロックの量子化ステップのみを小さくすることで、それぞれのピクチャを符号化した際のビット数もほぼ一定とすることができるので、一定のビットレートのネットワークで伝送することが可能となる。
なお、ピクチャ内で量子化ステップがほぼ一様でないと符号化歪が目立ちやすいが、本発明ではその問題も回避できる。これは下記の理由による。
1)小さい量子化ステップで符号化するスライス位置は循環しており、ピクチャ全体が必ず小さい量子化ステップで符号化される機会がある。
2)インター符号化で小さな量子化ステップを参照した符号化では、量子化ステップが小さくなくても符号化歪が目立たないことが多い。なお、これは、一般に画像は動きが小さいほどインター符号化の符号化歪は参照画像の符号化歪と同じくらい小さくなり、動きが大きい場合はピクチャで同じ量子化ステップでなくても画質劣化が目立ちにくいためである。
図1は、本発明の実施の形態1における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図2は、本発明の実施の形態1における効果を説明するための図である。
図3Aは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図3Bは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図4は、本発明の実施の形態1における動画像符号化装置の構成を示すブロック図である。
図5は、本発明の実施の形態1における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図6は、本発明の実施の形態2における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図7は、本発明の実施の形態3における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図8は、本発明の実施の形態4における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。
図9は、本発明の実施の形態4における動画像符号化装置の構成を示すブロック図である。
図10は、本発明の実施の形態4における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図11は、本発明の実施の形態5における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。
図12は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入の別の例を示す図である。
図13は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図14は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図15は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図16Aは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスの挿入例を説明するための図である。
図16Bは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスまたは小QPスライスの挿入例を説明するための図である。
図17は、本発明の実施の形態6における動画像符号化装置の構成を示すブロック図である。
図18は、本発明の実施の形態6における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
図19は、本発明の実施の形態7における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図20は、本発明の実施の形態8における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図21Aは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図21Bは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図21Cは、上記各実施の形態の動画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図22は、時間順に連続するピクチャへのIスライス挿入例を示す図である。
図23は、MPEG−2のスライスとブロックの関係の説明図である。
図24は、ピクチャにおけるブロックの符号化順の説明図である。
以下、本発明の実施の形態について、図を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
図1に示すように、ピクチャNからピクチャN+9は、この順で時間順に連続するピクチャであり、ピクチャ(1フレーム)は、複数のスライスで構成されている。ここでは、それぞれのピクチャは5つのスライスで構成されている。
ピクチャを構成するブロックの中で、斜線をつけたスライスは、量子化ステップが通常より小さくされたスライス(以下、小QPスライスと記載。)である。斜線のついていないその他のスライスは、量子化ステップが小さくされないすなわち通常の量子化ステップのスライス(以下、通常QPスライスと記載。)である。ここで、通常の量子化ステップとは、上述したように、動画像を符号化する場合に、1秒当たりのデータ量を示すビットレートが一定となるように、かつ、ピクチャ内で量子化ステップがほぼ一定となるように、通常通り導出された量子化ステップである。なお、小QPスライスの量子化ステップの大きさと、通常QPスライスの量子化ステップの大きさはピクチャ単位で異なってもよい。
このように、ピクチャにおける量子化ステップの大きさが、特定のスライスに対してではあるが、スライス単位で変更される。
図1に示すように、実施の形態1では、周期的にすなわち時間的に連続するピクチャにおけるピクチャに量子化ステップの小さい小QPスライスを含め、時間的に連続するピクチャ毎にピクチャ内での小QPスライスの位置を移動する。具体的には、小QPスライスの位置は、ピクチャNからピクチャN+4まで順番にピクチャ内での位置が1つずつ下に移動し、ピクチャN+4でピクチャ内での最下位置になる。ピクチャN+5では、小QPスライスを含まず通常QPスライスのみとなる。ピクチャN+6では、ピクチャ内での最上位置が小QPスライスの位置となる。このように、図1では、時間順に連続する一定数のピクチャ毎にピクチャ内の小QPスライスの位置が移動する。
ここで、図1に示すように、時間順に連続するピクチャにおいて、ピクチャ内のブロックの符号化順序で、小QPスライスと次の小QPスライスとの間に含まれるスライスの個数(すなわちブロック数)は一定値である。なお、ここで符号化順序とは、図19で示したピクチャにおけるブロックの符号化順である。
ところで、世の中の動画像では、TV会議、コンサートおよび監視カメラなどはもとより、ムービーおよび風景の撮影でも、動画像の全領域内で動きの多い部分は少ない。すなわち、世の中の動画像信号の大部分は、一部の領域のみ動いているか全領域でも殆ど動きのない動画像信号になる場合が殆どである。また、動きのない領域では、ピクチャ間の相関が非常に高く、参照ピクチャと符号化対象ピクチャとの差は殆どない。差が殆どない場合には、差を符号化しなくても符号化歪が大きくならないことになる。
従って、インター符号化では、動きが殆どない領域で参照ピクチャと符号化対象ピクチャとの差を符号化する場合、参照ピクチャの符号化歪が小さければピクチャ間の差の符号化が不要である。そのため、符号化対象ピクチャの量子化ステップが大きくても符号化対象ピクチャの符号化歪は小さくなる。
図2は、本発明の実施の形態1における効果を説明するための図である。
小さい量子化ステップ(以下、小量子化ステップと記載。)で量子化した斜線で示す小QPスライスの符号化歪は通常の量子化ステップ(以下、通常量子化ステップと記載。)で量子化した通常QPスライスよりも小さい。言い換えると、小QPスライスの予測符号化した場合には、通常QPスライスの予測符号化した場合に比べて、原画像との差分がより小さい復号画像を再生することができる。さらに、後続の画像が復号画像を参照して通常QPスライスとして符号化される場合には、原画像と復号画像との差分が後続の画像の復号画像にも残存する。
従って、小QPスライスを参照して符号化する通常QPスライスは、動きが殆どない領域では、量子化ステップが通常の大きさであっても、通常QPスライスを参照して符号化する通常QPスライスよりも参照ピクチャにおける符号化歪の影響が小さいので符号化歪が小さくなる。
このような理由から、小QPスライスを参照して符号化すると、通常QPスライスの符号化歪は小さくなる。符号化歪の小さくなった通常QPスライスを参照して符号化するさらに後続の画像の通常QPスライスは、量子化ステップが通常の大きさでも、符号化歪の小さくなっていない通常QPスライスを参照して符号化するさらに後続の画像の通常QPスライスよりも符号化歪は小さくなる。
従って、図2に示すように、時間順に連続するピクチャにおいて、ある時点のピクチャで小QPスライスとされた位置のスライスは、後に続くピクチャでも、符号化歪が小さくなる。つまり、時間順に連続するピクチャにおけるピクチャに小QPスライスを配置し、ピクチャ内でのその位置を、連続するピクチャで符号化順に移動させることで、ピクチャ内での小QPスライスの位置を一定周期で循環させる。それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになる。
このように、動きが小さい、もしくは動きが殆どない動画像では、上記のようにすることで、符号化歪を小さくすることができ、視覚的にも符号化歪が目立たなくなる。
図3Aおよび図3Bは、本発明の実施の形態1における時間順に各スライスを符号化してストリームを送信する場合のビット数を示す図である。
図3Aは、図1で示されるピクチャを構成するスライスを上記の符号化順に符号化する際に、発生するビット数を示している。ここで、図3Aでは、横軸に符号化順序(時刻)、縦軸にビット数の大きさを示している。
小QPスライスの圧縮率は、他の通常QPスライスの圧縮率より低い。そのため、符号化する場合、小QPスライスのビット数の大きさは、通常QPスライスのビット数よりも大きくなる。
このように符号化したスライスを、スライス単位で一定のビットレートで伝送する際には、量子化ステップの小さな小QPスライスは、他の通常QPスライスよりも符号化したデータの伝送に時間がかかることになる。
図3Bは、図3Aの符号化データを一定のビットレートで伝送する際の伝送を、横軸に時間軸で記載して図示したものである。図3Bは、時間順に連続する複数のピクチャを符号化し、これらピクチャを符号化順に一定のビットレートで伝送している様子を示している。
図3Aおよび図3Bに示すように、ピクチャN+4、ピクチャN+5およびピクチャN+6の間でも、小QPスライスとその次の小QPスライスとの間の通常QPスライスは5個と固定である。すなわち、ストリームをスライス単位でネットワーク伝送する場合に、ビット数の大きな小QPスライスが2回連続することがないようにされている。それにより、ネットワーク伝送するビット数が平準化されている。具体的には、図3Bにおける区間A〜区間Eに示されるように、いずれの区間での6個のスライス、すなわちどの連続する6個のスライスにも、1つの小QPスライスと5つの通常QPスライスとが含まれている。
従って、小QPスライスとその次の小QPスライスに含まれるスライスの個数が一定のため、ネットワーク伝送するビット数が平準化される。すなわち、スライスのビット数の変換の仕方が周期的で、各ピクチャがほぼ一定の時間で伝送する制御が容易であることがわかる。
なお、このようなビット数が平準化される効果は、図1、図2において、画像の1番下のスライスを小QPスライスにしたピクチャ(ピクチャN+4)の次のピクチャを、どのスライスの小QPスライスとしないピクチャ(ピクチャN+5)としたことによるものである。仮に、ビット数の平準化を図らないのであれば、どのスライスの小QPスライスとしないピクチャを挿入する必要はない(後述の実施の形態3を参照のこと)。
次に、上述を実現する機能構成を備える動画像符号化装置について説明する。
図4は、本発明の実施の形態1における動画像符号化装置の構成を示すブロック図である。
動画像符号化装置100は、行数カウンタ部102と、量子化ステップを通常よりも小さく(小量子化ステップに)するスライス位置を決定する小QP位置決定部104と、通常量子化ステップを導出するQP導出部106と、通常量子化ステップを補正するQP補正部108と、ビデオ・エンコーダ110とを備える。
行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を計測する。
小QP位置決定部104は、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを通常通りの大きさにする(通常量子化ステップ)か、通常よりも小さくする(小量子化ステップ)かを決定する。
QP導出部106は、ビデオ・エンコーダ110が過去に符号化したスライスのビット数に基づき、ビデオ・エンコーダ110が符号化対象とするスライスの通常量子化ステップを導出する。ここで導出される量子化ステップにより符号化されるスライスは、上記でいう通常QPスライスとなる。
なお、通常量子化ステップを導出する場合、一般に、実際に符号化された際に発生したビット数が伝送ビットレートよりも多い場合は、量子化ステップをやや大きくして導出する。反対に、実際に符号化された際に発生したビット数が伝送ビットレートよりも少ない場合は、量子化ステップをやや小さくして導出する。
QP導出部106は、上記のようにすることで、伝送ビットレートとビデオ・エンコーダ110が符号化対象のスライスを符号化する際に発生するビット数とが一致するように微調整をしながら通常量子化ステップを導出する。
なお、量子化ステップは、スライス単位で変更されても、ブロック単位で変更されてもよい。
QP補正部108は、小QP位置決定部104が、量子化ステップを通常(通常量子化ステップ)より小さくすべき小QPスライスであると判定した場合は、QP導出部106で導出した通常量子化ステップを小さくする補正を行う。QP補正部108は、補正して小さくした小量子化ステップで符号化対象のスライスを符号化するようビデオ・エンコーダ110に通知する。
また、QP補正部108は、小QP位置決定部104が、通常量子化ステップより小さくすべき小QPスライスではないと判定する場合は、QP導出部106で導出した通常量子化ステップで符号化対象のスライスを符号化するようビデオ・エンコーダ110に通知する。
なお、ここではQP導出部106で導出した通常量子化ステップが補正され小さくされる度合いは、固定値であるとしている。例えば通常量子化ステップの値から定数を減算したり、通常量子化ステップの値に定数を乗算したりする方法が実装容易である。
また、補正した小量子化ステップが小さくなりすぎないように、すなわちQP補正部108で補正した小量子化ステップが所定値未満とならないように所定の最小値でクロップする方法も有効である。もちろん、上記の方法に加えて適用してもよい。
ビデオ・エンコーダ110は、QP補正部108から通知される量子化ステップを用いて、ブロック単位で入力画像VINを符号化(イントラ符号化またはインター符号化)する。
また、ビデオ・エンコーダ110は、符号化した入力画像VINをストリームSTRとしてパケット化部300に出力する。
なお、パケット化部300は、ストリームSTRをネットワークの伝送に適した形式に変換する。パケット化部300は、例えば、ストリームSTRをスライス単位で1つのネットワーク伝送単位に変換する。このとき、パケット化部300は、ストリームSTRを1つのスライスを複数のネットワーク伝送単位に変換してもよい。
以上のように、動画像符号化装置100は構成される。
次に、以上のように構成される動画像符号化装置100が行う符号化処理について説明する。
なお、QP導出部106で導出した通常量子化ステップは、数スライス単位もしくはピクチャ単位でビット数が一定となるように通常量子化ステップを導出するのがよい。これは、QP補正部108で小量子化ステップに補正したスライスで多いビット数が発生したとしても、その直後に符号化するスライスで急に通常量子化ステップを大きくして画質劣化が発生することを防止するためである。
図5は、本発明の実施の形態1における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を示す値であるカウンタLを0で初期化する(S102)。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップにするか、小量子化ステップにするかを決定する。
具体的には、まず、小QP位置決定部104は、カウンタLが0以下であるかどうかを判定する(S104)。
次に、小QP位置決定部104は、カウンタLが0以下である場合(S104のはいの場合)、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップよりも小さな小量子化ステップに決定する。ビデオ・エンコーダ110は、小QP位置決定部104により決定された小量子化ステップを用いて符号化対象とするスライスを符号化する(S106)。
ビデオ・エンコーダ110が、小QP位置決定部104により決定された小量子化ステップを用いて符号化した場合、行数カウンタ部102は、カウンタLに連続するピクチャにおける小QPスライス挿入間隔を代入する(S108)。ここで、小QPスライス挿入間隔とは、時間的に連続するピクチャ内または間における小QPスライスとその次の小QPスライスとの間に挿入される通常QPスライスの行数の値(総数)である。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S114)。
なお、小QP位置決定部104は、カウンタLが0より大きい場合(S104のいいえの場合)、ビデオ・エンコーダ110が符号化対象とするスライスを符号化する際の量子化ステップを、通常量子化ステップのままであると決定する。ビデオ・エンコーダ110は、小QP位置決定部104により決定された通常量子化ステップを用いて符号化対象とするスライスを符号化する(S110)。
ビデオ・エンコーダ110が、小QP位置決定部104により決定された通常量子化ステップを用いて符号化した場合は、行数カウンタ部102は、カウンタLから、ビデオ・エンコーダ110が符号化した通常QPスライスの行数を減算する(S112)。
次に、小QP位置決定部104は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S114)。完了していない場合には(S114のいいえの場合)、S104〜S114の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態1における動画像符号化装置100は、符号化処理を行い、連続するピクチャにおける小QPスライスとその次の小QPスライスとの間に、一定数のスライスを挿入することができる。
上述したように、動きが小さいもしくは動きが殆どない動画像では、動きの大きな動画像よりも、画像を目で追従しやすいので符号化歪が目立ちやすい。しかし、動きが小さいもしくは動きが殆どない動画像でも、画素相関を利用するのに用いるスライス(参照スライス)の符号化歪が小さいほど、符号化歪も小さくなる。
従って、実施の形態1によれば通常よりも小さい量子化ステップで符号化する小QPスライスを、時間順に連続するピクチャにおけるピクチャ内に配置し、ピクチャ内でのその位置を、時間的に連続する一定数のピクチャ毎に符号化順で移動させることで、ピクチャ内での小QPスライスの位置を一定周期で循環させる。それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになるので、動きが小さいもしくは動きが殆どない動画像での符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる。
また、各ピクチャにおいて、ピクチャ内の一部のスライスにおける量子化ステップのみを小さくすることで、各ピクチャを符号化したビット数もほぼ一定となり、一定のビットレートのネットワークで伝送することが可能となる。
なお、通常量子化ステップから小量子化ステップへと補正する度合いは、固定値であるとして説明したがそれに限らない。例えば、小量子化ステップの値を予め決めていてもよく、導出される通常量子化ステップの値を半分にした値を小量子化ステップとしてもよい。また、さらに、小量子化ステップの値を、ビットレートに合わせて可変としてもよい。
(実施の形態2)
次に、実施の形態2について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
図6は、本発明の実施の形態2における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図6では、図1に示した場合と異なり、量子化ステップが通常より小さな小QPスライスを含まないピクチャが定期的(周期的)に挿入されている。具体的には、図6に示す例では、時間順に連続する一定周期のピクチャ(ピクチャN〜ピクチャN+10)において、図1に示した場合(図1ではピクチャN〜ピクチャN+5)に加えて、小QPスライスを含まないピクチャが1つおきに挿入されている。従って、図6に示すように、時間順に連続する一定周期のピクチャにおいて、小QPスライスを含まないピクチャが、ピクチャN+1、ピクチャN+3、ピクチャN+5、ピクチャN+7、ピクチャN+9およびピクチャN+10として、挿入されている。
通常QPスライスからなるピクチャに小QPスライスを導入すると、通常QPスライスのみからなるピクチャに比べわずかではあるがビット数は大きくなる。そのため、低ビットレートでの伝送が必要な場合は、周期的に小QPスライスを含まないピクチャ(通常QPのみからなるピクチャ)を挿入することで、複数フレーム単位での平均ビットレートの増加を抑えつつ、かつ小QPスライス導入による符号化歪を削減することができる効果が得られる。
ただし、周期的に小QPスライスを含まないピクチャを挿入する場合、小QPスライスが配置されるピクチャ内での位置が一巡りするまでのピクチャ数(ピクチャN〜ピクチャN+10の11ピクチャ)が、図1に示す場合のピクチャ数(ピクチャN〜ピクチャN+6の7ピクチャ)よりも多くなる。そのため、例えば動きが少ない動画像を復号化するとき、図6に示す場合と、図1に示す場合とを比べるとわかるように、ピクチャ全体の符号化歪が小さくなるまでの時間(一定周期)が長くなる。
(実施の形態3)
次に、実施の形態3について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
図7は、本発明の実施の形態3における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図7では、図1に示した場合と異なり、小QPスライスを含まないピクチャが挿入されない。すなわち、図7に示す例では、時間順に連続するピクチャ(ピクチャN〜ピクチャN+9)において、小QPスライスを含まないピクチャは挿入されず、全てのピクチャ(ピクチャN〜ピクチャN+9)に小QPスライスを含む。
従って、図7に示すピクチャN+4における小QPなスライス(ピクチャ最下位置)の符号化直後に、ピクチャN+5における小QPスライス(ピクチャ最上位置)の符号化が行われてネットワークに伝送されるため、ビット数の多いスライスが連続することになる。
実施の形態1のように符号化と伝送とをスライス単位で行うのではなく、ピクチャ単位でネットワークへの伝送を行う場合には、ピクチャ単位で一定のビット数となるようにするのが効率的である。
従って、ピクチャ単位でネットワークの伝送を行う場合は、図1のように小QPスライスの間隔を一定にするのではなく、図7に示すように時間順に連続するピクチャそれぞれに小QPスライスを含むように、動画像符号化装置100は量子化ステップの制御を行うとしてもよい。
(実施の形態4)
次に、実施の形態4について説明する。なお、実施の形態1と同じ構成および同じ動作については説明を省略する。
実施の形態1〜3では、動きが小さいもしくは動きが殆どない動画像でも視覚的に符号化歪を目立たなくするために、動画像符号化装置100がスライス単位で量子化ステップを通常よりも小さくする例を示した。実施の形態4では、スライス単位ではなく、ブロック単位で量子化ステップを通常よりも小さくする場合の例を示す。ブロック単位にすることで、スライスの大きさとは関係なく、量子化ステップを小さくするブロックの数を変えることができる。なお、スライス構造とは関係なく、各ピクチャにおいて通常の量子化ステップよりも小さくされた量子化ステップ(小量子化ステップ)を参照して符号化される一定数のブロック数からなるブロックを、以下、小QPブロックと記載する。
図8は、本発明の実施の形態4における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。ここで、斜線をつけた領域は、小QPブロックであり、その他のスライスまたは領域(ブロック)は、通常QPスライスまたは通常量子化ステップにより符号化される領域(ブロック)である。
小QPブロックの位置は、図8に示すように、時間順に連続するピクチャにおいて符号化順序の方向に移動する。すなわち、小QPブロックの位置は、ピクチャNから順番にピクチャ内での小QPブロックの大きさ(一定数のブロック数)毎に移動する。このように、小QPブロックの位置は、スライス構造とは無関係に移動する。小QPブロックは、例えばピクチャN+1に示すように2つのスライスをまたがっていてもよい。また、小QPブロックは、符号化順の方向に一定数のブロック数になっていればよいので、ピクチャN+5とピクチャN+6とに示されるように、2つのピクチャをまたがって位置していてもよい。
以上のように、スライス単位でなく、ブロック単位で量子化ステップを変更できる符号化装置の構成が実現できる場合には、実施の形態4のように、時間順に連続するピクチャにおいて、図8に示すように小QPブロックの位置が移動するのがよい。
次に、上記を実現する機能構成を備える動画像符号化装置について説明する。
図9は、本発明の実施の形態4における動画像符号化装置の構成を示すブロック図である。なお、図5と同様の要素には同一の符号を付しており、詳細な説明は省略する。
動画像符号化装置200は、ブロック数カウンタ部202と、量子化ステップを通常よりも小さく(小量子化ステップに)するブロック位置を決定する小QP位置決定部204と、通常量子化ステップを導出するQP導出部106と、通常量子化ステップを補正するQP補正部108と、ビデオ・エンコーダ110とを備える。
図9に示す動画像符号化装置200は、図4に示す動画像符号化装置100に対して小QP位置決定部104と、行数カウンタ部102との構成が異なる。
具体的には、動画像符号化装置200では、スライスを構成する行数ではなく、ブロック数をブロック数カウンタ部202で計測し、計測したブロック数によって小量子化ステップとするブロックを小QP位置決定部204で決定する。
その他の構成についても、量子化ステップをスライス単位ではなく、ブロック単位で変更する点を除けば、図5で上述したのと同様であるため、説明を省略する。
以上のように、動画像符号化装置200は構成される。
なお、QP導出部106で導出した通常量子化ステップは、数スライス単位もしくはピクチャ単位でビット数が一定となるように通常量子化ステップを導出するのがよい。これは、QP補正部108で小量子化ステップに補正したブロックで多いビット数が発生したとしても、その直後に符号化するブロックで急に通常量子化ステップを大きくして画質劣化が発生することを防止するためである。
次に、以上のように構成される動画像符号化装置200が行う符号化処理について説明する。
図10は、本発明の実施の形態4における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、ブロック数カウンタ部202は、ビデオ・エンコーダ110が符号化対象とするブロックにおけるブロック数を示す値であるカウンタBを0で初期化する(S202)。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップにするか、小量子化ステップにするかを決定する。
具体的には、まず、小QP位置決定部204は、カウンタBが0以下であるかどうかを判定する(S204)。
次に、小QP位置決定部204は、カウンタBが0以下である場合(S204のはいの場合)、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップよりも小さな小量子化ステップに決定する。ビデオ・エンコーダ110は、小QP位置決定部204により決定された小量子化ステップを用いて符号化対象とするブロックを符号化する(S206)。
ビデオ・エンコーダ110が、小QP位置決定部204により決定された小量子化ステップを用いて符号化した場合、ブロック数カウンタ部202は、カウンタBに連続するピクチャにおける小QPブロックの挿入間隔を代入する(S208)。ここで、小QPブロック挿入間隔とは、時間的に連続するピクチャ内または間における小QPブロックとその次の小QPブロックとの間に挿入されるブロック数の値(総数)である。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S214)。
なお、小QP位置決定部204は、カウンタBが0より大きい場合(S204のいいえの場合)、ビデオ・エンコーダ110が符号化対象とするブロックを符号化する際の量子化ステップを、通常量子化ステップのままであると決定する。ビデオ・エンコーダ110は、小QP位置決定部204により決定された通常量子化ステップを用いて符号化対象とするピクチャのブロック符号化する(S210)。
ビデオ・エンコーダ110が、小QP位置決定部204により決定された通常量子化ステップを用いて符号化した場合は、ブロック数カウンタ部202は、カウンタBからビデオ・エンコーダ110が符号化したブロック数を減算する(S212)。
次に、小QP位置決定部204は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S214)。完了していない場合には(S214のいいえの場合)、S204〜S214の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態4における動画像符号化装置200は、符号化処理を行い、連続するピクチャにおける小QPブロックとその次の小QPブロックとの間に、一定数のブロックを挿入することができる。
(実施の形態5)
次に、実施の形態5について説明する。なお、実施の形態1〜4と同じ構成および同じ動作については説明を省略する。
図11は、本発明の実施の形態5における時間順に連続するピクチャへの小QPブロック挿入例を示す図である。ここで、斜線をつけた領域は、小QPブロックである。また、実線で囲まれた領域は、スライスである。
上述の実施の形態1〜実施の形態4の説明では、ピクチャを構成するスライスは、行単位であった。しかし、ピクチャを構成するスライスは、図11に示すように、同ピクチャ内に複数行あってもよく、さらに行の途中にスライス境界があってもよい。また、ピクチャを構成するスライスの大きさは、符号化する画像の内容に応じて変更してもよい。
例えば、画像に細かな絵柄が多く圧縮が困難な場合は、ピクチャを構成するスライスに含まれるブロック数を小さくし、平坦な絵柄で圧縮が容易な場合はスライスに含まれるブロック数を大きくする。これにより、ピクチャを構成するスライスのビット数をほぼ一定とすることができる。
図12は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入の別の例を示す図である。ここで、斜線をつけたスライスは、小QPスライスであり、その他のスライスは通常QPスライスである。
図1における小QPスライス挿入方法と図12における小QPスライス挿入方法との違いは、時間順に連続するピクチャのそれぞれに含まれる小QPスライスが1つではなく2つであることである。
図12は、符号化する時間順で、小QPスライスと次の小QPスライスとの間に、通常QPスライスが2つ入っているように、小QPスライスを配置している例である。この場合でも、時間順に連続するピクチャにおける小QPスライスとその次の小QPスライスとの間の通常QPスライス数を一定にすることで、ネットワーク伝送するビット数を平準化することができ、実施の形態1と同様の効果が得られる。
図13、図14および図15は、本発明の実施の形態5における時間順に連続するピクチャへの小QPスライス挿入のさらに別の例を示す図である。
図13に示すように、時間順に連続するピクチャに含まれる2つの小QPスライスの位置は図12と違っていてもよい。図13は、時間順に連続するピクチャにおいて、小QPスライスの位置を1スライス分ずつ下へ移動させていき、ピクチャの一番下の位置に小QPスライスがあるピクチャの直後を、最上位置に小QPスライスがあるピクチャとしている例である。ネットワーク伝送するビット数をスライス単位で平準化するのではなく、ピクチャ単位で平準化する場合には、各ピクチャに2つずつ小QPスライスを含むこの構成が好ましい。
また、時間順に連続するピクチャのそれぞれに含まれるスライス数が5つでなくても、それぞれのピクチャに含まれる小QPスライスが1または2つでなくてもよい。例えば図14および図15に示すように、時間順に連続するピクチャのそれぞれに含まれるスライス数が6個で、それぞれのピクチャに含まれる小QPスライスが2つであってもよい。また上記同様に、図14および図15に示すように、小QPスライスの挿入される位置が違っていてもよい。
図14は、符号化する時間順で、小QPスライスと次の小QPスライスとの間にある、通常QPスライスの数が、2、3、2、3・・・となるように、小QPスライスを配置している例である。ネットワーク伝送するビット数を平準化することができ、実施の形態1と同様の効果が得られる。
図15は、時間順に連続するピクチャにおいて、小QPスライスの位置を1スライス分ずつ下へ移動させていき、ピクチャの一番下の位置に小QPスライスがあるピクチャの直後を、最上位置に小QPスライスがあるピクチャとしている例である。ネットワーク伝送するビット数をスライス単位で平準化するのではなく、ピクチャ単位で平準化する場合には、各ピクチャに2つずつ小QPスライスを含むこの構成が好ましい。
(実施の形態6)
次に、実施の形態6について説明する。
実施の形態1〜実施の形態5では、視覚的に符号化歪が目立たなくすることができる構成および方法、すなわち動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくすることができる構成および方法について説明した。しかし、ネットワークを介してストリームを伝送する際に、例えばネットワーク輻輳などでストリームの一部が消失してしまう場合がある。その場合には、まずネットワーク輻輳などにより生じるエラーが伝搬しないようにする(エラーを止める)必要がある。本実施の形態6では、例えばネットワーク輻輳などでストリームの一部が消失してしまう場合を考慮した構成および方法を説明する。
図16Aおよび図16Bは、本発明の実施の形態6における時間順に連続するピクチャへのIスライスまたは小QPブロックの挿入例を説明するための図である。
以下、時間順に連続するピクチャにおいて、小QPスライスまたはIスライスなどの特定のスライスが1ピクチャの全ての位置に循環して配置される一定数のピクチャ数の単位を、スライス循環のピクチャ数単位と呼び、sGOPと記載する。例えば、sGOPは、図16Aおよび図16Bでは、時間順に連続するピクチャにおいて、ピクチャにおけるIスライスの位置が最上位置であるピクチャから、Iスライス位置が循環して、次に最上位置であるピクチャの1つ前のピクチャまでに要したピクチャ数となる。
図16Aに示すように、従来、時間的に連続するピクチャにおいて、それぞれのピクチャ内におけるIスライスの位置を循環させる技術がある。この技術では、Iピクチャでなく、Iスライスを循環させることにより、ネットワーク伝送するビット数を平準化する。このようにして、インター符号化を使用しないIスライスを挿入することでネットワーク輻輳などでストリームの一部が消失してしまうことで生じるエラーが、インター符号化で伝播することを止めることができる。
それに対して、本実施の形態6では、まずネットワーク輻輳などにより生じるエラーが伝搬しないようにして(エラーを止めて)から、動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくする。
すなわち、図16Bに示すように、時間順に連続するピクチャにおいて、最初のsGOP(スライス循環のピクチャ数単位)では、Iスライスを循環させ、その後、小QPスライスをsGOP毎に循環させる。
具体的には、時間的に連続するピクチャにおいて、ピクチャを例えば5行のスライスに分割し、その中の一つのスライスをIスライスとして、最初のsGOPにおいて5つのピクチャでIスライスの位置を循環させる。そして、次のピクチャはPスライス(通常QPスライス)のみのピクチャとする。次に、Iスライスの位置だった場所に小QPスライスを挿入し、小QPスライスをsGOP毎に循環させる。
このように、時間的に連続するピクチャにおいて、Iスライスまたは小QPスライスの位置をsGOP毎に循環させる。
つまり、以下のようにIスライスまたは小QPスライスの位置をsGOP毎に循環させる。
1)循環する特定のスライス位置には、Iスライスか、小QPスライス(Pスライス)のいずれかを含む。
2)Iスライスまたは小QPスライス(Pスライス)を挿入する位置は同じ規則である。
従って、通常のPスライスよりもビット数(データ)が多い、Iスライスと小QPスライスとが同じ周期で挿入されるので、ピクチャ単位のビット数の変動も周期的となり、ネットワーク伝送する場合の平均ビットレートの変動が少なくなる。
それにより、ネットワーク伝送する場合のデータ(ストリーム)のビットレートが一定となるので、送受信バッファが小さくてすみ、低遅延で伝送できる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少ないので、ネットワーク輻輳などで生じるデータの消失の影響が低減できる。
ネットワーク輻輳などによるデータ消失の有無は、ネットワーク通信部で検出できることが多いので、データ消失を検出した期間はIスライスのsGOPとし、データ消失を検出しない期間は小QPスライスのsGOPとするのが最も効率が良い。
次に、上述を実現する機能構成を備える動画像符号化装置について説明する。
図17は、本発明の実施の形態6における動画像符号化装置の構成を示すブロック図である。図4と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図17に示す動画像符号化装置150は、図4に示す動画像符号化装置100に対して、Iスライス・小QPスライス共通位置決定部154とI/Pスライス判定部155との構成が異なる。
Iスライス・小QPスライス共通位置決定部154は、Iスライスまたは小QPスライスにする位置を決定する。具体的には、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスにするまたはIスライスもしくは小QPスライスにするかを決定する。
I/Pスライス判定部155は、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスまたはPスライスとする判定を行う。
具体的には、I/Pスライス判定部155は、予め定められた時間間隔毎にまたは不定期にリフレッシュ要求を取得した場合に、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスとする判定を行う。ここで、リフレッシュ要求とは、イントラ符号化されたスライスの挿入要求すなわちIスライスの挿入要求である。このリフレッシュ要求は、例えばネットワーク伝送中にデータが消失した場合の画質劣化を修復するために、受信装置側より送信装置側である動画像符号化装置150に出力され、I/Pスライス判定部155が取得する。また、このリフレッシュ要求は、予め定めされた時間間隔毎にI/Pスライス判定部155に取得される。
なお、I/Pスライス判定部155は、リフレッシュ要求を取得した場合、ビデオ・エンコーダ110が符号化対象とするスライスにおいて、時間順に連続するピクチャのsGOP分(スライス循環のピクチャ数単位分)を、Iスライスとする判定を行う。また、この受信装置側は、動画像符号化装置150により符号化されたストリームを復号化する動画像復号化装置等である。
また、上記以外の場合には、I/Pスライス判定部155は、ビデオ・エンコーダ110が符号化対象とするスライスをPスライスとする判定を行う。
ビデオ・エンコーダ110は、I/Pスライス判定部155の判定に従い、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスまたはPスライスで符号化する。ここで、ビデオ・エンコーダ110は、符号化対象とするスライスをIスライスで符号化する際には、QP補正部108から通知される小量子化ステップではなくQP導出部106で導出した通常量子化ステップを用いて符号化する。それに対して、符号化対象とするスライスを小QPスライスで符号化する際には、QP補正部108から通知される小量子化ステップを用いて符号化する。
以上のように、動画像符号化装置150は構成される。
次に、以上のように構成される動画像符号化装置150が行う符号化処理について説明する。
図18は、本発明の実施の形態6における動画像符号化装置で符号化する場合の処理を説明するフローチャートである。
まず、行数カウンタ部102は、ビデオ・エンコーダ110が符号化対象とするスライスにおける行数を示す値であるカウンタLを0で初期化する(S302)。
次に、Iスライス・小QPスライス共通位置決定部154は、Iスライスまたは小QPスライスにする位置を決定する。言い換えると、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスにする、または、Iスライスもしくは小QPスライスにするかを決定する。
具体的には、まず、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0以下であるかどうかを判定する(S304)。
次に、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0以下である場合(S304のはいの場合)、ビデオ・エンコーダ110が符号化対象とするスライスをIスライスで符号化するか否かを判定する(S305)。
具体的には、I/Pスライス判定部155は、予め定められた時間毎にまたは不定期にリフレッシュ要求を取得した場合、Iスライス・小QPスライス共通位置決定部154により決定され、ビデオ・エンコーダ110が符号化対象とするsGOPのスライスをIスライスとする判定を行う。それ以外の場合には、I/Pスライス判定部155は、Iスライス・小QPスライス共通位置決定部154により決定され、ビデオ・エンコーダ110が符号化対象とするスライスをPスライスとする判定を行う。
次に、符号化対象とするスライスがIスライスで符号化されると判定された場合(S305のはいの場合)、ビデオ・エンコーダ110は、QP導出部106で導出した通常量子化ステップを用いて、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスで符号化する(S307)。
一方、符号化対象とするスライスがIスライスで符号化されないと判定された場合(S305のいいえの場合)、ビデオ・エンコーダ110は、QP補正部108から通知される小量子化ステップを用いて符号化対象とするスライスを小QPスライスのPスライスで符号化する(S306)。
次に、ビデオ・エンコーダ110が、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスをIスライスまたは小QPスライスで符号化した場合に、行数カウンタ部102は、カウンタLに連続するピクチャにおけるIスライス・小QPスライス共通挿入間隔を代入する(S308)。ここで、Iスライス・小QPスライス共通挿入間隔とは、時間的に連続するピクチャ内または間におけるIスライスまたは小QPスライスとその次のIスライスまたは小QPスライスとの間に挿入されるスライスの行数の値(総数)である。
次に、Iスライス・小QPスライス共通位置決定部154は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S314)。
なお、Iスライス・小QPスライス共通位置決定部154は、カウンタLが0より大きい場合(S304のいいえの場合)、Iスライス・小QPスライス共通位置決定部154は、行数カウンタ部102から通知された行数から、ビデオ・エンコーダ110が符号化対象とするスライスを通常QPスライスのPスライスにすると決定する。
次いで、ビデオ・エンコーダ110は、Iスライス・小QPスライス共通位置決定部154により決定された位置のスライスを通常量子化ステップを用いて通常QPスライスで符号化する(S310)。そして、行数カウンタ部102は、カウンタLから、ビデオ・エンコーダ110が符号化したスライス(通常QPスライス)の行数を減算する(S312)。
次に、Iスライス・小QPスライス共通位置決定部154は、ビデオ・エンコーダ110が全ピクチャに対して符号化を完了したかどうかを確認する(S314)。完了していない場合には(S314のいいえの場合)、S304〜S314の処理を全ての画像に対して繰り返す。
以上のようにして、実施の形態6における動画像符号化装置150は、符号化処理を行い、連続するピクチャにおけるIスライスまたは小QPスライスとその次のIスライスまたは小QPスライスとの間に、一定数のスライスを挿入することができる。
以上、実施の形態6によれば、ネットワーク輻輳などにより生じるエラーが伝搬しないようにするとともに、視覚的に符号化歪が目立たなくなるように、動きが小さいもしくは動きが殆どない動画像での符号化歪を小さくする動画像符号化装置150を実現することができる。
なお、実施の形態6では、sGOP毎に通常QPスライスのみを含むピクチャを挿入するという実施の形態1の例を組み合わせた場合の例を説明したがそれに限らない。実施の形態2〜実施の形態5のうちのいずれの方法と代替して組み合わせてもよい。
また、実施の形態6では、実装上容易であり好ましい例として、時間順に連続するピクチャに、小QPスライスとIスライスとを排他的に挿入する場合について説明したが、それに限られない。すなわち、時間順に連続するピクチャに、小QPスライスとIスライスとを同時に挿入しても構わない。その場合、同様に、小QPスライスは、実施の形態1〜実施の形態5で記載したように挿入して循環させ、かつ、Iスライスは、リフレッシュ要求があった後の最初のsGOPのみに挿入して循環させればよい。
また、実施の形態6では、時間順に連続するピクチャに、QPスライスまたはIスライスが循環する例について説明したが、それに限られない。スライスの替わりに複数の画素またはブロックからなるブロック群でもよい。その場合、小QPスライスを小QPブロックに、IスライスをIブロック(イントラ符号化されたブロック群)とすればよい。
さらに、ビデオ・エンコーダ110は、符号化対象とするスライスをIスライスで符号化する際には、QP補正部108から通知される小量子化ステップではなくQP導出部106で導出した通常量子化ステップを用いて符号化するとしたが、スライス単位のビット数の変動が多少許容できる用途においては、Iスライスも小量子化ステップで符号化して画質を向上させてもよい。
(実施の形態7)
次に、実施の形態7について説明する。
図19は、本発明の実施の形態7における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
実施の形態1〜実施の形態6では、小QPスライスと通常QPスライスとの大きさ(スライスを構成するブロック数または画素数)が等しい場合を主に説明したが、それに限られない。図19に示されるように、ピクチャに挿入される小QPスライスの大きさは、通常QPスライスよりも小さくてもよい。
このようにすることで、ブロックあたりのビット数の多い小QPスライスを構成するスライス単位でのビット数が少なくすることができる。
ここで、スライス単位でネットワーク伝送を行う場合は、通常QPスライスと小QPスライスとの、スライス当たりのビット数をほぼ同じにするのが好ましい。これは、上述のようにスライスを時間的にも空間的にも等間隔でネットワーク伝送を行えば、ビットレートをほぼ一定にすることができるからである。
以上のように、ネットワーク伝送するデータ(ストリーム)のビットレートを一定にすることができるので、送受信バッファが小さくでき、低遅延で伝送することができる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少ないので、ネットワーク輻輳によるデータの消失が低減できる。
(実施の形態8)
例えばインタレース画像に応じた画像信号には、フレームで構成されるピクチャが連続したものだけでなくフィールドで構成されるピクチャが連続したものもある。実施の形態1〜実施の形態6では、フレームで構成されているピクチャを例に挙げて説明したが、それに限らない。フィールドで構成されているピクチャでもよく、上述の方法を同様に適用すればよい。以下、その場合を実施の形態8として説明する。
図20は、本発明の実施の形態8における時間順に連続するピクチャへの小QPスライス挿入例を示す図である。
インタレース画像は、1枚の画像がトップフィールドとボトムフィールドとで構成される。図19に示すように、インタレース画像が例えばトップフィールドから開始される場合には、トップフィールドのみにIスライスまたは小QPスライスを挿入すればよい。
このように、片方のフィールドのみにIスライスを挿入してsGOPで循環させることにより、ネットワーク輻輳などにより発生するエラー伝搬を止めることができる。また、ビット数の多いIスライスと同じ間隔(周期)で小QPスライスが挿入されることで、ネットワーク伝送する場合の平均ビットレートの変動を抑えることができる。
それにより、ネットワーク伝送するデータ(ストリーム)のビットレートを一定にすることができるので、送受信バッファが小さくでき、低遅延で伝送することができる。また、ネットワーク伝送するデータ(ストリーム)のビットレートの変動が少なくなるので、ネットワーク輻輳などによるデータの消失が低減できる。
なお、片方のフィールドとしてトップフィールドだけにIスライスまた小QPスライスを挿入する場合を例に挙げたがそれに限られない。ボトムフィールドだけにIスライスまた小QPスライスを挿入してもよい。
(実施の形態9)
次に、実施の形態9について説明する。
ここでは、上記各実施の形態で示した動画像符号化装置100、150または200を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにする。それにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図21A〜図21Cは、上記各実施の形態の動画像符号化装置100、150または200を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図21Bは、フレキシブルディスクの正面からみた外観、断面構造、およびフレキシブルディスクを示し、図21Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図21Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。動画像符号化装置100、150または200を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムを、フレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより動画像符号化装置100、150または200をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
以上、本発明によれば、小さい量子化ステップで符号化する小QPスライス(または小QPブロック)、時間順に連続するピクチャにおけるピクチャに配置し、ピクチャ内でのその位置を、連続するピクチャで符号化順に移動させることで、ピクチャ内での小QPスライス(または小QPブロック)の位置を一定周期で循環させる。
それにより、ピクチャ内の全てのスライス位置において、一定周期で符号化歪の小さい符号化が行われることになるので、動きが小さいもしくは動きが殆どない動画像での符号化歪が小さくなり、視覚的に符号化歪が目立たなくなる。
これは、ピクチャにおける所定の位置のスライスを、一旦、小QPスライスで符号化し、所定の位置のスライスの符号化歪を小さくすることで、その所定の位置のスライスが次に通常QPスライスで符号化されても符号化歪が大きくならない(画質が損なわれない)からである。これは、特に、インター符号化で残差の少ない画像(動きが少ない、もしくは画素が平行移動などの単純な動きしかしない)の符号化処理を行うときに効果を奏する。
また、各ピクチャにおいて、ピクチャ内の一部のスライスの量子化ステップのみを小さくすることで、各ピクチャを符号化したビット数もほぼ一定となり、一定のビットレートのネットワークで伝送することが可能となる。
さらに、本発明はスライス単位やブロック単位で量子化ステップを変化させる別の量子化方法と組み合わせて使用してもよい。その場合には、スライス単位やブロック単位で量子化ステップが多少増減するが、一定周期で相対的に量子化ステップの小さなスライス(小QPスライスまたは小QPブロック)の位置が循環する。
なお、小QPスライスまたは小QPブロックにおいて、小量子化ステップが小さくなりすぎないように、下記のような下限値処理が行われるのが好ましい。それにより、規格で許容される最小の量子化ステップの値より小さくなったり、視覚的に画質劣化がわからない程度の小さい量子化ステップになったりすることを防止することができる。
1)QP補正部108で補正された小量子化ステップの値を所定の最小値でクロップする。
2)QP導出部106で導出された量子化ステップの値が小さいほど、QP補正部108で補正される補正量を少なくする。
また、小QPスライスまたは小QPブロックにおいて、量子化ステップの下げ値幅は、以下のようにピクチャ単位の平均ビットレートに応じて変えるとしてもよい。ここで、量子化ステップの下げ値幅は、通常量子化ステップの値と小量子化ステップの値との差を意味している。
1)ピクチャ単位の平均ビットレートが高い場合には、画質を優先して、量子化ステップの下げ値幅を大きくする。
2)ピクチャ単位の平均ビットレートが低い場合には、量子化ステップの下げ値幅を小さくする。
これは、ピクチャ単位の平均ビットレートが高い場合には、ビット数が増えることよりも画質を優先させることができるからである。一方、ピクチャ単位の平均ビットレートが低い場合には、シーンチェンジなどで画像の圧縮の困難さが変わったとき、量子化ステップの値が小さくなるとビット数が増えるので、他の通常QPスライスでも吸収できないビット数になり、ピクチャ単位の平均ビットレートを一定にできない可能性が高いためである。
また、ブロック図(図1または図9)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。例えばメモリ以外の機能ブロックが1チップ化されていてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。また、各機能ブロックのうち、符号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としてもよい。
以上、本発明の動画像符号化方法および動画像符号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明は、動画像復号化装置に利用でき、特に、ネットワークを利用した動画像双方向通信や、動画像配信、監視カメラなど、動画像を符号化する通信機器やセット機器に利用することができる。
100、150、200 動画像符号化装置
102 行数カウンタ部
104、204 小QP位置決定部
106 QP導出部
108 QP補正部
110 ビデオ・エンコーダ
154 Iスライス・小QPスライス共通位置決定部
155 I/Pスライス判定部
202 ブロック数カウンタ部
300 パケット化部