JP2004297184A - 情報処理装置および情報処理方法ならびに記憶媒体、プログラム - Google Patents
情報処理装置および情報処理方法ならびに記憶媒体、プログラム Download PDFInfo
- Publication number
- JP2004297184A JP2004297184A JP2003083521A JP2003083521A JP2004297184A JP 2004297184 A JP2004297184 A JP 2004297184A JP 2003083521 A JP2003083521 A JP 2003083521A JP 2003083521 A JP2003083521 A JP 2003083521A JP 2004297184 A JP2004297184 A JP 2004297184A
- Authority
- JP
- Japan
- Prior art keywords
- quantization step
- blocks
- predetermined number
- encoded data
- information
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】画質を劣化させることなく、所定の仕様で符号化されたデータを異なる仕様の符号化データに高速に、かつ低コストで変換させる。
【解決手段】ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を、所定の方向で予測符号化した符号化データを処理する情報処理方法であって、前記符号化データから量子化ステップqを前記所定数のブロックごとに抽出する工程(ステップS6)と、前記所定数のブロックごとに抽出された量子化ステップqに基づいて、単一の量子化ステップQを決定する工程(ステップS8)と、単一の量子化ステップQと、前記抽出された所定数のブロックごとの量子化ステップqとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する工程(ステップS9)とを備える。
【選択図】 図2
【解決手段】ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を、所定の方向で予測符号化した符号化データを処理する情報処理方法であって、前記符号化データから量子化ステップqを前記所定数のブロックごとに抽出する工程(ステップS6)と、前記所定数のブロックごとに抽出された量子化ステップqに基づいて、単一の量子化ステップQを決定する工程(ステップS8)と、単一の量子化ステップQと、前記抽出された所定数のブロックごとの量子化ステップqとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する工程(ステップS9)とを備える。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、所定の仕様で符号化された符号化データの変換処理に関するものであり、特に動画像の符号化データの変換処理に関するものである。
【0002】
【従来の技術】
近年、PCの普及に伴い、インターネットで動画像をやり取りしたり、配信したりする際の符号化方式としてISO(International Organization for Standardization:国際標準化機構)が標準化したMPEG(Moving Picture Coding Experts Group)−4符号化方式が利用され始めている。MPEG−4符号化方式は1999年に国際標準として制定されたものであり、従来のMPEG−1、2といった符号化方式に比べ、特に低ビットレートに向いており、インターネットで動画像をやり取りしたり、動画メールを配信したりするのに適している。また、デジカメの動画像記録方式として普及しつつある。MPEG−4の規格に関してはISO/IEC14496−2にその詳細が記載されている。
【0003】
MPEG−4符号化方式はその用途が非常に幅広いことから種々のツールが盛り込まれている。そのため、各アプリケーションでの利用を考え、アプリケーションごとに必要なツール群を設定し、Profileとして定義している。さらにその仕様の規模からLevelに細分化されている。そして、一般に上記のようなPC上のアプリケーションではSimple Profile@Level1以上が利用されている。
【0004】
一方、携帯電話等の無線通信の分野においても大容量・高速化が進んでいる。ITU(International Telecommunication Union)ではIMT−2000(International Mobile Telecommunication−2000)として第3世代の携帯電話のサービスに関する標準化を進めてきた。その結果、携帯テレビ電話の実現も可能な方式が標準化された。ここでもMPEG−4が符号化方式として選択されることとなった。
【0005】
【発明が解決しようとする課題】
しかしながら、無線通信の分野では、端末間での互換性を保つために、H.324(Terminal for low bit−rate multimedia communication)の中で種々の規定がなされている。特に携帯電話の普及を目的としている3GPPでは、3GPP TR26.911の中でMPEG−4ビデオコーデックとしてSimple Profile@Level0を新たに追加して、その使用を推奨している。
【0006】
そして、Simple Profile@Level0の特徴として、他のLevelとツールの使用に関してAC予測を使用する場合はQP値(量子化ステップ)をVOP(フレーム)内で固定にし、AC予測を使用しない場合は、QPは可変でもかまわない、といった制限が追加された。
【0007】
このため、インターネット上で流布されているMPEG−4 Simple Profile@Level1のストリームは、無線通信の分野におけるH.324の規定により直接携帯電話等に伝送できないといったことが生じ得る。また、直接伝送できる場合であっても、復号するには受信端末側が上位のLevel(Simple Profile@Level1以上のLevel)に対応していることが条件となるため、例えば、MPEG−4 Simple Profile@Lavel1のストリームは、Simple Profile@Level0にしか対応していない携帯電話では復号できないという問題があった。
【0008】
これに対して、このようなSimple ProfileのLevel差の問題を解消すべく、例えば、所定の仕様で符号化されたデータ(例えば、Simple Profile@Level1のストリーム)を一旦、画像データまで復号し、再度、異なる仕様(例えば、Simple Profile@Level0)で符号化し直すといった手段も考えられる。しかし、かかる手段により処理を行なった場合、画質の劣化を伴うとともに、処理のための大容量のメモリが必要となるうえ、処理時間がかかるといった問題が生じる。
【0009】
本発明は上記課題に鑑みてなされたものであり、画質を劣化させることなく、所定の仕様で符号化されたデータを異なる仕様の符号化データに高速に、かつ低コストで変換させることが可能な処理技術を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する符号化手段とを備える。
【0011】
【発明の実施の形態】
はじめに本発明にかかる実施形態の概要について説明する。以下の各実施形態においては、一例としてSimple Profile@Level1の符号化データを、Simple Profile@Level0の符号化データに変換する場合について述べる。
【0012】
上述したように、Simple Profile@Level0の符号化データは、「AC予測を使用する場合はQP値(量子化ステップ)をVOP(フレーム)内で固定にし、AC予測を使用しない場合は、QP値はVOP内で可変でもかまわない」という制限がつくということを特徴の1つとしている。
【0013】
このため、かかる制限に対応すべく、入力された符号化データがSimpleProfile@Level0以外の仕様で符号化されたデータであった場合には、Simple Profile@Level0の符号化データに変換するにあたり、AC予測を使用した符号化データ(量子化ステップ固定)に変換するケースと、AC予測を使用しない符号化データ(量子化ステップ可変)に変換するケースとの2つのケースの処理が考えられる。
【0014】
一つ目のAC予測を使用した符号化データに変換するケースにおいては、QP値(量子化ステップ)をVOP(フレーム)内で固定にしなければならないことから、入力された符号化データを構成する各マクロブロックの量子化ステップを参照して、もし各マクロブロックごとに量子化ステップが異なっていた場合には、単一の量子化ステップを決定すると共に、各マクロブロックの量子化ステップで量子化した場合と等価な符号化データに変換する。ここで、各マクロブロックの量子化ステップで量子化した場合と等価な符号化データとは、復号したときに同一のDCT係数(または画像データ)が得られる関係にあることをいうものとする。例えば、画像データをDCT変換してDCT係数を算出し、各マクロブロックごとの量子化ステップにより該DCT係数を量子化した結果得られた変換係数を可変長符号化した場合の符号化データと、同じ画像データをDCT変換してDCT係数を算出し、単一の量子化ステップにより該DCT係数を量子化した結果得られた変換係数を可変長符号化した場合の符号化データとは、等価な関係にあると言える。
【0015】
そして、かかる変換処理は、Simple Profile@Level1で符号化したデータを、一旦、画像データまで復号するのではなく、符号化データから符号化データへ直接変換することとなるため、画質の劣化がなく、処理速度を高速化できるうえ、大容量のメモリが不要となり、安価な情報処理装置を提供できることとなる。
【0016】
一方、二つ目のAC予測を使用しない符号化データに変換するケースにおいては、QP値(量子化ステップ)は各マクロブロックごとに異なっていても構わないが、各マクロブロック間で符号化にあたってのスキャン方向は単一にしなければならない。そこで、入力された符号化データを変換係数まで復号し、AC予測の方向を判定したうえで、既定の単一のスキャン方向でスキャンした場合と等価となるように、変換係数の並べ替えを行なった上で、再度符号化する。
【0017】
この場合も、Simple Profile@Level1で符号化したデータを、一旦、画像データまで復号するのではなく、変換係数まで復号するにとどめ、変換係数を並べ替えたものを再符号化するため、画質の劣化がなく、処理速度を高速化できるうえ、大容量のメモリが不要となり、安価な情報処理装置を提供できることとなる。
【0018】
以下、第1から第5の実施形態において詳細に説明する。なお、説明に用いる各用語は、以下の意味を示すものとする。
▲1▼画像データ:符号化される元データ。
▲2▼DCT係数:画像データをDCT変換したもの。
▲3▼変換係数:DCT係数を量子化したもの。
AC係数:ブロック(8×8)ごとの変換係数のAC(交流)成分。
DC係数:ブロック(8×8)ごとの変換係数のDC(直流)成分。
▲4▼変換係数の符号:変換係数を可変長符号化したもの。
AC係数の符号:ブロック(8×8)ごとの変換係数のAC成分を可変長符号化したもの。
DC係数の符号:ブロック(8×8)ごとの変換係数のDC成分を可変長符号化したもの。
▲5▼その他の符号:符号化データを構成する符号のうち、変換係数の符号を除く他の符号。
▲6▼符号化データ:画像データを符号化したもの。符号化の最小単位はマクロブロックであり、それぞれにヘッダと変換係数の符号が含まれている。また、これらをフレーム単位でまとめてヘッダを含めて、フレームの符号化データとなる。
▲7▼量子化テーブル:DCT係数を量子化する際に用いるテーブル、量子化ステップ×量子化マトリックスにより求められる。
▲8▼符号化テーブル:変換係数を可変長符号化する際に用いるテーブルで、ランレングス、レベル、符号との関係を記載したもの。
レベル:変換係数を可変長符号化する際に用いられるレベル(ランレングスと組み合わせて用いることで可変長符号化が行なわれる)。
▲9▼変換テーブル:本実施形態にかかる符号化データ変換処理を行なう際に用いるテーブルで、入力されるSimple Profile@Level1による変換係数の符号と、Simple Profile@Level0による変換係数の符号との対応関係を記述したもの。
【0019】
【第1の実施形態】
図16は本発明の一実施形態にかかる情報処理装置(ゲートウェイ1004)を備えるシステムの一例を表したものである。1001はMPEG−4のSimple Profile@Level1でコンテンツを記録するカムコーダであり、1002はコンテンツを管理するサーバであり、1003はLANなどで構成されるインターネット網である。1005はIMT−2000で構成される無線電話網である。1004はインターネット網1003と無線電話網1005との間でプロトコルの交換等を行なうゲートウェイである。1006はコンテンツを再生する携帯テレビ電話であり、1007はコンテンツを再生するコンピュータである。
【0020】
以下、本発明の第1の実施形態にかかる情報処理装置を、図面を用いて詳細に説明する。図1は本発明の第1の実施形態にかかる情報処理装置(ゲートウェイ1004)における符号化データ変換処理のための機能ブロック図である。
【0021】
図1において、1は符号化データの変換処理を行なう情報処理部である。2は通信インターフェースであり、LAN等のネットワーク1003に接続されており、サーバ1002上のMPEG−4 Simple Profile@Level1で符号化された符号化データを入力する。なお、ここでは説明を容易にするため、Simple Profile@Level1を入力する場合について説明するが、これに限定されない。3は入力された符号化データをヘッダと各フレームデータとに分離する分離器である。4は分離されたヘッダを解析するヘッダ解析器、5はヘッダのプロファイルに関する符号を変換するプロファイル変換器である。6はヘッダ解析器4の出力結果に基づいて出力先を選択するセレクタである。7は1VOP分のフレームデータを蓄積するメモリである。8は量子化ステップに関する符号を抽出して判定する量子化判定器である。9は符号化テーブルを格納しているVLCメモリであり、10はVLCメモリ9の内容(符号化テーブル)を量子化判定器8の結果に基づいて加工する符号変換設定器である。11はフレームデータから変換係数の符号とそれ以外の符号とを分離する分離器であり、12、14は量子化判定器8の出力によって入出力先を変更するセレクタである。13は入力された変換係数の符号を符号変換設定器10の出力と比較して符号を変換する符号変換器である。15はプロファイル変換器5、ヘッダ解析器4、量子化判定器8、セレクタ6、セレクタ14、分離器11の出力をMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。16は無線電話網1005に接続されている通信インターフェースである。
【0022】
上記のように構成された情報処理装置における符号化データの変換処理を以下に説明する。処理に先立ち、各部の初期化を行なうことで、メモリ7はクリアされ、各部のパラメータがリセットされる。
【0023】
通信インターフェース2からMPEG−4 Simple Profile@Level1の符号化データが入力され、分離器3に入力される。分離器3ではVOS、VO、VOLなどのヘッダ情報を分離してヘッダ解析器4に入力する。
【0024】
ヘッダ解析器4はVOS(Visual Object Sequenceレイヤでビットストリームの最上位の階層)に含まれるprofile_and_level_indication符号(ProfileとLevelを表す8ビットの符号)を抽出し、入力された符号化データのプロファイルを判別する。もし、入力された符号化データがSimple Profile@Level0であれば、以後、visual_object_sequence_end_code符号(ビットストリームの最後を表す32ビットの一意の符号)が検出されるまで、セレクタ6の出力を整形器15としておく。
【0025】
そうでなければ、セレクタ6の出力はメモリ7となる。抽出したprofile_and_level_indication符号はプロファイル変換器5に入力され、Simple Profile@Level0を表す符号「00001000」(ISO/IEC 14496−2により規定されている)を整形器15に出力する。
【0026】
その他の符号はヘッダ解析器4から直接、整形器15に入力される。整形器15はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース16を介して出力する。なお、入力された符号化データがSimple Profile@Level0であった場合でも本装置は対応可能で、整形器15は何もせず、そのまま入力された符号化データを出力する。
【0027】
続いて、通信インターフェース2からSimple Profile@Level1の符号化データがフレームデータを入力する。入力された1VOP分のフレームデータはセレクタ6を介して、メモリ7に格納される。量子化判定器8はメモリ7に蓄積されたフレームデータから量子化ステップを表すvop_quant符号(VOPの量子化ステップの初期値を表す符号)と、各マクロブロックの符号化モード(mb_type)を表すmcbpc符号とを検出し、まず、vop_quant符号を復号し、量子化ステップqを記憶しておく。
【0028】
続いて、各マクロブロックのmcbpc符号(mb_typeと色度の符号化されたブロックの構成を表す可変長符号)を参照し、mb_typeを判別する。mb_typeが4、すなわちintra+q(イントラマクロブロックで量子化パラメータの変更がある)を表す符号であったとき、dquant符号(量子化パラメータの変更する差分を表す符号)を復号することで差分を再生し、量子化ステップqを記憶しておく。1VOPの中で再生される量子化ステップを全て算出した後、量子化判定器8は量子化ステップの最大公約数を求め、新しい量子化ステップQとする。この際、量子化ステップがまったく変化しないことが判明した場合(つまり、各マクロブロックごとの量子化ステップがすべて等しい場合)、量子化判定器8はセレクタ12とセレクタ14に対して、符号変換器13を介さない経路を指定する。それ以外は符号変換器13を介する経路を指定する。
【0029】
この量子化ステップQが設定された場合、それを符号変換設定器10に送ると同時に量子化ステップQを符号化し、vop_quant符号として整形器15に出力する。
【0030】
符号変換設定器10は量子化ステップQと各マクロブロックの量子化ステップqとを比較し、VLCメモリ9から符号化テーブルを読み出し、変換テーブルを作成して符号変換器13に供給する。
【0031】
これらが決まった後に、メモリ7よりフレームデータを順次読み出し、分離器11に入力する。分離器11はmcbpc符号と、変換係数の符号とその他の符号とを分離する。分離器11に最初に入力されるのはVOPに関するヘッダであるが、vop_quant符号を除いてそのまま整形器15に出力する。整形器15ではこれらの符号に量子化判定器8で生成されたvop_quant符号を組み込み、新たなVOPのヘッダデータとして出力する。
【0032】
続いて、各マクロブロックのフレームデータが読み出され、分離器11に入力される。分離器11はマクロブロックの符号のうち、mcbpc符号、dquant符号、変換係数の符号等以外はそのまま整形器15に入力される。その中にはac_pred_flag符号(マクロブロック単位でAC予測を行なうか否かを表す1ビットの符号)、動き補償に関する符号等が含まれる。セレクタ12とセレクタ14が符号変換器13を経由しない経路が指定されていれば、全ての符号がそのまま整形器15に入力され、元の符号に整形されて出力される。
【0033】
符号変換器13を経由する場合、まず、符号変換器13にはマクロブロックのmcbpc符号が入力される。mcbpc符号のmb_typeが4であればこれを3に変更し、整形器15に出力する。同時に量子化ステップqを前の量子化ステップとdquant符号とから求め、符号変換器13に入力する。整形器15は新しいmcbpc符号をマクロブロックのヘッダに加えて出力する。符号変換器13は続くdquant符号を削除して出力は行なわない。
【0034】
続いて、DC係数の符号が入力される。量子化判定器8から量子化ステップQを入力し、量子化ステップqと比較し、入力されたDC係数の符号の大きさがq/Q倍となるように符号を変換する。例えば、入力されたDC係数の符号で、dct_dc_size_luminance符号(続くdct_dc_differential符号のビット長を表す可変長符号)が010であって、dct_dc_differential符号(DC成分の予測誤差を表す符号)が101であれば予測誤差の量子化結果が5であったとする。この場合、量子化ステップQが4でマクロブロックの量子化ステップqが8であれば、新しいDC係数の値は10となり、dct_dc_size_luminance符号が001、dct_dc_differential符号は1010に変換されセレクタ14を介して整形器15に出力される。
【0035】
続いて、各AC係数の符号が符号変換器13に入力される。符号変換器13では前のマクロブロックの量子化ステップとは異なる量子化ステップが発生した場合、符号変換設定器10に量子化ステップqを出力し、符号変換設定器10で生成された変換テーブルを入力する。
【0036】
符号変換設定器10で生成された変換テーブルは、入力されたAC係数の符号と該符号のレベルと該レベルをq/Q倍したレベルと、q/Q倍したレベルに対応するAC係数の符号との関係を明示したテーブルである。表1は、量子化ステップQが4でマクロブロックの量子化ステップqが8であった場合の変換テーブルの一例(一部のみ記載)である。
【0037】
【表1】
【0038】
すなわち、AC係数の符号0101011に対して、出力は000111011となる。なお、表1のラスト、ラン長、レベルは、符号が表す内容を示す。このような変換テーブルを全ての符号に対して生成し、符号変換器13に入力する。符号変換器13はこれらの変換テーブルに従って、順次AC係数の符号を変換し、セレクタ14を介して整形器15に出力する。整形器15はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース16を介して出力する。
【0039】
ヘッダ解析器4にvisual_object_sequence_end_code符号が入力されたら、それを整形器15に出力し、整形器15から通信インターフェース16に出力されたら全ての動作を終了する。
【0040】
以上の符号化データの変換処理の流れを、図2を用いて説明する。図2は、本実施形態に係る情報処理装置における符号化データ変換処理の流れを示すフローチャートである。
【0041】
ステップS1では、通信インターフェース2からVOS、VO(Video Objectのレイヤ)、VOL(Video Object Layerでビットストリームの最上位の階層)などのヘッダ情報を入力し、profile_and_level_indication符号を解析する。
【0042】
ステップS2では、入力された符号化データのプロファイルとSimple ProfileのLevelが判定される。入力された符号化データがSimple Profile@Level0であれば、ステップS13に進む。そうでなければステップS3に進む。
【0043】
ステップS13以降では入力された符号化データが既にSimple Profile@Level0であるので、符号の変換処理は行なわない。ステップS13では処理が終了したか否かを判定し、全てのVOPについて処理が終了していない場合はステップS14に進む。ステップS14では、フレーム(MPEG−4ではVOP)単位のフレームデータを読み込む。ステップS15では、読み込んだフレームデータをそのまま出力して、次のフレームデータの処理を行なう。ステップS13では処理の終了を判定しており、終了の場合には全ての動作を終了する。
【0044】
ステップS3以降では入力された符号化データがSimple Profile@Level0ではないため、符号の変換を行なう。
【0045】
ステップS3ではヘッダのprofile_and_level_indication符号をSimple Profile@Level0として変換を行ない、ヘッダを出力する。
【0046】
ステップS4では処理の終了判定を行なう。終了判定はvisual_object_sequence_end_code符号の検出有無による。処理が未終了と判定された場合、ステップS5に進み、終了と判定された場合には全ての動作を終了する。VOP単位のフレームデータを読み込む。ステップS6では、VOPのヘッダからvop_quant符号を復号して量子化ステップを抽出し、各マクロブロックのヘッダを解釈してmb_typeがintra+qであるものから量子化ステップを抽出して、ステップS7に進む。
【0047】
ステップS7では、量子化ステップにVOP内で変化があるか否かを判定し、量子化ステップに変化が無い場合はステップS10に、変化がある場合(つまり、量子化ステップがマクロブロック間で異なる場合)はステップS8に進む。ステップS10では入力されたフレームデータをそのまま出力する。
【0048】
ステップS8では、抽出された量子化ステップからVOPで単一の量子化ステップQを算出する(本実施形態では算出にあたり抽出された量子化ステップの最大公約数を用いることとするが、本発明はこれに限定されない)。そして量子化ステップQを符号化しておく。ステップS9では、VOPの各符号を変換して出力する。
【0049】
図3は本実施形態に係る情報処理装置におけるVOP単位でのフレームデータ変換処理(図2のステップS9)の詳細を示すフローチャートである。図3において、ステップS21では、VOPヘッダ中のvop_quant符号をステップS8(図2)で符号化した符号に置き換えて出力する。
【0050】
ステップS22では、VOP内の全てのマクロブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS23に、終了していれば、VOP内の処理が終了し、全ての符号を出力したとして次のVOPの処理に進む。
【0051】
ステップS23以降ではマクロブロック単位での処理を行なう。ステップS23では、量子化ステップQとマクロブロック単位で再生した量子化ステップqとを比較し、等しければステップS32に、そうでなければステップS24に進む。
【0052】
ステップS24では、前の量子化ステップq’と量子化ステップqとを比較する。もし等しければステップS27に進み、そうでなければステップS25に進む。ステップS25では、量子化ステップQと量子化ステップqとから可変長符号の変換テーブルを生成する。
【0053】
ステップS26では、マクロブロックのヘッダ情報の中のmb_typeがintra+qになっているので、これをintraに変換してmcbpc符号を生成する。また、マクロブロックのdquant符号は削除される。ステップS27では、マクロブロックのヘッダ情報が出力される。
【0054】
ステップS28以降では各ブロック単位の処理を行なう。ステップS28では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS29に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS22に進む。
【0055】
ステップS29では、DC係数の符号についてq/Qに基づいて変換を行ない、出力する。
【0056】
ステップS30では全てのAC係数の符号を変換処理したか否かを判定し、終了していれば、次のブロックの処理を行なうために、ステップS28に進む。そうでなければ、ステップS31に進む。
【0057】
ステップS31では、変換テーブルに従って、AC係数の符号を変換し、ステップS30に戻る。
【0058】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、量子化ステップを固定にしたMPEG−4 Simple Profile@Level0符号化方式のデータに変換することができる。この結果、変換にあたっての画質の劣化を回避することが可能となる。また、符号の変換も変換テーブルを参照して行なうことができるので、非常に高速に処理が行なえる。さらに、画素値を保存するメモリが不要なため、処理規模を抑えることが出来、コストの削減が可能になる効果もある。
【0059】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0060】
さらに、符号変換の方法はこれに限定されず、例えば、量子化ステップ毎に生成するのではなく、VLCメモリ9のメモリアドレスの操作で適合するデータを読み出すような構成にしてもかまわない。
【0061】
【第2の実施形態】
図4は本発明の第2の実施形態にかかる情報処理装置(サーバ1002)における符号化データ変換処理のための機能ブロック図である。本実施形態においても入力としてMPEG−4 Simple Profile@Level1または0の符号化データを、出力としてMPEG−4 Simple Profile@Level0の符号化データを例にとって説明するが、これに限定されない。サーバ1002は通常はコンピュータ1007等で再生するようにインターネット用の符号化データであるMPEG−4 Simple Profile@Level1の符号化データを出力するが、携帯TV電話1006からの要求があれば、MPEG−4 Simple Profile@Level0の符号化データに変換してから出力する。
【0062】
図4において、101は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図1と同様の構成要素については同一番号を付してその詳細な説明は省略する。102はコンテンツを格納している記憶装置である。ここでは説明を容易にするため、コンテンツの符号化方式をMPEG−4 Simple Profile@Level1で説明するが、これに限定されない。
【0063】
107はVOPの符号化データから変換係数の符号とその他の符号とを分離する分離器である。108はマクロブロックの符号化モードを判定するMBモード判定器である。109は入力された符号化データからAC予測の有無を判定するAC予測判定器である。110はMBモード判定器108の出力結果に基づいて出力先を選択するセレクタ、111はAC予測判定器109の出力結果に基づいて出力先を選択するセレクタである。
【0064】
112はDC係数の符号およびAC係数の符号の一部を復号するDC/AC復号器である。113はDC係数の符号を復号するDC復号器である。114はDC係数の符号を2ライン分保持するDCメモリであり、115はAC係数の符号の第1列のデータを1ライン分保持するAC−Vメモリである。116はAC係数の符号の第1行のデータを2ライン分保持するAC−Hメモリである。117はDCメモリの内容から該当するマクロブロックのDCおよびAC係数の予測符号化の予測方向を決定する予測方向判定器である。118はAC係数の符号を復号するAC復号器である。119はAC予測を行ない、スキャンの種類に応じてAC係数を並び替えるAC予測器である。
【0065】
120はAC係数の符号化を行なうAC符号化器である。121はプロファイル変換器5、ヘッダ解析器4、セレクタ6、セレクタ110、セレクタ111、分離器107、AC符号化器120の出力をMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。121はインターネット網1003に接続されている通信インターフェースである。
【0066】
上記のように構成された情報処理装置における符号化データの変換処理の詳細を以下に説明する。なお、本実施形態では携帯テレビ電話1006より、MPEG−4 Simple Profile@Level0の符号化データに変換してから出力するよう要求がなされたものとする。処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。
【0067】
また、記憶装置102では変換するMPEG−4符号化方式の符号化データが選択され、その読み出し開始位置を設定する。
【0068】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部101に入力する。情報処理部101の分離器3は符号化データを読み込み、ヘッダやフレームデータに分離する。ヘッダはヘッダ解析器4に入力される。ヘッダ解析器4では、入力された符号化データのプロファイルを判別し、セレクタ6を第1の実施形態と同様に制御する。
【0069】
抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器121に出力される。その他の符号はヘッダ解析器4から直接、整形器121に入力される。整形器121はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。Simple Profile@Level0であった場合、整形器121は何もせず、そのまま入力を出力する。
【0070】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力する。入力された1VOP分のフレームデータはセレクタ6を介して、メモリ7に格納される。
【0071】
続いて、各マクロブロックのフレームデータが読み出され、分離器107に入力される。分離器107はマクロブロックの符号のうち、mcbpc符号、ac_pred_flag符号、変換係数に関する符号以外(dquant符号、動き補償に関する符号等)はそのまま整形器120に入力される。
【0072】
mcbpc符号、ac_pred_flag符号はMBモード判定器108に入力される。mcbpc符号からマクロブロックの符号化モードを判定し、intra符号化であれば、セレクタ110の出力をセレクタ111に設定し、そうでなければセレクタ110の出力を整形器121に設定する。intra符号化であれば、AC予測判定器109にac_pred_flag符号を入力し、AC予測を行なうか否かを判定する。ac_pred_flag符号が0であればセレクタ111の出力をDC/AC復号器112とし、そうで無ければDC復号器113、AC復号器118とする。
【0073】
入力されたマクロブロックの符号化データがintraマクロブロックでない場合、分離器107で分離されたフレームデータはセレクタ110を介して整形器121に出力される。結果的には何も処理されずに出力される。
【0074】
入力されたマクロブロックの符号化データがintraマクロブロックであった場合、ac_pred_flag符号が0であれば、AC予測を行なっていないので、フレームデータはセレクタ110、セレクタ111を介してDC/AC復号器112と整形器121に入力される。整形器121に入力された符号には何も処理は加わらない。
【0075】
DC/AC復号器112はDC係数の符号とAC係数の符号の一部を復号する。AC予測を行なわない場合の変換係数の並び順を図5(c)に示す。ここで、AC予測に用いられるのはAC係数の第1行と第1列の係数のみであるから、35番目のAC係数の符号までを復号する。すなわち復号時にランレングスを計数し、35以上になったときに復号を打ち切る。予測方向判定器117はDCメモリ114に格納された周囲のDC係数の値からDC予測の方向を決定し、DC/AC復号器112に入力する。復号されたDC係数の符号は、DCメモリ114から予測を行ない、DC係数を再生してDCメモリ114に格納する。復号されたAC係数の符号のうち、第1行の7つの係数に関してはAC−Hメモリ116に、第1列の7つの係数に関してはAC−Vメモリ115に格納する。
【0076】
ac_pred_flag符号が1であれば、AC予測を行なっているので、符号化データはセレクタ110、セレクタ111を介してDC係数の符号はDC復号器113に、AC係数の符号はAC復号器118に入力される。予測方向判定器117はDCメモリ114に格納された周囲のDC係数の値からDC予測の方向を決定し、DC復号器113、AC復号器118に入力する。DC復号器113はDC係数の符号を復号し、DCメモリ114から予測を行ない、DC係数を再生してDCメモリ114に格納する。
【0077】
AC復号器118はAC係数の符号の復号を63個のAC係数について行ない、その結果をAC予測器119に入力する。また、そのAC係数のうち、第1列のAC係数はAC−Hメモリ116に、第1行のAC係数はAC−Vメモリ115に格納される。予測方向判定器117の結果に基づきAC係数の予測と並び替えを行なう。図5にそれぞれのAC係数の並びを示す。図5(a)は直上のブロックを参照する場合であり、第1行のAC係数(太枠内)が予測対象係数である。図5(b)は直左のブロックを参照する場合であり、第1列のAC係数(太枠内)が予測対象係数である。予測方向判定器117の結果が直上のブロックを参照している場合、AC−Hメモリ116からAC成分を読み出し、復号結果と合せてAC係数を再生し、図5(c)の順に係数を並び替えてAC符号化器120に出力する。直左のブロックを参照している場合、AC−Vメモリ115からAC成分を読み出し、復号結果と合せてAC係数を再生し、図5(c)の順に係数を並び替えてAC符号化器120に出力する。
【0078】
AC符号化器120はこれらを符号化し、整形器121に入力する。整形器121はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。
【0079】
以上の符号化データの変換処理の流れを図6に示す。図6は、本実施形態に係る情報処理装置(サーバ1002)における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0080】
図7は本実施形態に係る情報処理装置におけるフレームデータ変換処理(図6のステップS101)の処理の詳細を示すフローチャートである。
【0081】
ステップS121では、フレームデータのVOPヘッダをそのまま出力する。
【0082】
ステップS122では、VOP内の全てのマクロブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS123に、終了していれば、全ての符号を出力したとして次のVOPの処理に進む。
【0083】
ステップS123以降ではマクロブロック単位での処理を行なう。ステップS123では、マクロブロックの符号化モードがintraか否かを判定する。intra符号化であればステップS124に、そうでなければステップS129に進む。
【0084】
ステップS129では、入力したマクロブロックの符号化データをそのまま出力し、ステップS122に進み、次のマクロブロックの処理を行なう。
【0085】
ステップS124では、ac_pred_flag符号が1であるか否かを判定し、1であればステップS125に進み、そうでなければステップS130に進む。
【0086】
ステップS125では、ac_pred_flag符号を0に変換する。ステップS126ではac_pred_flag符号を含むマクロブロックのヘッダ情報を出力する。
【0087】
ステップS127以降では後述する各ブロック単位の変換処理を行なう。ステップS127では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS128に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS122に進む。
【0088】
ステップS130ではマクロブロックのヘッダ情報をそのまま出力する。
【0089】
ステップS131以降では後述する各ブロック単位の変換処理を行なう。ステップS131では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS132に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS122に進む。
【0090】
ステップS132では、周囲ブロックのDC係数の符号から予測の方向を決定する。ステップS133では、その予測の方向に従ってDC係数の符号を復号し、格納する。ステップS134では、AC係数の符号を35個のAC係数までを復号し、格納する。ステップS135では入力されたブロックの符号をそのまま出力してステップS131に進み、次のブロックの処理を行なう。
【0091】
図8は本実施形態に係る情報処理装置におけるブロック単位での変換処理(図7のステップS128)の詳細を示すフローチャートである。
【0092】
ステップS141では、周囲ブロックのDC係数の符号から予測の方向を決定する。ステップS142では、その予測の方向に従ってDC係数の符号を復号し、格納する。ステップS143では、予測方向が直上のブロックであった場合、ステップS144に、直左のブロックであった場合、ステップS149に進む。
【0093】
ステップS144では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS145に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をする。
【0094】
ステップS145では、AC係数の符号を復号する。ステップS146では、復号されたAC係数を直上ブロックのAC係数の第1列の7つから予測を行ない、再生する。ステップS147では、図5(c)の順でAC係数を並び替え、符号化を行ない出力する。ステップS148では再生したAC係数の第1列の7つの係数と第1行の7つの係数を格納しておき、ステップS144に進む。
【0095】
ステップS150では、AC係数の符号を復号する。ステップS151では、復号されたAC係数を直左ブロックのAC係数の第1行の7つから予測を行ない、再生する。ステップS152では、図5(c)の順でAC係数を並び替え、符号化を行ない出力する。ステップS153では再生したAC係数の第1列の7つの係数と第1行の7つの係数を格納しておき、ステップS149に進む。
【0096】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうことなく、AC予測を使用しないMPEG−4 Simple Profile@Level0符号化方式の符号化データに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。また、画素値を保存するメモリが不要なため、処理規模を抑えることができ、コストの削減が可能になる効果もある。
【0097】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0098】
また、DC復号やAC復号に関して、同じ機能のものをまとめてももちろん構わない。例えば、DC/AC復号器112とDC復号器113、AC復号器118を統合してももちろん構わない。
【0099】
【第3の実施形態】
上記第1の実施形態では、入力された符号化データをSimple Profile@Level0に変換するにあたり、量子化ステップを固定にした符号化データに変換する場合について説明し、上記第2の実施形態では、入力された符号化データをSimple Profile@Level0に変換するにあたり、AC予測を使用しない符号化データに変換する場合について説明したが、本実施形態ではこれらの2つの処理を切り替えて使用可能な情報処理装置について説明する。
【0100】
図9は、本発明の第3の実施形態に係る情報処理装置の構成を示すブロック図である。図9において、200は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図1と同様の構成要素については同一番号を付してその詳細な説明は省略する。201は少なくとも1VOP分の符号化データを格納するフレームメモリであり、202は第1の実施形態で説明した情報処理部1の機能を有する符号データ変換装置であり、203は第2の実施形態で説明した情報処理部101の機能を有する符号データ変換装置である。204はそれぞれで生成された符号化データの符号長を判定する符号長判定器であり、205は符号長判定器204の出力結果に基づき、入力先を選択するセレクタである。206はMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。
【0101】
上記のように構成された情報処理装置における符号化データの変換処理の詳細を以下に説明する。第2の実施形態と同様に、処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。
【0102】
また、記憶装置102では変換するMPEG−4符号化方式の符号化データが選択され、その読み出し開始位置を設定する。
【0103】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部200に入力する。最初にVOS、VO、VOLなどのヘッダ情報が入力され、フレームメモリ201に格納される。ヘッダ解析器4では、入力された符号化データのプロファイルを判別し、セレクタ6を第1の実施形態と同様に制御する。また、ヘッダ情報はセレクタ6を介して符号データ変換装置202および符号化データ変換装置203に入力され、各部の初期化を行なう。但し、この時、ヘッダデータの変換・出力は行なわない。
【0104】
ヘッダ解析器4で抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器206に出力される。それ以外の符号はヘッダ解析器4から直接、整形器206に入力される。整形器206はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。入力された符号化データがSimple Profile@Level0であった場合、整形器206は何もせず、そのまま出力する。
【0105】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力し、フレームメモリ201に格納する。格納された1VOP分のフレームデータはセレクタ6を介して、符号化データ変換装置202および符号化データ変換装置203に入力される。この時各符号化データ変換装置ではフレームデータの変換のみを行なうように動作する。
【0106】
それぞれの符号化データ変換装置(202、203)で変換されたフレームデータの符号長が計測され、符号長判定器204に入力される。符号長判定器204では符号長の短いものを選択して出力するようにセレクタ205を制御する。従って、符号長の短い符号化データが選択され、整形器206に出力され、通信インターフェース122を介して出力される。
【0107】
以上の符号化データの変換処理の流れを、図11を用いて説明する。図11は、本実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0108】
ステップS201では、第1の実施形態と同様に量子化ステップを固定にしたフレームデータに変換する。この時の符号長をFQとする。
【0109】
ステップS202では、第2の実施形態と同様にAC予測を使用しないフレームデータに変換する。この時の符号長をNAとする。
【0110】
ステップS203では、これらの符号長FQとNAとを比較する。符号長FQが符号長NAよりも大きければステップS205に、そうでなければステップS204に進む。
【0111】
量子化ステップが固定のフレームデータに変換した方が小さい場合には、ステップS204において量子化ステップを固定にしたフレームデータを出力し、ステップS4に進んで次のVOPのフレームデータの処理を行なう。
【0112】
AC予測を使用しないフレームデータに変換した方が小さい場合には、ステップS205においてAC予測を使用しないフレームデータを出力し、ステップS4に進んで次のVOPのフレームデータの処理を行なう。
【0113】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、符号長を比較し、符号長の短い方の符号化データを出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。
【0114】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0115】
さらには、本実施形態ではVOP単位で変換方法を選択したが、これに限定されず、スライス等の単位で行なってもかまわない。
【0116】
【第4の実施形態】
図10は、本発明の第4の実施形態に係る情報処理装置の構成を示すブロック図である。図10において、250は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図9と同様の構成要素については同一番号を付してその詳細な説明は省略する。251は符号の一部から符号長を推定する符号長推定器である。252はセレクタであり、符号長推定器251の出力に応じて出力先を選択する。
【0117】
上記のように構成された情報処理装置における符号化データの変換処理を以下で説明する。第3の実施形態と同様に、処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。記憶装置102も読み出し開始位置を設定する。
【0118】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部250に入力する。最初にVOS、VO、VOLなどのヘッダ情報が入力され、入力された符号化データのプロファイルを判別し、セレクタ6を第3の実施形態と同様に制御する。符号データ変換装置202および符号データ変換装置203の初期化を行なう。
【0119】
ヘッダ解析器4で抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器206においてこれらのヘッダデータはMPEG−4符号化方式の書式に従ったヘッダ情報に整形され、通信インターフェース122を介して出力される。Simple Profile@Level0であった場合も第3の実施形態と同様である。
【0120】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力し、第3の実施形態と同様に、符号データ変換装置202および符号データ変換装置203に入力される。
【0121】
それぞれの符号データ変換装置(202、203)で変換された符号化データの符号長が計測され、符号長推定器251とセレクタ252に入力される。符号長推定器251では出現する量子化ステップの数sとac_pred_flag符号が1のマクロブロックの数mとを計数する。また、VOPの符号長Lも計数する。ここで、量子化ステップを固定にした場合の予測符号長LsとAC予測を使用しない場合の予測符号長Lmとを算出する。算出は下記の式によって行なう。
Ls=s×α ・・・(1)
Lm=m×β ・・・(2)
この時のαは量子化ステップを変更した場合の平均の符号長変化率である。例えば、第1の実施形態の表1において、平均で1.47倍になっている場合はαは1.47とする。βも同様にAC予測を使用しない場合の平均の符号長変化率であり、これは経験的に設定される。
【0122】
これらの予測符号長を比較して、符号長の短いものを選択して出力するようにセレクタ252とセレクタ205とを制御する。選択された側の符号変換器のみを動作させて符号の変換を行ない、整形器206を経由して通信インターフェース122により出力する。
【0123】
以上の符号化データの変換処理の流れを、図12を用いて説明する。図12は、本実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2、図11と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0124】
ステップS251では、量子化ステップを固定にした場合の予測符号長LsとAC予測を使用しない場合の予測符号長Lmとを比較する。予測符号長Lsが予測符号長Lmより大きければステップS252に、そうでなければステップS255に進む。
【0125】
ステップS252では処理の終了判定を行ない、visual_object_sequence_end_code符号を検出し、判定する。処理が未終了の場合、ステップS253に進み、終了の場合には全ての動作を終了する。
【0126】
ステップS253ではVOP単位のフレームデータを読み込む。ステップS254では、第1の実施形態と同様に量子化ステップを固定にするフレームデータに変換し、出力する。その後、次のVOPの処理を行なうため、ステップS252に進む。
【0127】
ステップS255でもステップS252と同様に終了判定を行なう。ステップS256では、第2の実施形態と同様にAC予測を使用しないでフレームデータに変換し、出力する。その後、次のVOPの処理を行なうため、ステップS255に進む。
【0128】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、予測符号長を比較し、予測符号長の短い方の符号化データに変換し、出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。さらに、符号の変換方式を切り替えて動作させるため、処理量を減らすことができ、高速化が図れる。
【0129】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0130】
さらに、本実施形態ではVOP単位で変換方法を選択したが、これに限定されず、スライス等の単位で行なってもかまわない。
【0131】
本実施形態では、出現する量子化ステップの数sとac_pred_flag符号が1のマクロブロックの数を用いて符号長を推定したがこれに限定されず、他の情報、例えば量子化ステップの値を用いても構わないし、別な計算方法を用いても構わない。
【0132】
【第5の実施形態】
図13は、本発明の第5の実施形態に係る情報処理装置のハードウェア構成を示す図である。本実施形態は図16のサーバ1002を例にとって説明する。図13において、300は装置全体の制御、及び種々の処理を行なう中央演算装置(CPU)、301は本装置の制御に必要なオペレーティングシステム(OS)、ソフトウェア、演算に必要な記憶領域を提供するメモリである。302は種々の装置をつなぎ、データや制御信号をやり取りするバスである。303は装置の起動、各種条件の設定、再生の指示を行なうための端末である。304はソフトウェアを蓄積する記憶装置である。305は動画像データを蓄積する記憶装置、306は画像を撮像するカメラである。記憶装置304および、305はシステムから切り離して移動できるメディアで構成することも出来る。ここでは説明を簡単にするため、記憶装置305に蓄積されている動画像符号化データはSimple Profile@Level1で符号化されているとする。307は画像を表示するモニタであり、308は通信回路であり、LAN、公衆回線、無線回線、放送電波等で構成されている。309は通信回路308を介して画像データを送受信する通信インターフェースである。通信回線308はインターネット網1003に接続している。
【0133】
メモリ301には装置全体を制御し、各種ソフトウェアを動作させるためのOSや動作させるソフトウェアを格納し、入力される符号化データを格納する入力符号化データエリア、出力する符号化データを格納する出力符号化データエリア、復号した量子化ステップ等のパラメータ、DC係数やAC係数等を格納しておくワーキングエリアが存在する。
【0134】
このような構成において、記憶装置305に格納されたMPEG−4 Simple Profile@Level1の符号化データを通信インターフェースから送信する符号化データ送信処理について説明する。
【0135】
処理に先立ち、端末303から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置304に格納されているソフトウェアがバス302を介してメモリ301に展開され、ソフトウェアが起動される。
【0136】
メモリ301のメモリの使用、格納状況を図14に示す。メモリ301には装置全体を制御し、各種ソフトウェアを動作させるためのOS、通信を制御する通信ソフトウェア、符号化データ変換ソフトウェアが展開されている。その後、通信ソフトウェアを起動して通信回線308を通じて相手との通信路を確保する。
【0137】
その後、通信路を用いて、送信先に要求されるプロファイルとレベルを問い合わせ、その結果をメモリ301のワーキングエリアに格納する。インターネット網1003に接続されたコンピュータ1007等で再生するようにインターネット用の符号化データであるMPEG−4 Simple Profile@Level1が要求され、携帯テレビ電話1006からの要求であれば、MPEG−4 Simple Profile@Level0が要求される。
【0138】
次に、CPU300による符号化データの変換処理について図15を用いて説明する。ステップS301では、記憶装置305に記録されている動画像符号化データのヘッダ情報を読み出し、メモリ301の入力符号データエリアに格納する。
【0139】
ステップS302では、得られたヘッダ情報から動画像符号化データのプロファイルおよびレベルとメモリ301のワーキングエリアに格納されている、要求されているプロファイルおよびSimple ProfileのLevelを比較する。もし、要求がSimple Profile@Level1であれば、ステップS317に進み、そうでなければステップS303に進む。
【0140】
ステップS317では、メモリ301の入力符号データエリアのヘッダ情報を、通信インターフェース309を介して送出する。
【0141】
ステップS318では、処理の終了判定を行ない、visual_object_sequence_end_code符号を検出し、判定する。処理が未終了の場合、ステップS319に進み、終了の場合には全ての動作を終了する。
【0142】
ステップS319では、続いて、記憶装置305から動画像符号化データの符号化データのVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。ステップS320では、メモリ301の入力符号データエリアの符号化データを、通信インターフェース309を介して送出し、次のVOPの処理を行なうため、ステップS318に進む。
【0143】
ステップS303では、符号化データ変換ソフトウェアを起動してヘッダの変換を行なう。すなわち、profile_and_level_indication符号を置換してメモリ301の出力符号データエリアに格納する。
【0144】
ステップS304では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。
【0145】
ステップS305では、記憶装置305から動画像符号化データの符号化データのVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。読み出した後で読み出し位置を読み出したVOPの先頭に戻しておく。
【0146】
ステップS306では、メモリ301の入力符号データエリアに格納されている符号化データからmcbpc符号を読み出し、量子化ステップの変化する幅Pを算出する。その後、次式に従って、予測符号長Lsを算出する。
Ls=P×γ ・・・(3)
但し、γは量子化ステップを固定に変換した時に観測される経験則に基づく係数である。
【0147】
ステップS307では、各MBの平均符号長Mを算出する。その後、次式に従って、予測符号長Lmを算出する。
Lm=M×ρ ・・・(4)
但し、ρはAC係数の予測を使用しないで変換したときに観測される経験則に基づく係数である。
【0148】
ステップS308では、予測符号長Lsと予測符号長Lmとを比較し、予測符号長Lsが予測符号長Lmより大きければ、ステップS313に、そうでなければステップS309に進む。
【0149】
ステップS309では、処理の終了判定を行ない、記憶装置305の動画像符号化データの全VOPを処理したか否かを判定し、処理が未終了の場合、ステップS310に進み、終了の場合には全ての動作を終了する。
【0150】
ステップS310では、記憶装置305から動画像符号化データのフレームデータをVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。
【0151】
ステップS311では、メモリ301の入力符号データエリアのフレームデータを第1の実施形態の図3に示した変換処理によって変換し、メモリ301の出力符号データエリアに格納する。
【0152】
ステップS312では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。その後、次のフレームデータの処理を行なうため、ステップS309に進む。
【0153】
ステップS313では、ステップS309と同様に、処理が未終了の場合、ステップS253に進み、終了の場合には全ての動作を終了する。
【0154】
ステップS314では、ステップS310と同様に、VOP単位のフレームデータをメモリ301の入力符号データエリアに格納する。
【0155】
ステップS315では、メモリ301の入力符号データエリアのフレームデータを第2の実施形態の図7に示した変換処理によって変換し、メモリ301の出力符号データエリアに格納する。
【0156】
ステップS316では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。その後、次のフレームデータの処理を行なうため、ステップS313に進む。
【0157】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、符号長を予測し、予測符号長の短い方の符号化データに変換し、出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。さらに、符号の変換方式を切り替えて動作させるため、処理量を減らすことができ、高速化が図れる。
【0158】
なお、本実施形態の各部または全部の機能をハードウェアで実現してもかまわない。
【0159】
さらに、本実施形態ではコンテンツ単位で変換方式を選択したが、これに限定されず、VOP単位やスライス等の単位で行なってももちろんかまわない。
【0160】
本実施形態では、出現する量子化ステップの幅Pとマクロブロックの平均符号長を用いて全体の符号長を推定したがこれに限定されず、他の情報、例えば量子化ステップの値を用いても構わないし、別な計算方法を用いても構わない。
【0161】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェイス機器、カメラ、記録装置など)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、カムコーダ、ビデオ録画装置など)に適用してもよい。
【0162】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0163】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0164】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0165】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0166】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0167】
【発明の効果】
以上説明したように本発明によれば、画質を劣化させることなく、所定の仕様で符号化されたデータを異なる仕様の符号化データに高速に、かつ低コストで変換させることが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にかかる情報処理装置(ゲートウェイ1004)における符号化データ変換処理のための機能ブロック図である。
【図2】本発明の第1の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図3】本発明の第1の実施形態に係る情報処理装置におけるVOP単位での符号化データ変換処理を示すフローチャートである。
【図4】本発明の第2の実施形態にかかる情報処理装置(サーバ1002)における符号化データ変換処理のための機能ブロック図である。
【図5】一般的なAC係数の並びを示す図である。
【図6】本発明の第2の実施形態に係る情報処理装置(サーバ1002)における符号化データ変換処理を示すフローチャートである。
【図7】本発明の第2の実施形態に係る情報処理装置におけるフレームデータ変換処理の詳細を示すフローチャートである。
【図8】本発明の第2の実施形態に係る情報処理装置におけるブロック単位での符号化データ変換処理の詳細を示すフローチャートである。
【図9】本発明の第3の実施形態に係る情報処理装置の構成を示すブロック図である。
【図10】本発明の第4の実施形態に係る情報処理装置の構成を示すブロック図である。
【図11】本発明の第3の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図12】本発明の第4の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図13】本発明の第5の実施形態に係る情報処理装置の構成を示す図である。
【図14】本発明の実施形態にかかる情報処理装置を構成するメモリの使用、格納状況を示す図である。
【図15】本発明の第5の実施形態にかかる情報処理装置を構成するCPU300による符号化データの変換処理の流れを示す図である。
【図16】本発明の一実施形態にかかる情報処理装置を備えるシステムの一例を表した図である。
【発明の属する技術分野】
本発明は、所定の仕様で符号化された符号化データの変換処理に関するものであり、特に動画像の符号化データの変換処理に関するものである。
【0002】
【従来の技術】
近年、PCの普及に伴い、インターネットで動画像をやり取りしたり、配信したりする際の符号化方式としてISO(International Organization for Standardization:国際標準化機構)が標準化したMPEG(Moving Picture Coding Experts Group)−4符号化方式が利用され始めている。MPEG−4符号化方式は1999年に国際標準として制定されたものであり、従来のMPEG−1、2といった符号化方式に比べ、特に低ビットレートに向いており、インターネットで動画像をやり取りしたり、動画メールを配信したりするのに適している。また、デジカメの動画像記録方式として普及しつつある。MPEG−4の規格に関してはISO/IEC14496−2にその詳細が記載されている。
【0003】
MPEG−4符号化方式はその用途が非常に幅広いことから種々のツールが盛り込まれている。そのため、各アプリケーションでの利用を考え、アプリケーションごとに必要なツール群を設定し、Profileとして定義している。さらにその仕様の規模からLevelに細分化されている。そして、一般に上記のようなPC上のアプリケーションではSimple Profile@Level1以上が利用されている。
【0004】
一方、携帯電話等の無線通信の分野においても大容量・高速化が進んでいる。ITU(International Telecommunication Union)ではIMT−2000(International Mobile Telecommunication−2000)として第3世代の携帯電話のサービスに関する標準化を進めてきた。その結果、携帯テレビ電話の実現も可能な方式が標準化された。ここでもMPEG−4が符号化方式として選択されることとなった。
【0005】
【発明が解決しようとする課題】
しかしながら、無線通信の分野では、端末間での互換性を保つために、H.324(Terminal for low bit−rate multimedia communication)の中で種々の規定がなされている。特に携帯電話の普及を目的としている3GPPでは、3GPP TR26.911の中でMPEG−4ビデオコーデックとしてSimple Profile@Level0を新たに追加して、その使用を推奨している。
【0006】
そして、Simple Profile@Level0の特徴として、他のLevelとツールの使用に関してAC予測を使用する場合はQP値(量子化ステップ)をVOP(フレーム)内で固定にし、AC予測を使用しない場合は、QPは可変でもかまわない、といった制限が追加された。
【0007】
このため、インターネット上で流布されているMPEG−4 Simple Profile@Level1のストリームは、無線通信の分野におけるH.324の規定により直接携帯電話等に伝送できないといったことが生じ得る。また、直接伝送できる場合であっても、復号するには受信端末側が上位のLevel(Simple Profile@Level1以上のLevel)に対応していることが条件となるため、例えば、MPEG−4 Simple Profile@Lavel1のストリームは、Simple Profile@Level0にしか対応していない携帯電話では復号できないという問題があった。
【0008】
これに対して、このようなSimple ProfileのLevel差の問題を解消すべく、例えば、所定の仕様で符号化されたデータ(例えば、Simple Profile@Level1のストリーム)を一旦、画像データまで復号し、再度、異なる仕様(例えば、Simple Profile@Level0)で符号化し直すといった手段も考えられる。しかし、かかる手段により処理を行なった場合、画質の劣化を伴うとともに、処理のための大容量のメモリが必要となるうえ、処理時間がかかるといった問題が生じる。
【0009】
本発明は上記課題に鑑みてなされたものであり、画質を劣化させることなく、所定の仕様で符号化されたデータを異なる仕様の符号化データに高速に、かつ低コストで変換させることが可能な処理技術を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する符号化手段とを備える。
【0011】
【発明の実施の形態】
はじめに本発明にかかる実施形態の概要について説明する。以下の各実施形態においては、一例としてSimple Profile@Level1の符号化データを、Simple Profile@Level0の符号化データに変換する場合について述べる。
【0012】
上述したように、Simple Profile@Level0の符号化データは、「AC予測を使用する場合はQP値(量子化ステップ)をVOP(フレーム)内で固定にし、AC予測を使用しない場合は、QP値はVOP内で可変でもかまわない」という制限がつくということを特徴の1つとしている。
【0013】
このため、かかる制限に対応すべく、入力された符号化データがSimpleProfile@Level0以外の仕様で符号化されたデータであった場合には、Simple Profile@Level0の符号化データに変換するにあたり、AC予測を使用した符号化データ(量子化ステップ固定)に変換するケースと、AC予測を使用しない符号化データ(量子化ステップ可変)に変換するケースとの2つのケースの処理が考えられる。
【0014】
一つ目のAC予測を使用した符号化データに変換するケースにおいては、QP値(量子化ステップ)をVOP(フレーム)内で固定にしなければならないことから、入力された符号化データを構成する各マクロブロックの量子化ステップを参照して、もし各マクロブロックごとに量子化ステップが異なっていた場合には、単一の量子化ステップを決定すると共に、各マクロブロックの量子化ステップで量子化した場合と等価な符号化データに変換する。ここで、各マクロブロックの量子化ステップで量子化した場合と等価な符号化データとは、復号したときに同一のDCT係数(または画像データ)が得られる関係にあることをいうものとする。例えば、画像データをDCT変換してDCT係数を算出し、各マクロブロックごとの量子化ステップにより該DCT係数を量子化した結果得られた変換係数を可変長符号化した場合の符号化データと、同じ画像データをDCT変換してDCT係数を算出し、単一の量子化ステップにより該DCT係数を量子化した結果得られた変換係数を可変長符号化した場合の符号化データとは、等価な関係にあると言える。
【0015】
そして、かかる変換処理は、Simple Profile@Level1で符号化したデータを、一旦、画像データまで復号するのではなく、符号化データから符号化データへ直接変換することとなるため、画質の劣化がなく、処理速度を高速化できるうえ、大容量のメモリが不要となり、安価な情報処理装置を提供できることとなる。
【0016】
一方、二つ目のAC予測を使用しない符号化データに変換するケースにおいては、QP値(量子化ステップ)は各マクロブロックごとに異なっていても構わないが、各マクロブロック間で符号化にあたってのスキャン方向は単一にしなければならない。そこで、入力された符号化データを変換係数まで復号し、AC予測の方向を判定したうえで、既定の単一のスキャン方向でスキャンした場合と等価となるように、変換係数の並べ替えを行なった上で、再度符号化する。
【0017】
この場合も、Simple Profile@Level1で符号化したデータを、一旦、画像データまで復号するのではなく、変換係数まで復号するにとどめ、変換係数を並べ替えたものを再符号化するため、画質の劣化がなく、処理速度を高速化できるうえ、大容量のメモリが不要となり、安価な情報処理装置を提供できることとなる。
【0018】
以下、第1から第5の実施形態において詳細に説明する。なお、説明に用いる各用語は、以下の意味を示すものとする。
▲1▼画像データ:符号化される元データ。
▲2▼DCT係数:画像データをDCT変換したもの。
▲3▼変換係数:DCT係数を量子化したもの。
AC係数:ブロック(8×8)ごとの変換係数のAC(交流)成分。
DC係数:ブロック(8×8)ごとの変換係数のDC(直流)成分。
▲4▼変換係数の符号:変換係数を可変長符号化したもの。
AC係数の符号:ブロック(8×8)ごとの変換係数のAC成分を可変長符号化したもの。
DC係数の符号:ブロック(8×8)ごとの変換係数のDC成分を可変長符号化したもの。
▲5▼その他の符号:符号化データを構成する符号のうち、変換係数の符号を除く他の符号。
▲6▼符号化データ:画像データを符号化したもの。符号化の最小単位はマクロブロックであり、それぞれにヘッダと変換係数の符号が含まれている。また、これらをフレーム単位でまとめてヘッダを含めて、フレームの符号化データとなる。
▲7▼量子化テーブル:DCT係数を量子化する際に用いるテーブル、量子化ステップ×量子化マトリックスにより求められる。
▲8▼符号化テーブル:変換係数を可変長符号化する際に用いるテーブルで、ランレングス、レベル、符号との関係を記載したもの。
レベル:変換係数を可変長符号化する際に用いられるレベル(ランレングスと組み合わせて用いることで可変長符号化が行なわれる)。
▲9▼変換テーブル:本実施形態にかかる符号化データ変換処理を行なう際に用いるテーブルで、入力されるSimple Profile@Level1による変換係数の符号と、Simple Profile@Level0による変換係数の符号との対応関係を記述したもの。
【0019】
【第1の実施形態】
図16は本発明の一実施形態にかかる情報処理装置(ゲートウェイ1004)を備えるシステムの一例を表したものである。1001はMPEG−4のSimple Profile@Level1でコンテンツを記録するカムコーダであり、1002はコンテンツを管理するサーバであり、1003はLANなどで構成されるインターネット網である。1005はIMT−2000で構成される無線電話網である。1004はインターネット網1003と無線電話網1005との間でプロトコルの交換等を行なうゲートウェイである。1006はコンテンツを再生する携帯テレビ電話であり、1007はコンテンツを再生するコンピュータである。
【0020】
以下、本発明の第1の実施形態にかかる情報処理装置を、図面を用いて詳細に説明する。図1は本発明の第1の実施形態にかかる情報処理装置(ゲートウェイ1004)における符号化データ変換処理のための機能ブロック図である。
【0021】
図1において、1は符号化データの変換処理を行なう情報処理部である。2は通信インターフェースであり、LAN等のネットワーク1003に接続されており、サーバ1002上のMPEG−4 Simple Profile@Level1で符号化された符号化データを入力する。なお、ここでは説明を容易にするため、Simple Profile@Level1を入力する場合について説明するが、これに限定されない。3は入力された符号化データをヘッダと各フレームデータとに分離する分離器である。4は分離されたヘッダを解析するヘッダ解析器、5はヘッダのプロファイルに関する符号を変換するプロファイル変換器である。6はヘッダ解析器4の出力結果に基づいて出力先を選択するセレクタである。7は1VOP分のフレームデータを蓄積するメモリである。8は量子化ステップに関する符号を抽出して判定する量子化判定器である。9は符号化テーブルを格納しているVLCメモリであり、10はVLCメモリ9の内容(符号化テーブル)を量子化判定器8の結果に基づいて加工する符号変換設定器である。11はフレームデータから変換係数の符号とそれ以外の符号とを分離する分離器であり、12、14は量子化判定器8の出力によって入出力先を変更するセレクタである。13は入力された変換係数の符号を符号変換設定器10の出力と比較して符号を変換する符号変換器である。15はプロファイル変換器5、ヘッダ解析器4、量子化判定器8、セレクタ6、セレクタ14、分離器11の出力をMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。16は無線電話網1005に接続されている通信インターフェースである。
【0022】
上記のように構成された情報処理装置における符号化データの変換処理を以下に説明する。処理に先立ち、各部の初期化を行なうことで、メモリ7はクリアされ、各部のパラメータがリセットされる。
【0023】
通信インターフェース2からMPEG−4 Simple Profile@Level1の符号化データが入力され、分離器3に入力される。分離器3ではVOS、VO、VOLなどのヘッダ情報を分離してヘッダ解析器4に入力する。
【0024】
ヘッダ解析器4はVOS(Visual Object Sequenceレイヤでビットストリームの最上位の階層)に含まれるprofile_and_level_indication符号(ProfileとLevelを表す8ビットの符号)を抽出し、入力された符号化データのプロファイルを判別する。もし、入力された符号化データがSimple Profile@Level0であれば、以後、visual_object_sequence_end_code符号(ビットストリームの最後を表す32ビットの一意の符号)が検出されるまで、セレクタ6の出力を整形器15としておく。
【0025】
そうでなければ、セレクタ6の出力はメモリ7となる。抽出したprofile_and_level_indication符号はプロファイル変換器5に入力され、Simple Profile@Level0を表す符号「00001000」(ISO/IEC 14496−2により規定されている)を整形器15に出力する。
【0026】
その他の符号はヘッダ解析器4から直接、整形器15に入力される。整形器15はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース16を介して出力する。なお、入力された符号化データがSimple Profile@Level0であった場合でも本装置は対応可能で、整形器15は何もせず、そのまま入力された符号化データを出力する。
【0027】
続いて、通信インターフェース2からSimple Profile@Level1の符号化データがフレームデータを入力する。入力された1VOP分のフレームデータはセレクタ6を介して、メモリ7に格納される。量子化判定器8はメモリ7に蓄積されたフレームデータから量子化ステップを表すvop_quant符号(VOPの量子化ステップの初期値を表す符号)と、各マクロブロックの符号化モード(mb_type)を表すmcbpc符号とを検出し、まず、vop_quant符号を復号し、量子化ステップqを記憶しておく。
【0028】
続いて、各マクロブロックのmcbpc符号(mb_typeと色度の符号化されたブロックの構成を表す可変長符号)を参照し、mb_typeを判別する。mb_typeが4、すなわちintra+q(イントラマクロブロックで量子化パラメータの変更がある)を表す符号であったとき、dquant符号(量子化パラメータの変更する差分を表す符号)を復号することで差分を再生し、量子化ステップqを記憶しておく。1VOPの中で再生される量子化ステップを全て算出した後、量子化判定器8は量子化ステップの最大公約数を求め、新しい量子化ステップQとする。この際、量子化ステップがまったく変化しないことが判明した場合(つまり、各マクロブロックごとの量子化ステップがすべて等しい場合)、量子化判定器8はセレクタ12とセレクタ14に対して、符号変換器13を介さない経路を指定する。それ以外は符号変換器13を介する経路を指定する。
【0029】
この量子化ステップQが設定された場合、それを符号変換設定器10に送ると同時に量子化ステップQを符号化し、vop_quant符号として整形器15に出力する。
【0030】
符号変換設定器10は量子化ステップQと各マクロブロックの量子化ステップqとを比較し、VLCメモリ9から符号化テーブルを読み出し、変換テーブルを作成して符号変換器13に供給する。
【0031】
これらが決まった後に、メモリ7よりフレームデータを順次読み出し、分離器11に入力する。分離器11はmcbpc符号と、変換係数の符号とその他の符号とを分離する。分離器11に最初に入力されるのはVOPに関するヘッダであるが、vop_quant符号を除いてそのまま整形器15に出力する。整形器15ではこれらの符号に量子化判定器8で生成されたvop_quant符号を組み込み、新たなVOPのヘッダデータとして出力する。
【0032】
続いて、各マクロブロックのフレームデータが読み出され、分離器11に入力される。分離器11はマクロブロックの符号のうち、mcbpc符号、dquant符号、変換係数の符号等以外はそのまま整形器15に入力される。その中にはac_pred_flag符号(マクロブロック単位でAC予測を行なうか否かを表す1ビットの符号)、動き補償に関する符号等が含まれる。セレクタ12とセレクタ14が符号変換器13を経由しない経路が指定されていれば、全ての符号がそのまま整形器15に入力され、元の符号に整形されて出力される。
【0033】
符号変換器13を経由する場合、まず、符号変換器13にはマクロブロックのmcbpc符号が入力される。mcbpc符号のmb_typeが4であればこれを3に変更し、整形器15に出力する。同時に量子化ステップqを前の量子化ステップとdquant符号とから求め、符号変換器13に入力する。整形器15は新しいmcbpc符号をマクロブロックのヘッダに加えて出力する。符号変換器13は続くdquant符号を削除して出力は行なわない。
【0034】
続いて、DC係数の符号が入力される。量子化判定器8から量子化ステップQを入力し、量子化ステップqと比較し、入力されたDC係数の符号の大きさがq/Q倍となるように符号を変換する。例えば、入力されたDC係数の符号で、dct_dc_size_luminance符号(続くdct_dc_differential符号のビット長を表す可変長符号)が010であって、dct_dc_differential符号(DC成分の予測誤差を表す符号)が101であれば予測誤差の量子化結果が5であったとする。この場合、量子化ステップQが4でマクロブロックの量子化ステップqが8であれば、新しいDC係数の値は10となり、dct_dc_size_luminance符号が001、dct_dc_differential符号は1010に変換されセレクタ14を介して整形器15に出力される。
【0035】
続いて、各AC係数の符号が符号変換器13に入力される。符号変換器13では前のマクロブロックの量子化ステップとは異なる量子化ステップが発生した場合、符号変換設定器10に量子化ステップqを出力し、符号変換設定器10で生成された変換テーブルを入力する。
【0036】
符号変換設定器10で生成された変換テーブルは、入力されたAC係数の符号と該符号のレベルと該レベルをq/Q倍したレベルと、q/Q倍したレベルに対応するAC係数の符号との関係を明示したテーブルである。表1は、量子化ステップQが4でマクロブロックの量子化ステップqが8であった場合の変換テーブルの一例(一部のみ記載)である。
【0037】
【表1】
【0038】
すなわち、AC係数の符号0101011に対して、出力は000111011となる。なお、表1のラスト、ラン長、レベルは、符号が表す内容を示す。このような変換テーブルを全ての符号に対して生成し、符号変換器13に入力する。符号変換器13はこれらの変換テーブルに従って、順次AC係数の符号を変換し、セレクタ14を介して整形器15に出力する。整形器15はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース16を介して出力する。
【0039】
ヘッダ解析器4にvisual_object_sequence_end_code符号が入力されたら、それを整形器15に出力し、整形器15から通信インターフェース16に出力されたら全ての動作を終了する。
【0040】
以上の符号化データの変換処理の流れを、図2を用いて説明する。図2は、本実施形態に係る情報処理装置における符号化データ変換処理の流れを示すフローチャートである。
【0041】
ステップS1では、通信インターフェース2からVOS、VO(Video Objectのレイヤ)、VOL(Video Object Layerでビットストリームの最上位の階層)などのヘッダ情報を入力し、profile_and_level_indication符号を解析する。
【0042】
ステップS2では、入力された符号化データのプロファイルとSimple ProfileのLevelが判定される。入力された符号化データがSimple Profile@Level0であれば、ステップS13に進む。そうでなければステップS3に進む。
【0043】
ステップS13以降では入力された符号化データが既にSimple Profile@Level0であるので、符号の変換処理は行なわない。ステップS13では処理が終了したか否かを判定し、全てのVOPについて処理が終了していない場合はステップS14に進む。ステップS14では、フレーム(MPEG−4ではVOP)単位のフレームデータを読み込む。ステップS15では、読み込んだフレームデータをそのまま出力して、次のフレームデータの処理を行なう。ステップS13では処理の終了を判定しており、終了の場合には全ての動作を終了する。
【0044】
ステップS3以降では入力された符号化データがSimple Profile@Level0ではないため、符号の変換を行なう。
【0045】
ステップS3ではヘッダのprofile_and_level_indication符号をSimple Profile@Level0として変換を行ない、ヘッダを出力する。
【0046】
ステップS4では処理の終了判定を行なう。終了判定はvisual_object_sequence_end_code符号の検出有無による。処理が未終了と判定された場合、ステップS5に進み、終了と判定された場合には全ての動作を終了する。VOP単位のフレームデータを読み込む。ステップS6では、VOPのヘッダからvop_quant符号を復号して量子化ステップを抽出し、各マクロブロックのヘッダを解釈してmb_typeがintra+qであるものから量子化ステップを抽出して、ステップS7に進む。
【0047】
ステップS7では、量子化ステップにVOP内で変化があるか否かを判定し、量子化ステップに変化が無い場合はステップS10に、変化がある場合(つまり、量子化ステップがマクロブロック間で異なる場合)はステップS8に進む。ステップS10では入力されたフレームデータをそのまま出力する。
【0048】
ステップS8では、抽出された量子化ステップからVOPで単一の量子化ステップQを算出する(本実施形態では算出にあたり抽出された量子化ステップの最大公約数を用いることとするが、本発明はこれに限定されない)。そして量子化ステップQを符号化しておく。ステップS9では、VOPの各符号を変換して出力する。
【0049】
図3は本実施形態に係る情報処理装置におけるVOP単位でのフレームデータ変換処理(図2のステップS9)の詳細を示すフローチャートである。図3において、ステップS21では、VOPヘッダ中のvop_quant符号をステップS8(図2)で符号化した符号に置き換えて出力する。
【0050】
ステップS22では、VOP内の全てのマクロブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS23に、終了していれば、VOP内の処理が終了し、全ての符号を出力したとして次のVOPの処理に進む。
【0051】
ステップS23以降ではマクロブロック単位での処理を行なう。ステップS23では、量子化ステップQとマクロブロック単位で再生した量子化ステップqとを比較し、等しければステップS32に、そうでなければステップS24に進む。
【0052】
ステップS24では、前の量子化ステップq’と量子化ステップqとを比較する。もし等しければステップS27に進み、そうでなければステップS25に進む。ステップS25では、量子化ステップQと量子化ステップqとから可変長符号の変換テーブルを生成する。
【0053】
ステップS26では、マクロブロックのヘッダ情報の中のmb_typeがintra+qになっているので、これをintraに変換してmcbpc符号を生成する。また、マクロブロックのdquant符号は削除される。ステップS27では、マクロブロックのヘッダ情報が出力される。
【0054】
ステップS28以降では各ブロック単位の処理を行なう。ステップS28では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS29に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS22に進む。
【0055】
ステップS29では、DC係数の符号についてq/Qに基づいて変換を行ない、出力する。
【0056】
ステップS30では全てのAC係数の符号を変換処理したか否かを判定し、終了していれば、次のブロックの処理を行なうために、ステップS28に進む。そうでなければ、ステップS31に進む。
【0057】
ステップS31では、変換テーブルに従って、AC係数の符号を変換し、ステップS30に戻る。
【0058】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、量子化ステップを固定にしたMPEG−4 Simple Profile@Level0符号化方式のデータに変換することができる。この結果、変換にあたっての画質の劣化を回避することが可能となる。また、符号の変換も変換テーブルを参照して行なうことができるので、非常に高速に処理が行なえる。さらに、画素値を保存するメモリが不要なため、処理規模を抑えることが出来、コストの削減が可能になる効果もある。
【0059】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0060】
さらに、符号変換の方法はこれに限定されず、例えば、量子化ステップ毎に生成するのではなく、VLCメモリ9のメモリアドレスの操作で適合するデータを読み出すような構成にしてもかまわない。
【0061】
【第2の実施形態】
図4は本発明の第2の実施形態にかかる情報処理装置(サーバ1002)における符号化データ変換処理のための機能ブロック図である。本実施形態においても入力としてMPEG−4 Simple Profile@Level1または0の符号化データを、出力としてMPEG−4 Simple Profile@Level0の符号化データを例にとって説明するが、これに限定されない。サーバ1002は通常はコンピュータ1007等で再生するようにインターネット用の符号化データであるMPEG−4 Simple Profile@Level1の符号化データを出力するが、携帯TV電話1006からの要求があれば、MPEG−4 Simple Profile@Level0の符号化データに変換してから出力する。
【0062】
図4において、101は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図1と同様の構成要素については同一番号を付してその詳細な説明は省略する。102はコンテンツを格納している記憶装置である。ここでは説明を容易にするため、コンテンツの符号化方式をMPEG−4 Simple Profile@Level1で説明するが、これに限定されない。
【0063】
107はVOPの符号化データから変換係数の符号とその他の符号とを分離する分離器である。108はマクロブロックの符号化モードを判定するMBモード判定器である。109は入力された符号化データからAC予測の有無を判定するAC予測判定器である。110はMBモード判定器108の出力結果に基づいて出力先を選択するセレクタ、111はAC予測判定器109の出力結果に基づいて出力先を選択するセレクタである。
【0064】
112はDC係数の符号およびAC係数の符号の一部を復号するDC/AC復号器である。113はDC係数の符号を復号するDC復号器である。114はDC係数の符号を2ライン分保持するDCメモリであり、115はAC係数の符号の第1列のデータを1ライン分保持するAC−Vメモリである。116はAC係数の符号の第1行のデータを2ライン分保持するAC−Hメモリである。117はDCメモリの内容から該当するマクロブロックのDCおよびAC係数の予測符号化の予測方向を決定する予測方向判定器である。118はAC係数の符号を復号するAC復号器である。119はAC予測を行ない、スキャンの種類に応じてAC係数を並び替えるAC予測器である。
【0065】
120はAC係数の符号化を行なうAC符号化器である。121はプロファイル変換器5、ヘッダ解析器4、セレクタ6、セレクタ110、セレクタ111、分離器107、AC符号化器120の出力をMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。121はインターネット網1003に接続されている通信インターフェースである。
【0066】
上記のように構成された情報処理装置における符号化データの変換処理の詳細を以下に説明する。なお、本実施形態では携帯テレビ電話1006より、MPEG−4 Simple Profile@Level0の符号化データに変換してから出力するよう要求がなされたものとする。処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。
【0067】
また、記憶装置102では変換するMPEG−4符号化方式の符号化データが選択され、その読み出し開始位置を設定する。
【0068】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部101に入力する。情報処理部101の分離器3は符号化データを読み込み、ヘッダやフレームデータに分離する。ヘッダはヘッダ解析器4に入力される。ヘッダ解析器4では、入力された符号化データのプロファイルを判別し、セレクタ6を第1の実施形態と同様に制御する。
【0069】
抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器121に出力される。その他の符号はヘッダ解析器4から直接、整形器121に入力される。整形器121はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。Simple Profile@Level0であった場合、整形器121は何もせず、そのまま入力を出力する。
【0070】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力する。入力された1VOP分のフレームデータはセレクタ6を介して、メモリ7に格納される。
【0071】
続いて、各マクロブロックのフレームデータが読み出され、分離器107に入力される。分離器107はマクロブロックの符号のうち、mcbpc符号、ac_pred_flag符号、変換係数に関する符号以外(dquant符号、動き補償に関する符号等)はそのまま整形器120に入力される。
【0072】
mcbpc符号、ac_pred_flag符号はMBモード判定器108に入力される。mcbpc符号からマクロブロックの符号化モードを判定し、intra符号化であれば、セレクタ110の出力をセレクタ111に設定し、そうでなければセレクタ110の出力を整形器121に設定する。intra符号化であれば、AC予測判定器109にac_pred_flag符号を入力し、AC予測を行なうか否かを判定する。ac_pred_flag符号が0であればセレクタ111の出力をDC/AC復号器112とし、そうで無ければDC復号器113、AC復号器118とする。
【0073】
入力されたマクロブロックの符号化データがintraマクロブロックでない場合、分離器107で分離されたフレームデータはセレクタ110を介して整形器121に出力される。結果的には何も処理されずに出力される。
【0074】
入力されたマクロブロックの符号化データがintraマクロブロックであった場合、ac_pred_flag符号が0であれば、AC予測を行なっていないので、フレームデータはセレクタ110、セレクタ111を介してDC/AC復号器112と整形器121に入力される。整形器121に入力された符号には何も処理は加わらない。
【0075】
DC/AC復号器112はDC係数の符号とAC係数の符号の一部を復号する。AC予測を行なわない場合の変換係数の並び順を図5(c)に示す。ここで、AC予測に用いられるのはAC係数の第1行と第1列の係数のみであるから、35番目のAC係数の符号までを復号する。すなわち復号時にランレングスを計数し、35以上になったときに復号を打ち切る。予測方向判定器117はDCメモリ114に格納された周囲のDC係数の値からDC予測の方向を決定し、DC/AC復号器112に入力する。復号されたDC係数の符号は、DCメモリ114から予測を行ない、DC係数を再生してDCメモリ114に格納する。復号されたAC係数の符号のうち、第1行の7つの係数に関してはAC−Hメモリ116に、第1列の7つの係数に関してはAC−Vメモリ115に格納する。
【0076】
ac_pred_flag符号が1であれば、AC予測を行なっているので、符号化データはセレクタ110、セレクタ111を介してDC係数の符号はDC復号器113に、AC係数の符号はAC復号器118に入力される。予測方向判定器117はDCメモリ114に格納された周囲のDC係数の値からDC予測の方向を決定し、DC復号器113、AC復号器118に入力する。DC復号器113はDC係数の符号を復号し、DCメモリ114から予測を行ない、DC係数を再生してDCメモリ114に格納する。
【0077】
AC復号器118はAC係数の符号の復号を63個のAC係数について行ない、その結果をAC予測器119に入力する。また、そのAC係数のうち、第1列のAC係数はAC−Hメモリ116に、第1行のAC係数はAC−Vメモリ115に格納される。予測方向判定器117の結果に基づきAC係数の予測と並び替えを行なう。図5にそれぞれのAC係数の並びを示す。図5(a)は直上のブロックを参照する場合であり、第1行のAC係数(太枠内)が予測対象係数である。図5(b)は直左のブロックを参照する場合であり、第1列のAC係数(太枠内)が予測対象係数である。予測方向判定器117の結果が直上のブロックを参照している場合、AC−Hメモリ116からAC成分を読み出し、復号結果と合せてAC係数を再生し、図5(c)の順に係数を並び替えてAC符号化器120に出力する。直左のブロックを参照している場合、AC−Vメモリ115からAC成分を読み出し、復号結果と合せてAC係数を再生し、図5(c)の順に係数を並び替えてAC符号化器120に出力する。
【0078】
AC符号化器120はこれらを符号化し、整形器121に入力する。整形器121はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。
【0079】
以上の符号化データの変換処理の流れを図6に示す。図6は、本実施形態に係る情報処理装置(サーバ1002)における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0080】
図7は本実施形態に係る情報処理装置におけるフレームデータ変換処理(図6のステップS101)の処理の詳細を示すフローチャートである。
【0081】
ステップS121では、フレームデータのVOPヘッダをそのまま出力する。
【0082】
ステップS122では、VOP内の全てのマクロブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS123に、終了していれば、全ての符号を出力したとして次のVOPの処理に進む。
【0083】
ステップS123以降ではマクロブロック単位での処理を行なう。ステップS123では、マクロブロックの符号化モードがintraか否かを判定する。intra符号化であればステップS124に、そうでなければステップS129に進む。
【0084】
ステップS129では、入力したマクロブロックの符号化データをそのまま出力し、ステップS122に進み、次のマクロブロックの処理を行なう。
【0085】
ステップS124では、ac_pred_flag符号が1であるか否かを判定し、1であればステップS125に進み、そうでなければステップS130に進む。
【0086】
ステップS125では、ac_pred_flag符号を0に変換する。ステップS126ではac_pred_flag符号を含むマクロブロックのヘッダ情報を出力する。
【0087】
ステップS127以降では後述する各ブロック単位の変換処理を行なう。ステップS127では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS128に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS122に進む。
【0088】
ステップS130ではマクロブロックのヘッダ情報をそのまま出力する。
【0089】
ステップS131以降では後述する各ブロック単位の変換処理を行なう。ステップS131では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS132に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をするため、ステップS122に進む。
【0090】
ステップS132では、周囲ブロックのDC係数の符号から予測の方向を決定する。ステップS133では、その予測の方向に従ってDC係数の符号を復号し、格納する。ステップS134では、AC係数の符号を35個のAC係数までを復号し、格納する。ステップS135では入力されたブロックの符号をそのまま出力してステップS131に進み、次のブロックの処理を行なう。
【0091】
図8は本実施形態に係る情報処理装置におけるブロック単位での変換処理(図7のステップS128)の詳細を示すフローチャートである。
【0092】
ステップS141では、周囲ブロックのDC係数の符号から予測の方向を決定する。ステップS142では、その予測の方向に従ってDC係数の符号を復号し、格納する。ステップS143では、予測方向が直上のブロックであった場合、ステップS144に、直左のブロックであった場合、ステップS149に進む。
【0093】
ステップS144では、マクロブロック内の全てのブロックについて処理を行なったか否かを判定し、処理が終了していなければステップS145に、終了していれば、マクロブロック内の処理が終了したとし、次のマクロブロックの処理をする。
【0094】
ステップS145では、AC係数の符号を復号する。ステップS146では、復号されたAC係数を直上ブロックのAC係数の第1列の7つから予測を行ない、再生する。ステップS147では、図5(c)の順でAC係数を並び替え、符号化を行ない出力する。ステップS148では再生したAC係数の第1列の7つの係数と第1行の7つの係数を格納しておき、ステップS144に進む。
【0095】
ステップS150では、AC係数の符号を復号する。ステップS151では、復号されたAC係数を直左ブロックのAC係数の第1行の7つから予測を行ない、再生する。ステップS152では、図5(c)の順でAC係数を並び替え、符号化を行ない出力する。ステップS153では再生したAC係数の第1列の7つの係数と第1行の7つの係数を格納しておき、ステップS149に進む。
【0096】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうことなく、AC予測を使用しないMPEG−4 Simple Profile@Level0符号化方式の符号化データに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。また、画素値を保存するメモリが不要なため、処理規模を抑えることができ、コストの削減が可能になる効果もある。
【0097】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0098】
また、DC復号やAC復号に関して、同じ機能のものをまとめてももちろん構わない。例えば、DC/AC復号器112とDC復号器113、AC復号器118を統合してももちろん構わない。
【0099】
【第3の実施形態】
上記第1の実施形態では、入力された符号化データをSimple Profile@Level0に変換するにあたり、量子化ステップを固定にした符号化データに変換する場合について説明し、上記第2の実施形態では、入力された符号化データをSimple Profile@Level0に変換するにあたり、AC予測を使用しない符号化データに変換する場合について説明したが、本実施形態ではこれらの2つの処理を切り替えて使用可能な情報処理装置について説明する。
【0100】
図9は、本発明の第3の実施形態に係る情報処理装置の構成を示すブロック図である。図9において、200は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図1と同様の構成要素については同一番号を付してその詳細な説明は省略する。201は少なくとも1VOP分の符号化データを格納するフレームメモリであり、202は第1の実施形態で説明した情報処理部1の機能を有する符号データ変換装置であり、203は第2の実施形態で説明した情報処理部101の機能を有する符号データ変換装置である。204はそれぞれで生成された符号化データの符号長を判定する符号長判定器であり、205は符号長判定器204の出力結果に基づき、入力先を選択するセレクタである。206はMPEG−4 Simple Profile@Level0の書式に従って整形する整形器である。
【0101】
上記のように構成された情報処理装置における符号化データの変換処理の詳細を以下に説明する。第2の実施形態と同様に、処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。
【0102】
また、記憶装置102では変換するMPEG−4符号化方式の符号化データが選択され、その読み出し開始位置を設定する。
【0103】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部200に入力する。最初にVOS、VO、VOLなどのヘッダ情報が入力され、フレームメモリ201に格納される。ヘッダ解析器4では、入力された符号化データのプロファイルを判別し、セレクタ6を第1の実施形態と同様に制御する。また、ヘッダ情報はセレクタ6を介して符号データ変換装置202および符号化データ変換装置203に入力され、各部の初期化を行なう。但し、この時、ヘッダデータの変換・出力は行なわない。
【0104】
ヘッダ解析器4で抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器206に出力される。それ以外の符号はヘッダ解析器4から直接、整形器206に入力される。整形器206はこれらのヘッダデータをMPEG−4符号化方式の書式に従って整形し、通信インターフェース122を介して出力する。入力された符号化データがSimple Profile@Level0であった場合、整形器206は何もせず、そのまま出力する。
【0105】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力し、フレームメモリ201に格納する。格納された1VOP分のフレームデータはセレクタ6を介して、符号化データ変換装置202および符号化データ変換装置203に入力される。この時各符号化データ変換装置ではフレームデータの変換のみを行なうように動作する。
【0106】
それぞれの符号化データ変換装置(202、203)で変換されたフレームデータの符号長が計測され、符号長判定器204に入力される。符号長判定器204では符号長の短いものを選択して出力するようにセレクタ205を制御する。従って、符号長の短い符号化データが選択され、整形器206に出力され、通信インターフェース122を介して出力される。
【0107】
以上の符号化データの変換処理の流れを、図11を用いて説明する。図11は、本実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0108】
ステップS201では、第1の実施形態と同様に量子化ステップを固定にしたフレームデータに変換する。この時の符号長をFQとする。
【0109】
ステップS202では、第2の実施形態と同様にAC予測を使用しないフレームデータに変換する。この時の符号長をNAとする。
【0110】
ステップS203では、これらの符号長FQとNAとを比較する。符号長FQが符号長NAよりも大きければステップS205に、そうでなければステップS204に進む。
【0111】
量子化ステップが固定のフレームデータに変換した方が小さい場合には、ステップS204において量子化ステップを固定にしたフレームデータを出力し、ステップS4に進んで次のVOPのフレームデータの処理を行なう。
【0112】
AC予測を使用しないフレームデータに変換した方が小さい場合には、ステップS205においてAC予測を使用しないフレームデータを出力し、ステップS4に進んで次のVOPのフレームデータの処理を行なう。
【0113】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、符号長を比較し、符号長の短い方の符号化データを出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。
【0114】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0115】
さらには、本実施形態ではVOP単位で変換方法を選択したが、これに限定されず、スライス等の単位で行なってもかまわない。
【0116】
【第4の実施形態】
図10は、本発明の第4の実施形態に係る情報処理装置の構成を示すブロック図である。図10において、250は符号化データの変換処理を行なう情報処理部である。なお、前述の実施形態の図9と同様の構成要素については同一番号を付してその詳細な説明は省略する。251は符号の一部から符号長を推定する符号長推定器である。252はセレクタであり、符号長推定器251の出力に応じて出力先を選択する。
【0117】
上記のように構成された情報処理装置における符号化データの変換処理を以下で説明する。第3の実施形態と同様に、処理に先立ち、各部の初期化を行なう。メモリ7はクリアされ、各部のパラメータがリセットされる。記憶装置102も読み出し開始位置を設定する。
【0118】
記憶装置102からMPEG−4符号化方式の符号化データを情報処理部250に入力する。最初にVOS、VO、VOLなどのヘッダ情報が入力され、入力された符号化データのプロファイルを判別し、セレクタ6を第3の実施形態と同様に制御する。符号データ変換装置202および符号データ変換装置203の初期化を行なう。
【0119】
ヘッダ解析器4で抽出したprofile_and_level_indication符号はプロファイル変換器5で符号「00001000」に変換され、整形器206においてこれらのヘッダデータはMPEG−4符号化方式の書式に従ったヘッダ情報に整形され、通信インターフェース122を介して出力される。Simple Profile@Level0であった場合も第3の実施形態と同様である。
【0120】
続いて、記憶装置102からSimple Profile@Level1の符号化データのフレームデータを入力し、第3の実施形態と同様に、符号データ変換装置202および符号データ変換装置203に入力される。
【0121】
それぞれの符号データ変換装置(202、203)で変換された符号化データの符号長が計測され、符号長推定器251とセレクタ252に入力される。符号長推定器251では出現する量子化ステップの数sとac_pred_flag符号が1のマクロブロックの数mとを計数する。また、VOPの符号長Lも計数する。ここで、量子化ステップを固定にした場合の予測符号長LsとAC予測を使用しない場合の予測符号長Lmとを算出する。算出は下記の式によって行なう。
Ls=s×α ・・・(1)
Lm=m×β ・・・(2)
この時のαは量子化ステップを変更した場合の平均の符号長変化率である。例えば、第1の実施形態の表1において、平均で1.47倍になっている場合はαは1.47とする。βも同様にAC予測を使用しない場合の平均の符号長変化率であり、これは経験的に設定される。
【0122】
これらの予測符号長を比較して、符号長の短いものを選択して出力するようにセレクタ252とセレクタ205とを制御する。選択された側の符号変換器のみを動作させて符号の変換を行ない、整形器206を経由して通信インターフェース122により出力する。
【0123】
以上の符号化データの変換処理の流れを、図12を用いて説明する。図12は、本実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。なお、前述の実施形態の図2、図11と同様の動作をするステップについては同一番号を付してその詳細な説明は省略する。
【0124】
ステップS251では、量子化ステップを固定にした場合の予測符号長LsとAC予測を使用しない場合の予測符号長Lmとを比較する。予測符号長Lsが予測符号長Lmより大きければステップS252に、そうでなければステップS255に進む。
【0125】
ステップS252では処理の終了判定を行ない、visual_object_sequence_end_code符号を検出し、判定する。処理が未終了の場合、ステップS253に進み、終了の場合には全ての動作を終了する。
【0126】
ステップS253ではVOP単位のフレームデータを読み込む。ステップS254では、第1の実施形態と同様に量子化ステップを固定にするフレームデータに変換し、出力する。その後、次のVOPの処理を行なうため、ステップS252に進む。
【0127】
ステップS255でもステップS252と同様に終了判定を行なう。ステップS256では、第2の実施形態と同様にAC予測を使用しないでフレームデータに変換し、出力する。その後、次のVOPの処理を行なうため、ステップS255に進む。
【0128】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、予測符号長を比較し、予測符号長の短い方の符号化データに変換し、出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。さらに、符号の変換方式を切り替えて動作させるため、処理量を減らすことができ、高速化が図れる。
【0129】
なお、本実施形態の各部または全部の機能をソフトウェアで記述し、CPU等の演算装置によって処理をさせてもかまわない。
【0130】
さらに、本実施形態ではVOP単位で変換方法を選択したが、これに限定されず、スライス等の単位で行なってもかまわない。
【0131】
本実施形態では、出現する量子化ステップの数sとac_pred_flag符号が1のマクロブロックの数を用いて符号長を推定したがこれに限定されず、他の情報、例えば量子化ステップの値を用いても構わないし、別な計算方法を用いても構わない。
【0132】
【第5の実施形態】
図13は、本発明の第5の実施形態に係る情報処理装置のハードウェア構成を示す図である。本実施形態は図16のサーバ1002を例にとって説明する。図13において、300は装置全体の制御、及び種々の処理を行なう中央演算装置(CPU)、301は本装置の制御に必要なオペレーティングシステム(OS)、ソフトウェア、演算に必要な記憶領域を提供するメモリである。302は種々の装置をつなぎ、データや制御信号をやり取りするバスである。303は装置の起動、各種条件の設定、再生の指示を行なうための端末である。304はソフトウェアを蓄積する記憶装置である。305は動画像データを蓄積する記憶装置、306は画像を撮像するカメラである。記憶装置304および、305はシステムから切り離して移動できるメディアで構成することも出来る。ここでは説明を簡単にするため、記憶装置305に蓄積されている動画像符号化データはSimple Profile@Level1で符号化されているとする。307は画像を表示するモニタであり、308は通信回路であり、LAN、公衆回線、無線回線、放送電波等で構成されている。309は通信回路308を介して画像データを送受信する通信インターフェースである。通信回線308はインターネット網1003に接続している。
【0133】
メモリ301には装置全体を制御し、各種ソフトウェアを動作させるためのOSや動作させるソフトウェアを格納し、入力される符号化データを格納する入力符号化データエリア、出力する符号化データを格納する出力符号化データエリア、復号した量子化ステップ等のパラメータ、DC係数やAC係数等を格納しておくワーキングエリアが存在する。
【0134】
このような構成において、記憶装置305に格納されたMPEG−4 Simple Profile@Level1の符号化データを通信インターフェースから送信する符号化データ送信処理について説明する。
【0135】
処理に先立ち、端末303から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置304に格納されているソフトウェアがバス302を介してメモリ301に展開され、ソフトウェアが起動される。
【0136】
メモリ301のメモリの使用、格納状況を図14に示す。メモリ301には装置全体を制御し、各種ソフトウェアを動作させるためのOS、通信を制御する通信ソフトウェア、符号化データ変換ソフトウェアが展開されている。その後、通信ソフトウェアを起動して通信回線308を通じて相手との通信路を確保する。
【0137】
その後、通信路を用いて、送信先に要求されるプロファイルとレベルを問い合わせ、その結果をメモリ301のワーキングエリアに格納する。インターネット網1003に接続されたコンピュータ1007等で再生するようにインターネット用の符号化データであるMPEG−4 Simple Profile@Level1が要求され、携帯テレビ電話1006からの要求であれば、MPEG−4 Simple Profile@Level0が要求される。
【0138】
次に、CPU300による符号化データの変換処理について図15を用いて説明する。ステップS301では、記憶装置305に記録されている動画像符号化データのヘッダ情報を読み出し、メモリ301の入力符号データエリアに格納する。
【0139】
ステップS302では、得られたヘッダ情報から動画像符号化データのプロファイルおよびレベルとメモリ301のワーキングエリアに格納されている、要求されているプロファイルおよびSimple ProfileのLevelを比較する。もし、要求がSimple Profile@Level1であれば、ステップS317に進み、そうでなければステップS303に進む。
【0140】
ステップS317では、メモリ301の入力符号データエリアのヘッダ情報を、通信インターフェース309を介して送出する。
【0141】
ステップS318では、処理の終了判定を行ない、visual_object_sequence_end_code符号を検出し、判定する。処理が未終了の場合、ステップS319に進み、終了の場合には全ての動作を終了する。
【0142】
ステップS319では、続いて、記憶装置305から動画像符号化データの符号化データのVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。ステップS320では、メモリ301の入力符号データエリアの符号化データを、通信インターフェース309を介して送出し、次のVOPの処理を行なうため、ステップS318に進む。
【0143】
ステップS303では、符号化データ変換ソフトウェアを起動してヘッダの変換を行なう。すなわち、profile_and_level_indication符号を置換してメモリ301の出力符号データエリアに格納する。
【0144】
ステップS304では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。
【0145】
ステップS305では、記憶装置305から動画像符号化データの符号化データのVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。読み出した後で読み出し位置を読み出したVOPの先頭に戻しておく。
【0146】
ステップS306では、メモリ301の入力符号データエリアに格納されている符号化データからmcbpc符号を読み出し、量子化ステップの変化する幅Pを算出する。その後、次式に従って、予測符号長Lsを算出する。
Ls=P×γ ・・・(3)
但し、γは量子化ステップを固定に変換した時に観測される経験則に基づく係数である。
【0147】
ステップS307では、各MBの平均符号長Mを算出する。その後、次式に従って、予測符号長Lmを算出する。
Lm=M×ρ ・・・(4)
但し、ρはAC係数の予測を使用しないで変換したときに観測される経験則に基づく係数である。
【0148】
ステップS308では、予測符号長Lsと予測符号長Lmとを比較し、予測符号長Lsが予測符号長Lmより大きければ、ステップS313に、そうでなければステップS309に進む。
【0149】
ステップS309では、処理の終了判定を行ない、記憶装置305の動画像符号化データの全VOPを処理したか否かを判定し、処理が未終了の場合、ステップS310に進み、終了の場合には全ての動作を終了する。
【0150】
ステップS310では、記憶装置305から動画像符号化データのフレームデータをVOP単位で読み出し、メモリ301の入力符号データエリアに格納する。
【0151】
ステップS311では、メモリ301の入力符号データエリアのフレームデータを第1の実施形態の図3に示した変換処理によって変換し、メモリ301の出力符号データエリアに格納する。
【0152】
ステップS312では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。その後、次のフレームデータの処理を行なうため、ステップS309に進む。
【0153】
ステップS313では、ステップS309と同様に、処理が未終了の場合、ステップS253に進み、終了の場合には全ての動作を終了する。
【0154】
ステップS314では、ステップS310と同様に、VOP単位のフレームデータをメモリ301の入力符号データエリアに格納する。
【0155】
ステップS315では、メモリ301の入力符号データエリアのフレームデータを第2の実施形態の図7に示した変換処理によって変換し、メモリ301の出力符号データエリアに格納する。
【0156】
ステップS316では、メモリ301の出力符号データエリアに格納されたヘッダ情報を通信インターフェース309を介して送出する。その後、次のフレームデータの処理を行なうため、ステップS313に進む。
【0157】
以上の説明から明らかなように、本実施形態によれば、MPEG−4符号化方式で符号化されたデータを画素値の再生を行なうこと無く、MPEG−4 Simple Profile@Level0符号化方式のデータに変換することができるため、変換に伴う画質の劣化を回避することが可能となる。さらに、量子化ステップを固定にした符号化データに変換する場合と、AC予測を使用しない符号化データに変換する場合とで、符号長を予測し、予測符号長の短い方の符号化データに変換し、出力することとしたため、変換に当たって符号化効率が低下することを抑制することができる。さらに、符号の変換方式を切り替えて動作させるため、処理量を減らすことができ、高速化が図れる。
【0158】
なお、本実施形態の各部または全部の機能をハードウェアで実現してもかまわない。
【0159】
さらに、本実施形態ではコンテンツ単位で変換方式を選択したが、これに限定されず、VOP単位やスライス等の単位で行なってももちろんかまわない。
【0160】
本実施形態では、出現する量子化ステップの幅Pとマクロブロックの平均符号長を用いて全体の符号長を推定したがこれに限定されず、他の情報、例えば量子化ステップの値を用いても構わないし、別な計算方法を用いても構わない。
【0161】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェイス機器、カメラ、記録装置など)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、カムコーダ、ビデオ録画装置など)に適用してもよい。
【0162】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0163】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0164】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0165】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0166】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0167】
【発明の効果】
以上説明したように本発明によれば、画質を劣化させることなく、所定の仕様で符号化されたデータを異なる仕様の符号化データに高速に、かつ低コストで変換させることが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にかかる情報処理装置(ゲートウェイ1004)における符号化データ変換処理のための機能ブロック図である。
【図2】本発明の第1の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図3】本発明の第1の実施形態に係る情報処理装置におけるVOP単位での符号化データ変換処理を示すフローチャートである。
【図4】本発明の第2の実施形態にかかる情報処理装置(サーバ1002)における符号化データ変換処理のための機能ブロック図である。
【図5】一般的なAC係数の並びを示す図である。
【図6】本発明の第2の実施形態に係る情報処理装置(サーバ1002)における符号化データ変換処理を示すフローチャートである。
【図7】本発明の第2の実施形態に係る情報処理装置におけるフレームデータ変換処理の詳細を示すフローチャートである。
【図8】本発明の第2の実施形態に係る情報処理装置におけるブロック単位での符号化データ変換処理の詳細を示すフローチャートである。
【図9】本発明の第3の実施形態に係る情報処理装置の構成を示すブロック図である。
【図10】本発明の第4の実施形態に係る情報処理装置の構成を示すブロック図である。
【図11】本発明の第3の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図12】本発明の第4の実施形態に係る情報処理装置における符号化データ変換処理を示すフローチャートである。
【図13】本発明の第5の実施形態に係る情報処理装置の構成を示す図である。
【図14】本発明の実施形態にかかる情報処理装置を構成するメモリの使用、格納状況を示す図である。
【図15】本発明の第5の実施形態にかかる情報処理装置を構成するCPU300による符号化データの変換処理の流れを示す図である。
【図16】本発明の一実施形態にかかる情報処理装置を備えるシステムの一例を表した図である。
Claims (26)
- ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する符号化手段と
を備えることを特徴とする情報処理装置。 - 前記量子化ステップ決定手段は、
前記所定数のブロックごとに抽出された量子化ステップの最大公約数を単一の量子化ステップとして決定することを特徴とする請求項1に記載の情報処理装置。 - 前記符号化手段は、
前記各ブロックの変換係数のDC成分を、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍し、
前記各ブロックの変換係数のAC成分の予測符号化時のレベルを、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍した後、所定の方向で予測符号化することを特徴とする請求項1に記載の情報処理装置。 - 画像データを可変長符号化した第1の符号化データを、該第1の符号化データと異なる仕様で可変長符号化した第2の符号化データに変換する情報処理装置であって、
前記第1の符号化データの可変長符号化の仕様を表すプロファイル情報を、前記第2の符号化データの可変長符号化の仕様を表すプロファイル情報に変換するプロファイル変換手段と、
前記第1の符号化データから量子化ステップに関する情報を該第1の符号化データを構成する所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、該所定数のブロックごとに前記第1の符号化データを変換する変換手段と、
前記変換されたプロファイル情報と、前記単一の量子化ステップと、前記変換された第1の符号化データとに基づいて、前記第2の符号化データを構成する構成手段と
を備えることを特徴とする情報処理装置。 - 前記量子化ステップ決定手段は、
前記所定数のブロックごとに抽出された量子化ステップの最大公約数を単一の量子化ステップとして決定することを特徴とする請求項4に記載の情報処理装置。 - 前記変換手段は、
前記第1の符号化データを復号することで得られた各ブロックの変換係数のDC成分を、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍し、
前記第1の符号化データを復号することで得られた各ブロックの変換係数のAC成分の予測符号化時のレベルを、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍した後、所定の方向で予測符号化することで、前記第1の符号化データを変換することを特徴とする請求項4に記載の情報処理装置。 - 前記第1の符号化データは、MPEG4のシンプルプロファイルレベル1(Simple Profile @ Level 1)により符号化され、前記第2の符号化データは、MPEG4のシンプルプロファイルレベル0(Simple Profile @ Level 0)により符号化されたデータであることを特徴とする請求項4に記載の情報処理装置。
- ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、
前記所定数のブロックごとに復号する復号手段と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定手段と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え手段と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化手段と
を備えることを特徴とする情報処理装置。 - 画像データを可変長符号化した第1の符号化データを、該第1の符号化データと異なる仕様で可変長符号化した第2の符号化データに変換する情報処理装置であって、
前記第1の符号化データの可変長符号化の仕様を表すプロファイル情報を、前記第2の符号化データの可変長符号化の仕様を表すプロファイル情報に変換するプロファイル変換手段と、
前記第1の符号化データにおける予測符号化を行なったことを示す情報を、予測符号化を行なわないことを示す情報に変換する予測符号化情報変換手段と、
前記第1の符号化データを所定数のブロックごとに復号する復号手段と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を解析する解析手段と、
前記所定数のブロックごとに解析された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え手段と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化手段と、
前記変換されたプロファイル情報と、予測符号化情報と、前記符号化手段により符号化された変換係数とに基づいて前記第2の符号化データを構成する構成手段と
を備えることを特徴とする情報処理装置。 - 前記予め決定された単一の方向とは、ジグザグスキャン方向であることを特徴とする請求項8または9に記載の情報処理装置。
- ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、
前記符号化データを処理する第1の処理手段と、
前記符号化データを処理する第2の処理手段と、
前記第1の処理手段により処理された符号化データの符号長と、前記第2の処理手段により処理された符号化データの符号長とに基づいて、前記第1または第2のいずれかの処理手段により処理された符号化データを出力する出力手段と、を備え、
前記第1の処理手段は、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する予測符号化手段と、を備え、
前記第2の処理手段は、
前記所定数のブロックごとに復号する復号手段と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定手段と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え手段と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化手段と
を備えることを特徴とする情報処理装置。 - ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理装置であって、前記符号化データを第1の処理手段により処理した場合の符号長を予測する第1の予測手段と、
前記符号化データを第2の処理手段により処理した場合の符号長を予測する第2の予測手段と、
前記第1の予測手段により予測された符号長と、前記第2の予測手段により予測された符号長とに基づいて、前記第1または第2のいずれかの処理手段により処理された符号化データを出力する出力手段と、を備え、
前記第1の処理手段は、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出手段と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定手段と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する予測符号化手段と、を備え、
前記第2の処理手段は、
前記所定数のブロックごとに復号する復号手段と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定手段と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え手段と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化手段と
を備えることを特徴とする情報処理装置。 - ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理方法であって、前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出工程と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定工程と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する符号化工程と
を備えることを特徴とする情報処理方法。 - 前記量子化ステップ決定工程は、
前記所定数のブロックごとに抽出された量子化ステップの最大公約数を単一の量子化ステップとして決定することを特徴とする請求項13に記載の情報処理方法。 - 前記符号化工程は、
前記各ブロックの変換係数のDC成分を、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍し、
前記各ブロックの変換係数のAC成分の予測符号化時のレベルを、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍した後、所定の方向で予測符号化することを特徴とする請求項13に記載の情報処理方法。 - 画像データを可変長符号化した第1の符号化データを、該第1の符号化データと異なる仕様で可変長符号化した第2の符号化データに変換する情報処理方法であって、
前記第1の符号化データの可変長符号化の仕様を表すプロファイル情報を、前記第2の符号化データの可変長符号化の仕様を表すプロファイル情報に変換するプロファイル変換工程と、
前記第1の符号化データから量子化ステップに関する情報を該第1の符号化データを構成する所定数のブロックごとに抽出する量子化ステップ抽出工程と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定工程と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、該所定数のブロックごとに前記第1の符号化データを変換する変換工程と、
前記変換されたプロファイル情報と、前記単一の量子化ステップと、前記変換された第1の符号化データとに基づいて、前記第2の符号化データを構成する構成工程と
を備えることを特徴とする情報処理方法。 - 前記量子化ステップ決定工程は、
前記所定数のブロックごとに抽出された量子化ステップの最大公約数を単一の量子化ステップとして決定することを特徴とする請求項16に記載の情報処理方法。 - 前記変換工程は、
前記第1の符号化データを復号することで得られた各ブロックの変換係数のDC成分を、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍し、
前記第1の符号化データを復号することで得られた各ブロックの変換係数のAC成分の予測符号化時のレベルを、該ブロックにおける量子化ステップqと前記単一の量子化ステップQとを用いてq/Q倍した後、所定の方向で予測符号化することで、前記第1の符号化データを変換することを特徴とする請求項16に記載の情報処理方法。 - 前記第1の符号化データは、MPEG4のシンプルプロファイルレベル1(Simple Profile @ Level 1)により符号化され、前記第2の符号化データは、MPEG4のシンプルプロファイルレベル0(Simple Profile @ Level 0)により符号化されたデータであることを特徴とする請求項16に記載の情報処理方法。
- ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理方法であって、
前記所定数のブロックごとに復号する復号工程と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定工程と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え工程と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化工程と
を備えることを特徴とする情報処理方法。 - 画像データを可変長符号化した第1の符号化データを、該第1の符号化データと異なる仕様で可変長符号化した第2の符号化データに変換する情報処理方法であって、
前記第1の符号化データの可変長符号化の仕様を表すプロファイル情報を、前記第2の符号化データの可変長符号化の仕様を表すプロファイル情報に変換するプロファイル変換工程と、
前記第1の符号化データにおける予測符号化を行なったことを示す情報を、予測符号化を行なわないことを示す情報に変換する予測符号化情報変換工程と、
前記第1の符号化データを所定数のブロックごとに復号する復号工程と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を解析する解析工程と、
前記所定数のブロックごとに解析された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え工程と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化工程と、
前記変換されたプロファイル情報と、予測符号化情報と、前記符号化工程により符号化された変換係数とに基づいて前記第2の符号化データを構成する構成工程と
を備えることを特徴とする情報処理方法。 - 前記予め決定された単一の方向とは、ジグザグスキャン方向であることを特徴とする請求項20または21に記載の情報処理方法。
- ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理方法であって、
前記符号化データを処理する第1の処理工程と、
前記符号化データを処理する第2の処理工程と、
前記第1の処理工程により処理された符号化データの符号長と、前記第2の処理工程により処理された符号化データの符号長とに基づいて、前記第1または第2のいずれかの処理工程により処理された符号化データを出力する出力工程と、を備え、
前記第1の処理工程は、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出工程と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定工程と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する予測符号化工程と、を備え、
前記第2の処理工程は、
前記所定数のブロックごとに復号する復号工程と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定工程と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え工程と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化工程と
を備えることを特徴とする情報処理方法。 - ブロック単位に分割された画像データを直交変換し、所定数のブロックごとに異なる量子化ステップで量子化することで得られた変換係数を所定の方向で予測符号化した符号化データを処理する情報処理方法であって、前記符号化データを第1の処理工程により処理した場合の符号長を予測する第1の予測工程と、
前記符号化データを第2の処理工程により処理した場合の符号長を予測する第2の予測工程と、
前記第1の予測工程により予測された符号長と、前記第2の予測工程により予測された符号長とに基づいて、前記第1または第2のいずれかの処理工程により処理された符号化データを出力する出力工程と、を備え、
前記第1の処理工程は、
前記符号化データから量子化ステップに関する情報を前記所定数のブロックごとに抽出する量子化ステップ抽出工程と、
前記所定数のブロックごとに抽出された量子化ステップに関する情報に基づいて、単一の量子化ステップを決定する量子化ステップ決定工程と、
前記決定された単一の量子化ステップと、前記抽出された所定数のブロックごとの量子化ステップとに基づいて、前記符号化データの変換係数を所定の方向で予測符号化する予測符号化工程と、を備え、
前記第2の処理工程は、
前記所定数のブロックごとに復号する復号工程と、
前記復号して得られた前記ブロック内の所定の位置の変換係数に基づいて、前記所定数のブロックごとに、予測符号化を行なった際の方向を判定する判定工程と、
前記所定数のブロックごとに判定された方向と、あらかじめ決定された単一の方向とに基づいて、前記所定数のブロックごとに復号された変換係数を並び替える並び替え工程と、
前記並び替えられた変換係数を前記単一の方向で符号化する符号化工程と
を備えることを特徴とする情報処理方法。 - 請求項13乃至24のいずれか1つに記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
- 請求項13乃至24のいずれか1つに記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003083521A JP2004297184A (ja) | 2003-03-25 | 2003-03-25 | 情報処理装置および情報処理方法ならびに記憶媒体、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003083521A JP2004297184A (ja) | 2003-03-25 | 2003-03-25 | 情報処理装置および情報処理方法ならびに記憶媒体、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004297184A true JP2004297184A (ja) | 2004-10-21 |
Family
ID=33398972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003083521A Withdrawn JP2004297184A (ja) | 2003-03-25 | 2003-03-25 | 情報処理装置および情報処理方法ならびに記憶媒体、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004297184A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008120434A1 (ja) * | 2007-03-28 | 2010-07-15 | パナソニック株式会社 | 復号化回路、復号化方法、符号化回路及び符号化方法 |
US8243826B2 (en) | 2006-03-17 | 2012-08-14 | Nec Corporation | Encoded stream transmitter |
-
2003
- 2003-03-25 JP JP2003083521A patent/JP2004297184A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8243826B2 (en) | 2006-03-17 | 2012-08-14 | Nec Corporation | Encoded stream transmitter |
JPWO2008120434A1 (ja) * | 2007-03-28 | 2010-07-15 | パナソニック株式会社 | 復号化回路、復号化方法、符号化回路及び符号化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6989868B2 (en) | Method of converting format of encoded video data and apparatus therefor | |
TWI622288B (zh) | 視訊解碼方法 | |
KR100797215B1 (ko) | 컨버터를 이용하는 비디오 인코더 | |
US8179963B2 (en) | Coding mode determining apparatus, image coding apparatus, coding mode determining method and coding mode determining program | |
US20230308663A1 (en) | Device and method of video decoding with first and second decoding code | |
KR20120092692A (ko) | 화상 예측 부호화 장치, 화상 예측 복호 장치, 화상 예측 부호화 방법, 화상 예측 복호 방법, 화상 예측 부호화 프로그램, 및 화상 예측 복호 프로그램 | |
EP2077670A1 (en) | Transcoder, transcoding method, decoder, and decoding method | |
US20080107175A1 (en) | Method and apparatus for encoding and decoding based on intra prediction | |
US8189687B2 (en) | Data embedding apparatus, data extracting apparatus, data embedding method, and data extracting method | |
US11849124B2 (en) | Device and method of video encoding with first and second encoding code | |
US20040013399A1 (en) | Information processing method and apparatus | |
JP2009290463A (ja) | 符号化装置/復号化装置、符号化方法/復号化方法及びプログラム | |
KR100969908B1 (ko) | 편집 장치 및 방법, 그리고 기록 매체 | |
JP5378939B2 (ja) | 画像符号化方法、画像復号化方法、画像符号化装置、及び画像復号化装置、並びにプログラム | |
JP3893350B2 (ja) | 符号化データ変換装置及びその方法 | |
US20150365679A1 (en) | Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof | |
KR20040048289A (ko) | 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법 | |
JP2004297184A (ja) | 情報処理装置および情報処理方法ならびに記憶媒体、プログラム | |
JP2003189313A (ja) | 画面間予測符号化方法および画面間予測復号化方法 | |
JPH07336681A (ja) | 画像変換装置 | |
JP2011151524A (ja) | 画像処理装置および方法 | |
CN102577130A (zh) | 从第一mpeg流到第二mpeg流的代码转换器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |