JP2005295526A - 画像符号化方法、画像符号化装置および画像符号化プログラム - Google Patents

画像符号化方法、画像符号化装置および画像符号化プログラム Download PDF

Info

Publication number
JP2005295526A
JP2005295526A JP2005065288A JP2005065288A JP2005295526A JP 2005295526 A JP2005295526 A JP 2005295526A JP 2005065288 A JP2005065288 A JP 2005065288A JP 2005065288 A JP2005065288 A JP 2005065288A JP 2005295526 A JP2005295526 A JP 2005295526A
Authority
JP
Japan
Prior art keywords
macroblock
encoding
macroblocks
order
decoding
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.)
Granted
Application number
JP2005065288A
Other languages
English (en)
Other versions
JP4577048B2 (ja
JP2005295526A5 (ja
Inventor
Kazutada Shimizu
一公 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005065288A priority Critical patent/JP4577048B2/ja
Publication of JP2005295526A publication Critical patent/JP2005295526A/ja
Publication of JP2005295526A5 publication Critical patent/JP2005295526A5/ja
Application granted granted Critical
Publication of JP4577048B2 publication Critical patent/JP4577048B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】イントラ予測を用いて符号化する画像符号化装置において、マクロブロックのパイプラン処理を容易とすることを目的とする。
また、PMV(周囲のマクロブロックから求めた予測動きベクトル)を用いる符号化方法において、複数のマクロブロックに対する動きベクトル探索を並列化することを目的とする。
【解決手段】マクロブロック順序選択手段13がエンコードするマクロブロックを選択する。13は、現在マクロブロックと現在マクロブロックがイントラ予測あるいは動きベクトル探索で参照するマクロブロックの順序番号の差が2以上となるようにエンコードするマクロブロックの順序を選択する。選択されたマクロブロックに対して、イントラ予測、動き補償予測、動き法相モード選択、DCT、量子化、エントロピー符号化を行う。
【選択図】図1

Description

本発明は、MPEG等の技術に基づいて動画像、あるいは静止画像を符号化する装置、方法、およびプログラムに関する。
近年、動画像の符号化が衛星放送、蓄積媒体等に広く応用されている。圧縮方法としてMPEG2 Videoが広く用いられており、規格は非特許文献3に述べられている。MPEG2は動き補償とDCT(離散コサイン変換)を用いた圧縮技術である。
非特許文献1に基づいてMPEG2の符号化装置について簡単に説明する。図3はエンコーダの基本構成を示すものであり、非特許文献1のp.71の図を元にしている。図3に基づいて符号化処理について説明する。
ビデオ入力がアナログ入力の場合はA/D変換部50によりデジタル化される。入力の解像度と符号化の解像度が異なっている場合はフォーマット変換部51で空間解像度が変換される。
ピクチャタイプにはI、P、Bの3種類がある。Bピクチャは入力順(表示順)で後のI、Pピクチャが符号化された後に符号化されるため、画面並び替え部52で画面の並び替えを行い、符号化順のフレーム順序に変換する。
各画面に対して符号化はマクロブロック(16画素×16画素)単位に行われる。マクロブロックの符号化の順序は画面で左から右へ、また上から下への順である。Iピクチャでは全てのマクロブロックがイントラ符号化(他のピクチャを参照しない)される。Pピクチャ、Bピクチャではマクロブロックはイントラ符号化あるいはインター符号化(他のピクチャを参照する)される。インター符号化では動きベクトル検出部60で検出された動きベクトルを用いて、動き補償モード選択部61によって他のピクチャから予測し、予測値との差分を符号化する。図3に示したのはインター符号化の場合である(イントラ符号化の場合は動き補償を行わない)。
各マクロブロック(MB)に対する処理を説明する。イントラの場合は輝度の4個のブロック(8×8)と色差の2個のブロック(8×8)に対してDCT部53によりDCTが行われる。インター符号化の場合は動きベクトルに基づいて動き補償予測されて、予測値との差分である4個の輝度のブロックと2個の色差のブロックに対してDCTが行われる。
DCTの結果、DCT係数が出力される。DCT係数は量子化部54で量子化され、可変長符号化部55で可変長符号化(VLC)されて出力される。出力のビットレートに制約がある場合は、レート制御部57によってレート制御が行われて、量子化ステップに反映される。
量子化後のデータはローカルデコードされる。量子化後のDCT係数は逆量子化部58で逆量子化され、逆DCT部59で逆DCTされ、動き補償されて(インター符号化の場合)、ビデオメモリ62に一時保存される。ビデオメモリに保存されたローカルデコード画像はPピクチャ、Bピクチャの符号化で参照フレームとして用いられる。
非特許文献1に基づいてMPEG2の復号化装置について簡単に説明する。図4はデコーダの基本構成を示すものであり、非特許文献1のp.71の図を元にしている。図4に基づいて復号化処理について説明する。
入力されたデータが可変長復号化部71によって可変長復号され、量子化DCT係数と動きベクトルその他の情報が分離される。量子化DCT係数は逆量子化部72によって逆量子化され、逆DCT部73によって逆DCTされて画像データとなる。インター符号化されたマクロブロックの場合は、さらに動きベクトルを用いて動き補償部77によって動き補償された画像データが加算される。
復号化においてもマクロブロックの処理順序は符号化と同じく、左から右へ、また上から下への順である。1フレーム分のデコードが終るとIピクチャ、Pピクチャは他のフレームをデコードするときの参照フレームとして用いるためにビデオメモリ78に一時保存される。後からデコードされたBピクチャが表示順で先になることがあり、この場合、メモリに保存されている画像を用いて画面並び替え部74によってフレームの出力順序を並び替える。
ハードウェアによるエンコード、デコードにおいては、前述のマクロブロックに対する処理をパイプライン方式で行うことがある。マクロブロックに対するパイプライン処理について非特許文献2に基づいて説明する。図5は非特許文献2のp.126を元にして作成したマクロブロックのパイプライン処理の概念図である。非特許文献2のエンコーダは2個のDSPを用いた構成になっているため、DSP間の転送処理(ステージ3)が入っているが、1個のDSPで構成されていれば転送処理は不要である。
図5に基づいてマクロブロックのパイプラン処理について説明する。図5(a)はマクロブロックに対して行われる各ステージの処理内容である。ステージは処理のタイミングを示すものであり、1個のステージの処理が必ずしも1個の回路ユニットで行われるわけではない。
1個のマクロブロックに対してステージ0からステージ6までの処理が行われる。ステージ0ではデータ入力が行わる。ステージ1ではフレーム/フィールドDCTの選択と動き補償モード選択が行われる。ステージ2ではDCTが行われる。ステージ3では2つのDSPの間で転送が行われる。ステージ4では量子化と逆量子化が行われる。ステージ5では可変長符号化と逆DCTが行われる。ステージ6ではフレーム再構成が行われる。
図5(b)を参照してマクロブロックのパイプラン処理を時間の経過に従って説明する。MB0がステージ0に入る。MB0がステージ0の処理が終了してステージ1に1に入り、それと同時に新たなMB1がステージ0に入る。MB0がステージ2に入り、それと同時にMB1がステージ1に入り、新たなMB2がステージ0に入る。このようにしてステージ0からステージ6までの7個のステージが並列に動作する。各マクロブロックに対しては7ステージの処理が必要であるが、7個のステージが並列に動作するため、1ステージの時間ごとに1個のマクロブロックの処理が完了する。マクロブロックの処理をパイプラン化することにより、パイプラン化しなかった場合の最大7倍の速度で処理することができる。MEPGのエンコードの高速化においてパイプライン処理の効果は大きい。
図5に基づきエンコーダのパイプライン処理について説明したが、デコードにおいても同様に、マクロブロックの処理を適当なステージに分割し、各ステージを並列に動作させることによりパイプライン処理することが可能である。デコードにおいてもパイプライン処理することにより速度を上げることができる。
テレビジョン学会編「MPEG」オーム社、2001年、p.69-71. 祇園、他6名「リアルタイムMPEG2コーデック用DSP(VDSP2)」ナショナルテクニカルレポート、1994年、Vol.40、ナンバー6、p.122-128. ISO/IEC 13818-2, Information technology - Generic coding of moving pictures and associated audio information: Video. ITU-T H.264, Advanced video coding for generic audiovisual services. ITU-T T.81, Information technology - Digital compression and coding of continuous-tone still images - Requirements and guidelines. Joint Video Team (JVT) software, http://iphome.hhi.de/suehring/tml/index.htm Yu-Wen Huang, Tu-Chih Wang, Bing-Yu Hsieh and Liang-Gee Chen, "Hardware architecture design for variable block size motion estimation in MPEG-4 AVC/JVT/ITU-T H.264", IEEE Int Symp Circuits Syst, 2003 Vol 2, p.796-799, 2003. Gary J. Sullivan and Thomas Wiegand, "Rate-Distortion Optimization for Video Compression", IEEE Signal Processing Magazine, Nov 1998, p.74-90, 1998.
以上説明したように、前記のMPEGエンコーダの基本構成をマクロブロックパイプライン処理で実装した従来のエンコーダは、フレーム間の予測を含む符号化を高速で処理することができる。
しかしながら、従来の符号化装置はフレーム内予測を含む符号化においてはパイプラン処理が難しいという課題がある。なぜならば、フレーム間予測の場合は参照フレームのエンコード、ローカルデコードが既に完了しているのに対して、フレーム内予測の場合は、参照する領域の処理がマクロブロックパイプラインの途中にある可能性があるためである。
例えば、マクロブロックの符号化において同じフレーム内の左のマクロブロックをイントラ予測(後述)に用いる場合は、左のマクロブロックのエンコード、ローカルデコードが完了するまで、エンコードしようとしているマクロブロックの予測を行うことができない。そのため、従来例のように各ステージの処理を並行動作することができないので、マクロブロックのパイプライン処理を実装することが困難である。
以下にイントラ予測について詳しく説明する。イントラ予測を用いた符号化方法としてH.264がある。H.264の規格は非特許文献4に述べられている。H.264はフレーム間予測、イントラ予測、整数変換、エントロピー符号化、デブロッキングフィルタなどの技術を用いているが、本発明と関係があるイントラ予測について非特許文献4に基づいて説明する。H.264の符号化はMPEG2と同様にマクロブロック単位で行われる。
H.264のイントラ予測について説明する。イントラ予測は同じフレーム内の既にデコードされた画素を参照して予測し、入力画像と予測値の差分を符号化することにより符号量を減少させる技術である。イントラ予測において参照される領域は、符号化する領域に先だってエンコード、ローカルデコードされていなければならない。
H.264のイントラ予測には16×16と4×4の2種類がある。図10はH.264のマクロブロック(16×16)とブロック(4×4)を示している。4×4のブロックは16×16のマクロブロックを16等分したものである。
図11を参照してイントラ16×16予測を説明する。以下、輝度について説明するが、色差についても同様である。マクロブロックAが符号化する現在マクロブロックである。●(黒い丸印)で示した33個の画素がマクロブロックAのイントラ16×16予測に参照画素として用いられる。マクロブロックAが画面周辺部にあり参照画素が存在しない場合は、参照画素の値として128が用いられる(画素値は8ビットである)。
33個の参照画素を用いてマクロブロックAの256個の画素を予測する。イントラ16×16の予測方法は4種類のモードがあり、vertical、horizontal、DC、planeと呼ばれている。予測方法の詳細は本発明の本質と関係ないので省略する。
重要なことは、マクロブロックAをエンコードするときに、参照する画素が利用可能でなければならないことである。そのためには、マクロブロックAのエンコードに用いる参照画素を含む左のマクロブロックB、上のマクロブロックC、左上のマクロブロックDのエンコードとローカルデコードが完了している必要がある。マクロブロックB、C、Dのエンコードが完了した後でなければマクロブロックAのエンコードを開始することができない。
図9(a)は従来のエンコーダによるマクロブロックの符号化順序を示している。従来のエンコーダでは、マクロブロックAの直前にエンコードするのは左のマクロブロックBである。エンコーダはマクロブロックBの処理が完了するまで、マクロブロックAに対してイントラ16×16予測を行うことができない。従って、マクロブロックの処理を順次に行う必要があり、パイプラン処理が困難であるという課題がある。
簡単のためマクロブロックの処理がステージ0、ステージ1の2つのステージで行われる場合について説明する。ここで、ステージ0はイントラ予測のモード選択を含む処理を行い、ステージ1はステージ0の結果を用いてエンコードとローカルデコードを行う。現在マクロブロックのイントラ予測のために左のマクロブロックのエンコード、ローカルデコード結果を用いる。左のマクロブロックのステージ1が完了するまで現在マクロブロックのステージ0を開始することができないので、各ステージを並行動作させることができない。マクロブロックの各ステージの処理を図9(b)に示す。
図12を参照してイントラ4×4予測を説明する。マクロブロックAが符号化する現在マクロブロックである。ブロックaが符号化する4×4のブロックである。●(黒丸)で示した13個の画素がブロックaのイントラ4×4予測で参照画素として用いられる。イントラ4×4の予測方法は9種類のモードがあり、vertical、horizontal、DC、diagonal down left、diagonal down right、vertical right、horizontal down、vertical left、horizontal upと呼ばれる。予測方法の詳細は本発明の本質と関係ないので省略する。
ブロックaのイントラ4×4予測において、マクロブロックB、マクロブロックC、マクロブロックDの画素を参照するので、マクロブロックAのエンコードに先だって、マクロブロックB、C、Dの処理が完了している必要がある。さらに、ブロックaがbの位置にある場合を考えると、ブロックbはマクロブロックEの画素を参照するので、マクロブロックAのエンコードに先立ち、マクロブロックEの処理が完了している必要がある。結局、マクロブロックAのエンコードに先だって、マクロブロックB、C、D、Eのエンコードとローカルデコードが完了している必要がある。
イントラ16×16予測の場合と同様に、イントラ4×4の予測においても、マクロブロックB、C、D、Eのエンコードが完了した後でなければマクロブロックAのエンコードを開始することができない。そのため、マクロブロックの処理を順次に行う必要があり、パイプラン処理が困難であるという課題がある。
符号化の規格によっては、マクロブロックの符号化において動きベクトルを符号化しないで、周囲のマクロブロックの動きベクトルから動きベクトルを決めるような符号化方法がある。このようなマクロブロックの符号化方法はH.264では「スペーシャルダイレクトモード」と呼ばれる。
非特許文献4に基づいてH.264のスペーシャルダイレクトモードについて説明する。H.264ではBピクチャの中のブロックをスペーシャルダイレクトモードで符号化することができる。図8はスペーシャルダイレクトモードの説明図である。ブロックAがスペーシャルダイレクトモードで符号化するブロックである。ブロックAは16×16あるいは8×8である。ブロックBは、ブロックAの左上の画素の左に位置する画素を含むブロックである。ブロックCは、ブロックAの左上の画素の上に位置する画素を含むブロックである。ブロックDは、ブロックAの右上の画素の右上に位置する画素を含むブロックである。ブロックA、B、C、Dは同じフレーム内にある。
スペーシャルダイレクトモードで符号化するブロックAに対しては、動きベクトルを符号化しない。デコード時にはブロックB、C、Dの動きベクトルのメジアン(中央値)によってブロックAの動きベクトルを決める。ブロックAの動きベクトルを符号化しないことによって、符号量を減らすことができる。
ブロックをスペーシャルダイレクトモードで符号化する場合は、同じフレーム内の符号化するブロックの左、上、右上のブロックの動きベクトルを用いる。そのため、マクロブロック内にスペーシャルダイレクトモードで符号化するブロックが存在する場合は、現在マクロブロックをエンコードする前に左、上、右上のマクロブロックのエンコードが完了している必要がある。
スペーシャルダイレクトモードを用いる符号化においては、イントラ予測の場合と同様に、現在マクロブロックの左、上、右上のマクロブロックのエンコードが完了した後でなければ現在マクロブロックのエンコードを開始することができない。そのため、マクロブロックの処理を順次に行う必要があり、パイプラン処理が困難であるという課題がある。
本発明は、イントラ予測を行うような符号化方法であっても、マクロブロックのパイプライン処理が可能な画像符号化装置を提供することを目的とする。また、本発明のもう一つの目的は、スペーシャルダイレクトを用いるような符号化方法であっても、マクロブロックのパイプライン処理が可能な画像符号化装置を提供することである。
また、本発明の他の目的は、PMV(予測動きベクトル)を用いる符号化方法において動きベクトル探索とエンコードをパイプライン処理することが可能な画像符号化装置を提供することである。また、PMVを用いる符号化方法において複数のマクロブロックに対する動きベクトル探索を並列に行うことが可能な画像符号化装置を提供することである。
前記従来の課題を解決するために、本発明の画像符号化装置は、背景技術で説明した従来のエンコーダに対してマクロブロックの符号化順序を選択する手段を付加したことを特徴とし、イントラ予測あるいはスペーシャルダイレクトモードを用いる場合であってもマクロブロックのパイプライン処理を行うことができる。
本発明のマクロブロックの符号化順序の選択手段は、横1行分のマクロブロックの符号化が完了する前に次の行のマクロブロックの符号化を開始することを特徴とする。さらに、前記順序を選択する手段は現在マクロブロックのイントラ予測に用いるマクロブロック、あるいは現在マクロブロックのスペーシャルダイレクトモード予測に用いるマクロブロックの符号化の順序番号が現在マクロブロックの順序番号よりも2以上大きい(間に1つ以上のマクロブロックが存在する)ことを特徴とする。
本発明の画像符号化装置によれば、イントラ予測を用いる符号化方法においてマクロブロックのパイプラン処理が可能となり、処理速度を上げることが可能となる。
また、本発明の画像符号化装置によれば、スペーシャルダイレクトを用いる符号化においてマクロブロックのパイプライン処理が可能となり、処理速度を上げることが可能となる。
また、本発明の画像符号化装置によれば、PMV(予測動きベクトル)を用いる符号化方法において動きベクトル探索とエンコードをパイプライン処理することが可能となり、処理速度を上げることが可能となる。
また、本発明の画像符号化装置によれば、PMVを用いる符号化方法において複数のマクロブロックに対する動きベクトル探索を並列に行うことが可能となり、処理速度を上げることが可能となる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は本発明による画像符号化装置の基本構成である。従来の装置構成との相違はマクロブロック順序選択部13が追加されたことである。本実施の形態の目的は、H.264のイントラ16×16予測を用いる符号化方法の場合に、マクロブロックのパイプラン処理を容易にすることである。前述のように、イントラ16×16予測では現在マクロブロックの左、上、左上の3個のマクロブロックを予測に用いる。説明を簡単にするために、ピクチャ全体が1つのスライスであるとする(H.264の規格では可能)。H.264ではDCTの代わりにDCTを整数演算で近似した整数変換を用いるが、本発明の本質とは関係ないので、以下の説明ではDCTとする。
図1に基づいて動作を説明する。マクロブロック順序選択部13は次にエンコードするマクロブロックを選択する。動きベクトル検出、イントラ予測部17は選択されたマクロブロックに対してインター予測モードの動きベクトルの検出とイントラ予測のモードの選択を行う。動き補償モード選択部18は選択されたマクロブロックに対してイントラ予測、インター予測、スキップ等の符号化モードの選択を行う。DCT部14は選択されたマクロブロックのイントラ予測の残差あるいはインター予測の残差に対してDCTを行う。量子化部15はDCT係数を量子化する。エントロピー符号化部21はDCT係数をエントロピー符号化する。エントロピー符号化にはH.264の規格によって可変長符号化と算術符号化がある。逆量子化部19は量子化されたDCT係数を逆量子化する。逆DCT部20は逆量子化されたDCT係数に対して逆DCTを行う。
図13は本実施の形態におけるマクロブロック順序選択部13が次にエンコードするマクロブロック(MBとする)を選択する方法のフローチャートである。図13を参照してマクロブロック順序選択部の動作を説明する。現在のマクロブロックの座標を(i、j)として、次にエンコードするマクロブロックの座標(v、h)を求める。第1座標は垂直方向の位置を示し、下方向に増加する。第2座標は水平方向の位置を示し、右方向に増加する。MB(i、j)は座標(i、j)のマクロブロックを表わす。
座標(i+1、j−1)にマクロブロックが存在するかどうか調べ(ステップS10)、存在する場合、そのマクロブロックを次のマクロブロックとする(ステップS11)。座標(i+1、j−1)にマクロブロックが存在しない場合、以下の(1)から(3)を行う。
(1)エンコードされていないマクロブロックが存在する最小の第1座標をvとする(ステップS12)。
(2)第1座標がvのエンコードされていないマクロブロックの中で最も左のマクロブロックの第2座標をhとする(ステップS13)。
(3)座標(v、h)のマクロブロックを次のマクロブロックとする(ステップS14)。
上の(1)においてエンコードされていないマクロブロックが存在しない場合、終了とする。
図6(a)は図13の方法によりマクロブロックに順序をつけた例である。四角がマクロブロックを示し、四角の中の数字がマクロブロックの順序を示す。図ではフレームサイズが水平8マクロブロック、垂直4マクロブロックの場合を示しているが、他のフレームサイズでも同様である。
図6(b)は本実施の形態の順序でマクロブロックをエンコードしたときのパイプラン処理の概念図である。簡単のため、マクロブロックの処理をステージ0とステージ1に分割して、2段のパイプライン処理を行う場合について説明する。ステージ0はイントラ16×16予測のモード選択を含む処理を行い、ステージ1はステージ0の結果を用いてエンコードとローカルデコードを行うとする。例として、MB4をエンコードする場合について説明する。MB4のイントラ16×16予測ではMB0、MB1、MB2を参照するので、MB4のエンコードの前にこれら3個のマクロブロックのエンコードとローカルデコードが完了している必要がある。図6(b)に示すように、MB4の前にMB3がエンコードされるため、MB4のエンコードの開始時点でMB0、MB1、MB2の処理が完了している。そのため、MB3のステージ0の完了直後に、MB4のステージ0を開始することができる。このようにしてパイプラン処理が可能となる。
本実施の形態の装置でエンコードされたマクロブロックはエンコード順に出力しても良いし、フレーム全体のエンコードが完了した後にH.264の規格に合うように通常のラスタ順に並べ替えて出力しても良い。また、出力ストリームの中にエンコード順かラスタ順かの識別情報を持たせて、いずれかを選択するようにすることも可能である。マクロブロックをエンコード順に出力する場合は、符号化装置から出力されるストリームにマクロブロックのフレーム内の位置を示す情報を含むようにする。マクロブロックをラスタ順に出力する場合は、マクロブロックのエンコード順序を示す情報を含むようにする。
マクロブロックの位置を示すことは、マクロブロックに対してフレーム内の座標(i、j)に対応する情報を付加することにより行うことができるが、他の方法、例えば、マクロブロックの位置を導くことができる情報を付加することによっても可能である。他の方法としては、ピクチャヘッダの中にピクチャ全体のマクロブロックの順序付けの方法を示す識別子を付加する方法がある。あるいは、スライスヘッダの中にスライス内のマクロブロックの順序付け方法の識別子を付加する方法であってもよい。あるいは、シーケンスヘッダの中にシーケンス内のピクチャのマクロブロックの順序付け方法の識別子を付加する方法であっても良い。
なお、本実施の形態ではマクロブロックをエンコードする順序を図13で示す方法で選択したが、現在マクロブロックと、左、上、左上の3個のマクロブロックの順序番号の差が2以上であるような順序付けであれば、他の選択方法であっても同様に実施可能である。
なお、本実施の形態は2段のパイプラン処理について説明したが、3段以上のパイプラン処理を行うことも可能である。例えば、図6(a)ではMB6以降は左、上、左上のマクロブロックとの順序番号の差が3以上なので、3段のパイプラン処理が可能である。同様に、MB10以降は左、上、左上のマクロブロックとの順序番号の差が4以上なので、4段のパイプラン処理が可能である。ただし、フレームの左上端と右下端ではパイプラン処理が可能な段数は小さくなる。
なお、以上の説明ではピクチャ全体が1つのスライスとしたが、複数のスライスに分かれている場合であっても、スライスごとに本実施の形態によるマクロブロックの順序付けによって符号化を行うことにより同様に実施可能である。
なお、以上の説明ではフレームピクチャについて説明したが、フィールドピクチャについても同様に実施可能である。フィールドピクチャの場合はフィールドに分けた後にマクロブロックに分割し、マクロブロックに対する処理(エンコーダの場合はエンコード、デコーダの場合はデコード)を上記の説明の順序で行う。
なお、本発明は、コンピュータとプログラムで実施されることがあり、そのプログラムは記録媒体に記録されることがある。このことは本発明の他の実施の形態についても同様である。
(実施の形態2)
本実施の形態における画像符号化装置の基本構成は実施の形態1と同じである。実施の形態1と異なるのはマクロブロック順序選択部13の動作である。本実施の形態はH.264の4×4のイントラ予測を含む符号化方法であってもマクロブロックのパイプラン処理を可能とすることを目的とする。前述のように、イントラ4×4予測では現在マクロブロックの左、上、左上、右上の4個のマクロブロックを予測に用いる。
図14は本実施の形態のマクロブロック順序選択部が、次にエンコードするマクロブロックを選択する方法のフローチャートである。図14を参照して動作を説明する。現在マクロブロックの位置が座標(i、j)とする。第1座標が垂直位置を示し、下方向に増加する。第2座標が水平位置を示し、右方向に増加する。座標(i+1、j−2)のマクロブロックが存在するかどうか調べ(ステップS20)、存在する場合、そのMB(i+1、j−2)を次のマクロブロックとする(ステップS21)。座標(i+1、j−2)のマクロブロックが存在しない場合は以下の(1)から(3)を実行する。
(1)まだ符号化されていないマクロブロックが存在する最小の第1座標をvとする(ステップS22)。
(2)第1座標がvの符号化されていないマクロブロックの中で最も左のマクロブロックの第2座標をhとする(ステップS23)。
(3)座標(v、h)のマクロブロックを次にエンコードするマクロブロックとする(ステップS24)。
上の(1)において符号化されていないマクロブロックが存在しない場合、終了とする。
図7(a)は図14の方法によって選択したマクロブロックの符号化順序である。図7(b)はマクロブロックのパイプラン処理を示す。図では簡単のため、2段のパイプランで処理する場合を示している。ステージ0はイントラ4×4予測のモード選択を含む処理を行い、ステージ1はステージ0の結果を用いてエンコード、ローカルデコードを行うとする。
例として、MB5をエンコードする場合について説明する。MB5のイントラ4×4予測ではMB0、MB1、MB2、MB3の4個のマクロブロックを予測に用いる。MB5のエンコード開始までに予測に用いるこれらの4個のマクロブロックのエンコードとローカルデコードが完了している必要がある。本実施の形態のマクロブロック順序選択によれば、MB5とこれら4個のマクロブロックの順序の差が2以上となるので、MB5のエンコードを開始する時点でこれらの4個のマクロブロックの処理が完了している。従って、MB4のステージ0の完了直後に、MB5のステージ0を開始することができる。それによって、図7(b)に示すように2段のパイプラン処理が可能となる。
なお、本実施の形態は2段のパイプラン処理について説明したが、3段以上のパイプラン処理を行うことも可能である。例えば、図7(a)ではMB9以降は、現在マクロブロックと現在マクロブロックが参照する左、上、左上、右上の4個のマクロブロックとの順序番号の差が3以上なので、3段のパイプラン処理が可能である。同様に、MB16以降は現在マクロブロックと左、上、左上、右上のマクロブロックとの順序番号の差が4以上なので、4段のパイプラン処理が可能である。ただし、フレームの左上端と右下端ではパイプラン処理が可能な段数は小さくなる。
なお、本実施の形態ではマクロブロックをエンコードする順序を図14で示す方法で選択したが、現在マクロブロックと、左、上、左上、右上の4個のマクロブロックの順序番号の差が2以上であるような順序付けであれば、他の選択方法でも同様に実施可能である。
実施の形態1においてイントラ16×16予測を含む符号化を2段のパイプラン処理できるための条件は、現在マクロブロックと左、上、左上の3個のマクロブロックの順序番号の差が2以上となることである。実施の形態2においてイントラ4×4予測を含む符号化を2段のパイプラン処理できるための条件は、現在マクロブロックと左、上、左上、右上の4個のマクロブロックの順序番号の差が2以上となることである。実施の形態2の条件を満たせば実施の形態1の条件を満たすので、実施の形態2の符号化装置はイントラ16×16予測に対してもマクロブロックのパイプラン処理が可能である。3段以上のパイプライン処理についても実施の形態2の条件を満たせば実施の形態1の条件を満たすので、同様に実施可能である。
本実施の形態の装置でエンコードされたマクロブロックはエンコード順に出力しても良いし、フレーム全体のエンコードが完了した後に通常のラスタ順に並べ替えて出力しても良い。また、出力ストリームの中にエンコード順かラスタ順かの識別情報を持たせて、いずれかを選択するようにすることも可能である。
なお、マクロブロックを横方向の2列単位に区切って、エンコード順序を図18(a)のようにしても同様に実施可能である。このような順序にすることにより、マクロブロックのエンコードが終わった後にラスタ順に並び替えて出力する場合、マクロブロックのエンコードが終わってから出力するまでの中間データのデータ量を小さくすることができる。また、マクロブロックのエンコード順序を図18(b)のようにしても同様に実施可能である。図18(a)の順序ではMB14、MB15、MB17は左のマクロブロックとの順序番号の差が1なので、これらのマクロブロックはパイプライン処理することができない。図18(b)の順序とすることによりこれらのマクロブロックについてもパイプライン処理を行うことが可能となる。
なお、マクロブロックを横方向の3列単位に区切って、図19の順序でエンコードしても同様に実施可能である。このような順序とすることにより、マクロブロックを3段のパイプラン処理することを可能とし、かつ、マクロブロックのエンコードが終わった後にラスタ順に並び替えて出力する場合、マクロブロックのエンコードが終わってから出力するまでの中間データのデータ量を小さくすることができる。
なお、ピクチャ構造がフレームであってもフィールドであっても同様に実施することができる。フィールドピクチャの場合はフィールドごとに前述の順序でマクロブロックをエンコードする。
(実施の形態3)
図2は本発明の実施の形態3における復号化装置の基本構成図である。従来の装置構成との差異はマクロブロック順序選択部39が存在することである。本実施の形態の目的は、イントラ16×16予測を含む符号化方法によって符号化されたストリームをマクロブロックのパイプラン処理によって復号することを容易にすることである。
図2に基づいて動作を説明する。マクロブロック順序選択部39は可変長復号化部31からマクロブロックの位置情報を受け取る。マクロブロック順序選択部39は後述のマクロブロック順序選択方法に基づいて、次にデコードするマクロブロックを選択する。動き補償部37は選択されたマクロブロックに対して動き補償を行い、ビデオメモリ部38は選択されたマクロブロックをフレーム内の対応する位置に格納する。
前記マクロブロック位置情報はデコードするマクロブロックのフレーム内における位置を示す情報である。具体的には、マクロブロックごとにもつピクチャ内の座標、あるいはピクチャヘッダに含まれるピクチャ内のマクロブロックの順序を示す情報、あるいはスライスヘッダに含まれるスライス内のマクロブロックの順序を示す情報、あるいはシーケンスヘッダに含まれるシーケンス内のピクチャのマクロブロックの順序を示す情報である。ピクチャヘッダ、スライスヘッダ、シーケンスヘッダに含まれるマクロブロックの順序を示す情報とは、マクロブロックの順序を規定する識別子、あるいはピクチャ内のマクロブロックに対する座標と符号化順序の対応表である。ストリーム内のマクロブロックの格納順序が図9(a)に示すようなラスタ順でなくても、前記識別子あるいは前記対応表によってマクロブロックのフレーム内の位置を知ることができる。
以下、イントラ予測を含む符号化方法でエンコードされたストリームを復号する場合について説明する。
マクロブロックのストリームの中の格納順序とマクロブロックのデコード順序が一致することもあり、異なることもある。一致する場合の例として、ストリーム中の順序とデコード順序がともに図6(a)に示す順序の場合や、ストリーム中の順序とデコード順序がともに図7(a)に示す順序の場合がある。異なる場合の例として、ストリーム中の順序が図9(a)でデコード順序が図6(a)の場合や、ストリーム中の順序が図9(a)でデコード順序が図7(a)の場合がある。マクロブロックのストリーム中の出現順序とデコード順序が異なる場合は、後述の方法によりマクロブロックのデコード順序を選択する。
符号化ストリームの中にマクロブロックごとの座標が含まれている場合は、マクロブロック順序選択部はその座標からフレーム内の位置を決定する。符号化ストリームのピクチャヘッダ、スライスヘッダあるいはシーケンスヘッダにマクロブロックの順序を示す識別子が含まれている場合は、識別子が示す手順にしたがってマクロブロックのフレーム内の位置を決定する。
例えば、識別子が示すマクロブロックの格納順序が図13のフローチャートの手順の場合、図13の手順に基づいてマクロブロックのフレーム内の位置を決定する。この場合、ストリーム中のマクロブロックの格納順序は図6(a)のようになる。このようにして、デコードされたマクロブロックをフレーム内の正しい位置に配置することができる。
本実施の形態におけるマクロブロック順序選択部39はマクロブロックのデコード順序を図13のフローチャートによって選択する。ストリーム中のマクロブロックの格納順序は図6(a)の順序のこともあり、他の順序、例えば、図9(a)の順序のこともある。マクロブロックのストリーム中の格納順序とデコード順序が同じ場合は、可変長復号された順にデコードする。マクロブロックのストリーム中の格納順序とデコード順序が異なる場合は、可変長復号後にマクロブロックのデータを一時的に保存しておき、順序選択部がデコードするマクロブロックの順序を選択する。
イントラ16×16予測のデコードでは現在マクロブロックの左、上、左上の3個のマクロブロックを参照するので、現在マクロブロックをデコードする前にこれらの3個のマクロブロックのデコードが完了している必要がある。図13の手順により選択されるマクロブロックのデコード順序は図6(a)に示す順序となる。本実施の形態の復号装置は現在マクロブロックと現在マクロブロックの左、上、左上の3個のマクロブロックのデコード順序の差が2以上となる(左上端と右下端を除く)。
本実施の形態の復号装置によるマクロブロックのデコードのパイプラン処理について説明する。簡単のため、パイプラインはステージ0とステージ1の2段とし、各段の処理時間は等しいとする。ステージ0がイントラ16×16予測のデコードを含む処理を行い、ステージ1が残りの処理を行うとする。例として、MB4のデコードについて説明する。MB4がイントラ16×16予測を用いてエンコードされていたとする。MB4のデコードではMB0、MB1、MB2を参照するので、MB4のデコードの前にこれら3個のマクロブロックのデコードが完了している必要がある。MB4がパイプラインのステージ0に入る前にMB2のステージ1の処理が完了しているので、MB3のステージ0の完了直後にMB4のステージ0を開始することができる。
なお、本実施の形態は実施の形態1の符号化装置でエンコードされたストリームのデコードについて説明したが、実施の形態2の符号化装置でエンコードされたストリームを復号する場合についても、マクロブロックのデコード順序を図7(a)とすることにより同様にパイプラン処理することが可能である。
なお、本実施の形態はマクロブロック処理のパイプラインが2段の場合について説明したが、パイプラインが3段以上の場合についても同様に実施可能である。MB6以降は現在マクロブロックの順序番号と、イントラ16×16で参照する3個のマクロブロック(現在マクロブロックの左、上、左上のマクロブロック)の順序番号の差が3以上となるので、3段のパイプラン処理が可能である。MB10以降は現在マクロブロックと参照する3個のマクロブロックとの順序番号の差が4以上となるので、4段のパイプラン処理が可能である。
なお、本実施の形態はマクロブロックの符号化順序が図6(a)で示される場合について説明したが、図7(a)で示されるような順序に対しても実施可能である。図7(a)の順序は図14のフローチャートに示す手順により求めることができる。図7(a)の順序の場合は、現在マクロブロックと現在マクロブロックの左、上、左上、右上の4個のマクロブロックの順序番号の差が2以上となるので、イントラ16×16予測とイントラ4×4予測の両方に対して2段のパイプラン処理によるマクロブロックのデコードが可能である。なお、この場合においても前述と同様に3段以上のパイプラン処理が可能である。
本実施の形態の装置でエンコードされたマクロブロックはエンコード順に出力しても良いし、フレーム全体のエンコードが完了した後に通常のラスタ順に並べ替えて出力しても良い。また、出力ストリームの中にエンコード順かラスタ順かの識別情報を持たせて、いずれかを選択するようにすることも可能である。
(実施の形態4)
本実施の形態はエンコーダにおいてH.264のスペーシャルダイレクトモードの予測を含む符号化方法であっても、マクロブロックのパイプラン処理を可能とすることを目的とする。スペーシャルダイレクトモードについては非特許文献4に述べられている。本実施の形態における画像符号化装置の基本構成は実施の形態1と同じである。実施の形態1と異なるのはマクロブロック順序選択部13の動作である。本実施の形態におけるマクロブロックのエンコード順序は実施の形態2と同じである。
本実施の形態におけるマクロブロックのエンコード順序を図7(a)に示す。図14のフローチャートに示す方法により、図7(a)に示すマクロブロックの順序付けを得ることができる。
図8に示すように、現在マクロブロックAをスペーシャルダイレクトモードでエンコードするときには、マクロブロックB、C、Dの動きベクトルあるいはそれらのマクロブロックに含まれる小ブロックの動きベクトルを用いる。そのため、現在マクロブロックをエンコードする前に左、上、右上の3個のマクロブロックのエンコードが完了している必要がある。
簡単のため、2段のパイプラインでエンコードする場合について説明する。図7(a)のマクロブロック順序によれば、現在マクロブロックと現在マクロブロックの左、上、右上の3個のマクロブロックとのエンコード順序番号の差が2以上となるので、図7(b)に示すように2段のパイプラン処理が可能となる。
(実施の形態5)
図15は本発明の実施の形態5による静止画符号化装置の基本構成図である。本実施の形態が用いる静止画の符号化方法は非特許文献5のJPEGのベースラインプロファイルを修正したものである。具体的には、マクロブロック単位に符号化し、8×8サイズのDCT、量子化、変換係数のジグザグスキャン、可変長符号化により符号化するが、以下の2点がJPEGと異なる。
(1)マクロブロックの符号化において、H.264のイントラ予測と同様の予測を用いて、周囲のマクロブロックから現在マクロブロックを予測し、予測残差を符号化する。
(2)マクロブロックの符号化順序を図6(a)あるいは図7(a)に示す順序とする。
図15に基づいて本実施の形態における静止画符号化装置の動作を説明する。マクロブロック順序選択部86がエンコードするマクロブロックを選択する。マクロブロックの順序は図13あるいは図14に示す方法で選択することができる。予測部80は選択されたマクロブロックに対して、フレームメモリ87に保存されている現在マクロブロックの周囲のマクロブロックのローカルデコード画像を用いて予測画像を作成する。残差計算部81は予測の残差を計算する。DCT部82は残差に対してDCTを行う。量子化部83はDCT係数を量子化する。ジグザグスキャン部84はDCT係数をジグザグスキャンする。可変長符号化部85はDCT係数を可変長符号化し、現在マクロブロックを周囲のマクロブロックからどのように予測したかの情報を追加する。逆量子化部89は量子化されたDCT係数を逆量子化する。逆DCT部88は逆量子化されたDCT係数を逆DCTする。予測に用いた情報と逆DCTの結果からマクロブロックを再構成し、フレームメモリ87に保存する。フレームメモリに保存されたマクロブロックは以降のマクロブロックの予測に用いられる。
周囲のマクロブロックのローカルデコード画像から現在マクロブロックを予測する方法として以下の2つがある。
(1)現在マクロブロックの左、上、左上の3個のマクロブロックを用いる。
(2)現在マクロブロックの左、上、左上、右上の4個のマクロブロックを用いる。
ここで、(1)の場合はマクロブロックの符号化順序を図6(a)に示すものとする。(2)の場合はマクロブロックの符号化順序を図7(a)に示すものとする。
以上のような方法で符号化することにより、マクロブロックの符号化でイントラ予測を用いることができるので、JPEGよりも符号量を小さくすることができるという利点がある。また、図6(a)あるいは図7(a)の順序でマクロブロックをエンコードするので、図6(b)あるいは図7(b)に示すようにマクロブロックをパイプライン処理することが可能である。
なお、以上の説明では静止画符号化装置について説明したが、本実施の形態の静止画符号化装置で符号化されたデータを復号する静止画復号装置においても、符号化装置と同じ順序でマクロブロックをデコードすることにより、マクロブロック単位のパイプラン処理が可能となる。
なお、図6(b)、図7(b)には2段のパイプライン処理する場合について示したが、エンコード、デコードで参照するマクロブロックと現在マクロブロックの順序番号の差が3以上の場合は、エンコード、デコードにおいて3段以上のパイプラン処理が可能である。
(実施の形態6)
図16は本発明の実施の形態6による符号化装置のためのマクロブロック順序並び替え装置の基本構成図である。本装置の目的はマクロブロックの符号化順序とマクロブロックのストリームへの出力順序が異なる場合に、マクロブロックを並べ替えることである。符号化されたマクロブロックは本装置により順序を並び替えた後に出力される。
図16に基づいてマクロブロック並び替え装置の動作を説明する。例として、マクロブロックの符号化順序が図7(a)であり、マクロブロックの格納順序が図9(a)である場合について説明する。
符号化マクロブロック領域は符号化されたマクロブロック(MB)が格納される。マクロブロックの符号量は一定とは限らずマクロブロックによって異なることがある。ポインタテーブルはエンコード順に格納されたマクロブロックのアドレスを持っている。順序変換テーブルは2つのエントリがあり、第1のエントリはマクロブロックの伝送順序であり、第2のエントリはマクロブロックの符号化順序である。符号化されたマクロブロックは1ピクチャのマクロブロックの符号化が完了するまで伝送されないで、符号化マクロブロック領域に格納され、そのアドレスがポインタテーブルのエントリに格納される。
1ピクチャのマクロブロックの符号化が完了した後、マクロブロックを伝送順に並び替えて出力する。最初に、順序変換テーブルの第1エントリの値が0の第2エントリの値に対応するポインタが指すマクロブロックを出力する。次に、第1エントリの値が1の第2エントリの値に対応するポインタが指すマクロブロックを出力する。それ以降も同様である。このような手順により、図の例では、ポインタテーブルの0、1、2、4、6、9、12、16、3、5、7、10、13が指すマクロブロックの順に出力する。
なお、本実施の形態のマクロブロック順序並び替え装置は実施の形態1あるいは実施の形態2の画像符号化装置と組み合わせて用いることができる。実施の形態1あるいは実施の形態2の符号化装置によって符号化されたマクロブロックを、本実施の形態の装置によって順序を並べ替える。マクロブロックの符号化順序が図7(a)のようになるので、マクロブロック単位のパイプライン処理が可能となる。また、マクロブロックの伝送順序が図9(a)のようになるので、H.264の規格に適合したストリームを生成することが可能となる。すなわち、マクロブロックのパイプラン処理によってH.264の規格に適合したストリームを生成する画像符号化装置を可能とする。
なお、本実施の形態ではマクロブロックの符号化順序が図7(a)であり、出力順序が図9(a)である場合について説明したが、マクロブロックのエンコード順序あるいは出力順序が本実施の形態と異なる場合であっても、順序変換テーブルを変更することにより、同様に実施可能である。
なお、符号化マクロブロック領域に格納されるマクロブロックはエントロピー符号化された後のマクロブロックであっても、エントロピー符号化される前のマクロブロックであっても良い。エントロピー符号化される前のマクロブロックが格納される場合は、マクロブロックの順序並び替えが行われた後にエントロピー符号化されて出力される。
(実施の形態7)
図17は本発明の実施の形態7による復号化装置のためのマクロブロック順序並び替え装置の基本構成図である。本装置の目的は、符号化ストリームの中のマクロブロックの格納順序とマクロブロックの復号順序が異なる場合に、マクロブロックを並べ替えることである。入力されたマクロブロックはエントロピー復号化された後、本装置により復号順序を選択されて復号される。
図17に基づいて本実施の形態におけるマクロブロック順並び替え装置の動作を説明する。例として、マクロブロックの入力順序が図9(a)に示すものであり、マクロブロックの復号化順序が図7(a)に示すものである場合について説明する。
復号待ちマクロブロック領域には復号待ちのマクロブロック(MB)が格納される。マクロブロックの符号量は一定とは限らずマクロブロックによって異なることがある。ポインタテーブルはマクロブロックの入力順にエントロピー復号されたマクロブロックが格納されたアドレスを持っている。順序変換テーブルは2つのエントリがあり、第1のエントリはマクロブロックの復号順序であり、第2のエントリはマクロブロックの入力順序である。
入力されてエントロピー復号されたマクロブロックは復号待ちマクロブロック領域に格納される。ポインタテーブルに入力順の復号待ちマクロブロックのアドレスが格納される。1ピクチャの全てのマクロブロックの入力が完了した後、マクロブロックを復号順序によって選択して復号する。
最初に、順序変換テーブルの第1エントリの値が0の第2エントリの値に対応するポインタが指すマクロブロックを復号する。次に、第1エントリの値が1の第2エントリの値に対応するポインタが指すマクロブロックを復号する。それ以降も同様である。図の場合は、このような手順により、ポインタテーブルの0、1、2、8、3、9、4、10、16、5、11、17、6が指すマクロブロックの順に復号する。
なお、本実施の形態のマクロブロック順序並び替え装置は実施の形態3の画像復号化装置と組み合わせて用いることができる。本実施の形態の装置によって順序を並べ替えた後に、実施の形態3の復号化装置によって復号化する。このようにすることにより、マクロブロックの入力順序が図9(a)のようになり、H.264の規格に適合させることができる。また、マクロブロックの復号化順序が図7(a)のようになり、マクロブロックの復号のパイプライン処理を可能とすることができる。すなわち、H.264の規格に適合したストリームをパイプライン処理によって復号する画像復号化装置を可能とする。
なお、本実施の形態ではマクロブロックの入力順序が図9(a)、復号化順序が図7(a)の場合について説明したが、他の順序の場合であっても、順序変換テーブルを変更することにより、同様に実施可能である。
(実施の形態8)
H.264の規格にはMBAFF(macroblock adaptive frame field)と呼ばれるマクロブロックの符号化方法がある。本実施の形態ではMBAFFを用いた符号化方法をパイプライン方式で処理する符号化装置について説明する。MBAFFについては非特許文献4に述べられている。MBAFFでエンコードする場合は、上下の2個のマクロブロックをペアにして、マクロブロックペアごとにフレームかフィールドかを選択することができる。マクロブックペアがフレームの場合は2個のマクロブロックを共にフレームとしてエンコードする。マクロブロックペアがフィールドの場合は2個のマクロブロックを共にフィールドとしてエンコードする。マクロブロックペアは上のマクロブロック、下のマクロブロックの順にエンコードする。
図21(a)は従来方法におけるMBAFFの場合のマクロブロックの符号化順序である。MBAFFにおいてもイントラ16×16予測、イントラ4×4予測、スペーシャルダイレクトモードを用いることができる。これらのモードにおいては現在マクロブロックを含むマクロブロックペア(現在マクロブロックペアと呼ぶことにする)の左、上、左上、右上のマクロブロックペアをエンコードし、ローカルデコードした結果を用いて現在マクロブロックペアをエンコードする。そのため、現在マクロブロックペアのエンコードを開始する前に左、上、左上、右上のマクロブロックペアのエンコード、ローカルデコードが完了している必要がある。1個のマクロブロックのエンコードが2つのステージで行われる場合を例として説明すると、マクロブロックの各ステージの処理タイミングは図21(b)のようになり、パイプライン処理を行うことが困難である。
図20(a)は本実施の形態におけるマクロブロックの処理順序である。MB6、MB7のマクロブロックペアはMB4、MB5のマクロブロックペアを参照していないので、MB6、MB7のマクロブロックペアはMB4、MB5のマクロブロックペアのエンコード、ローカルデコードの完了を待たずにエンコードを開始することができる。従って、MB6、MB7のマクロブロックペアはMB4,MB5マクロブロックペアとパイプライン処理でエンコードすることができる。同様に、MB8,MB9のマクロブロックペアはMB6,MB7のマクロブロックペアとパイプライン処理でエンコードすることができる。これ以降のマクロブロックペアに対しても同様である。
パイプライン処理の例として1個のマクロブロックの処理が2つのステージで行われる場合について説明する。2つのステージの処理時間は等しいとする。図20(b)は本実施の形態におけるパイプライン処理のタイミングを説明する図である。MB4のステージ0が終わると、MB4のステージ1を開始し、同時にMB6のステージ0を開始する。MB6のステージ0が終わると、MB6のステージ1を開始し、同時にMB5のステージ0を開始する。MB5のステージ0が終わると、MB5のステージ1を開始し、同時にMB7のステージ0を開始する。MB7のステージ0が終わると、MB7のステージ1を開始し、同時にMB8のステージ0を開始する。これ以降も同様にパイプライン処理を行うことができる。
なお、3段以上のパイプライン処理についても同様に実施可能である。MB14,MB15のマクロブロックペアはMB12,MB13のマクロブロックペアのローカルデコード結果を用いない。また、MB16,MB17のマクロブロックペアはMB12,MB13のマクロブロックペアとMB14,MB15のマクロブロックペアのローカルデコード結果を用いない。従って、MB12,MB13のマクロブロックペア、MB14,MB15のマクロブロックペア、MB16,MB17のマクロブロックペアの3つのマクロブロックペアは並行してエンコードすることができる。従って、MB12,MB13のマクロブロックペア以降は3段のパイプライン処理によってエンコードすることができる。フレームサイズが図20(a)より大きい画像に対しては4段以上のパイプライン処理を行うことが同様に実施可能である。
(実施の形態9)
本実施の形態では動きベクトル探索とエンコードをパイプライン方式で処理する符号化装置について説明する。全体の構成は図1と同じである。
H.264の規格では動き補償を用いてマクロブロックをエンコードすることができる。マクロブロック単位で動き補償を行うことも、マクロブロックを分割したブロックで動き補償を行うこともできる。図22に動き補償のブロックを示す。動き補償を行うブロックサイズは16×16、16×8、8×16、8×8から選択することができる。8×8の場合はさらに、8×8、8×4、4×8、4×4に分割することができる。分割したブロックごとに動きベクトルを持つことができる。
H.264の規格では動きベクトルを符号化するときに、動きベクトルの値そのものを符号化するのではなく、動きベクトルと動きベクトルの予測値(PMVと呼ばれる)との差分を符号化する。水平、垂直の成分ごとに動きベクトルとPMVの差分を符号化する。規格では動きベクトルの予測値(PMV)は現在マクロブロックの左、上、右上のマクロブロックの動きベクトルから求められる。図23(a)においてMB9を現在マクロブロックとすると、MB8(左)、MB1(上)、MB2(右上)の3個のマクロブロックの動きベクトルを用いてMB9の動きベクトルの予測値(PMV)を求める。周囲のマクロブロックの動きベクトルからPMVを求める手順は複雑であるが、本発明の本質とは関係がないので手順の説明は省く。
H.264の標準化の過程で非特許文献6に述べられるJoint Model(以下JMとする)と呼ばれるエンコーダ、デコーダが作成された。JMでは符号化による歪みを小さくし、かつ符号量を小さくするためにレート・歪み最適化と呼ばれる手法を用いる(レート・歪み最適化の手法は非特許文献8にも述べられている)。非特許文献6に基づいてJMのエンコードにおける動きベクトル探索(motion estimation、ME)の方法を説明する。動きベクトル探索で動きベクトルを求めた後に、その動きベクトルを用いてエンコードする。動きベクトル探索では原画像と予測画像との予測誤差を小さくすると同時に動きベクトルの符号量が小さくなるように動きベクトルを選択する。
JMでは以下の式で計算されるJを最小にするような動きベクトルを選択する。
J=SAD+λR
ここで、SAD(sum of absolute difference)は予測残差の絶対値の和、λはラグランジュパラメタと呼ばれる定数、Rは動きベクトルの符号量である。SADの代わりに残差に対してアダマール変換を行った後の絶対値の和であるSATDを用いることもある。JMエンコーダでは動きベクトルの符号量を小さくするために、規格の手順に基づいてPMVを求め、画像の予測誤差が小さくなると同時に動きベクトルとPMVの差分が小さくなるような動きベクトルを選択する(動きベクトル探索方法はH.264の規格には規定されておらず、エンコーダに任されている。PMVを求める手順はH.264の規格に規定されている。)。
JMエンコーダはソフトウェアによる実装であるが、ハードウェアで実装する場合はパイプライン処理が課題となる。以下、それについて説明する。JMの動きベクトルサーチをそのままハードウェアで実装しようとすると、規格の手順によってPMVを求める必要がある。PMVを求めるときに現在マクロブロックの左、上、右上のマクロブロックの動きベクトルを用いるので、現在マクロブロックに対する動きベクトル探索を開始する前にこれらの3個のマクロブロックのエンコードが完了している必要がある。特に影響が大きいのが左のマクロブロックである。左のマクロブロックの動きベクトル探索とエンコードが完了してからでなければ現在マクロブロックに対する動きベクトル探索を開始することができないので、動きベクトル探索とその後のエンコード処理をパイプライン処理することが困難である。
非特許文献7ではこの課題に以下のように対応している。図23(b)に示すように、現在マクロブロックのPMVの計算において、左のマクロブロックの動きベクトルの代わりに左上のマクロブロックの動きベクトルを用いる。このようにして求めたベクトルをPMV’とすると、非特許文献7の方法は現在マクロブロックの動きベクトルとPMV’の差分を小さくするように動きベクトルを選択する。このようにすれば、動きベクトル探索とエンコードをパイプライン処理することは可能であるが、別の課題が生じる。動きベクトル探索では動きベクトルとPMV’との差分を小さくするように動きベクトルを選択するが、エンコードでは動きベクトルとPMVの差分をエンコードする。PMVとPMV’は異なるので、動きベクトルとPMV’との差分が小さくても、動きベクトルとPMVの差分が大きくなることがあり得る。そのためエンコードした後に動きベクトルの符号量が大きくなるという課題が生じる。
本実施の形態における方法では図24(a)に示す順序でマクロブロックを処理する。このような順序で処理することにより、図24(b)に示すように動きベクトル探索とその後のエンコードの処理をパイプラン処理することが可能となる。図の例ではマクロブロックの処理を動きベクトル探索とその後のエンコード処理の2段のパイプラインで処理している。例として、図24(b)を参照して現在マクロブロックがMB5の場合について説明する。MB5の動きベクトル探索に用いるPMVを求めるためにMB1、MB2、MB3の動きベクトルを用いるので、これらの3個のマクロブロックの処理が完了している必要がある。MB4の動きベクトル探索ステージが終了する時点でMB3のエンコードステージが終了するので、MB4の動きベクトル探索ステージの終了直後にMB5の動きベクトル探索ステージを開始することができる。
なお、図24はマクロブロックの処理を動きベクトル探索とその後のエンコードの2段のパイプラン処理で行う場合について示しているが、マクロブロックの処理を細分して3段以上のパイプラインによって処理することも可能である。図24(a)の順序でマクロブロックを処理することにより、MB6以降は3段のパイプライン処理が可能である。MB12以降は4段のパイプライン処理が可能である。フレームサイズが大きい画像に対しては5段以上のパイプライン処理も同様に実施可能である。
なお、図24(a)に示すマクロブロックの処理順序は図14のフローチャートの手順によって選択することが可能である。あるいは、マクロブロックのアドレスと処理順序の対応表を用いることによって選択することも可能である。
なお、本実施の形態の特徴は現在マクロブロックと左、上、右上のマクロブロックの間に処理順序で1個以上のマクロブロックが入ることである。(別の表現をすれば、現在マクロブロックと左、上、右上のマクロブロックの順序番号の差が2以上となることである。)この条件を満たせば、図24(a)とは異なる処理順序であっても、動きベクトル探索とその後のエンコードをパイプライン処理することが同様に実施可能である。3段以上のパイプライン処理についても同様である。
(実施の形態10)
本実施の形態では複数のマクロブロックに対する動きベクトル探索を並列に行い、さらに動きベクトル探索とエンコードをパイプライン方式で処理する符号化装置について説明する。全体の構成は図1と同じである。
H.264の規格では動きベクトルそのものを符号化するのではなく、動きベクトルと動きベクトルの予測値の差分を符号化する。実施の形態9に述べたように、動きベクトル探索においては、現在マクロブロックの左、上、右上のマクロブロックの動きベクトルから動きベクトルの予測値であるPMVを求める必要がある。そのため、現在マクロブロックの左、上、右上にマクロブロックが存在した場合、現在マクロブロックの動きベクトル探索を開始する前にそれらのマクロブロックのエンコードが完了している必要がある(現在マクロブロックの左、上、右上にマクロブロックが存在しない場合はそれらのエンコードが完了している必要はない。)。
図25(a)は本実施の形態によるマクロブロックの処理順序である。図25(b)は動きベクトル探索を行うMEユニットを0、1の2個備え、エンコードを行うエンコードユニットを0、1の2個備えた符号化装置の動作を説明する図である。図に基づいて時間の経過に従って動作を説明する。
時間0:MB0の動きベクトルサーチを開始する。
時間1:MB0の動きベクトルサーチが完了し、MB0のエンコードを開始する。
時間2:MB0のエンコードが完了したので、MB1の動きベクトルサーチを開始することが可能となる(MB1に対するPMVを求めるのにMB0のエンコード結果を用いるため)。MB1の動きベクトルサーチを開始する。
時間3:MB1の動きベクトルサーチが完了し、MB1のエンコードを開始する。
時間4:MB1のエンコードが完了したので、MB2の動きベクトルサーチを開始することが可能となる。MB2の動きベクトルサーチを開始する。MB0、MB1のエンコードが完了しているので、MB3の動きベクトルサーチを開始することが可能となる。MB3の動きベクトルサーチを開始する。
時間5:MB2の動きベクトルサーチが完了し、MB2のエンコードを開始する。MB3の動きベクトルサーチが完了し、MB3のエンコードを開始する。
時間6:MB4の動きベクトルサーチを開始する。MB5の動きベクトルサーチを開始する。
時間7:MB4のエンコードを開始する。MB5のエンコードを開始する。
時間8:MB6の動きベクトルサーチを開始する。MB7の動きベクトルサーチを開始する。
時間9:MB3、MB5のエンコードが完了しているので、MB8の動きベクトルサーチを開始することが可能となる(MB8に対するPMVを求めるのにMB3とMB5のエンコード結果を用いるため)。MB8の動きベクトルサーチを開始する。MB6のエンコードを開始する。MB7のエンコードを開始する。
時間10:MB4、MB6、MB7のエンコードが完了しているので、MB10の動きベクトルサーチを開始することが可能となる(MB10に対するPMVを求めるのに、MB4、MB6、MB7のエンコード結果を用いるため)。MB10の動きベクトルサーチを開始する。MB6のエンコードが完了しているのでMB9の動きベクトルサーチを開始することが可能となる。MB9の動きベクトルサーチを開始する。MB8のエンコードを開始する。
時間11:MB5、MB7、MB8のエンコードが完了しているのでMB11の動きベクトルサーチを開始することが可能となる。MB11の動きベクトルサーチを開始する。MB10のエンコードを開始する。MB9のエンコードを開始する。
時間12:MB9のエンコードが完了したので、MB12の動きベクトルサーチを開始することが可能となる。MB12の動きベクトルサーチを開始する。MB6、MB9、MB10のエンコードが完了しているので、MB13の動きベクトルサーチを開始することが可能となる。MB13の動きベクトルサーチを開始する。MB11のエンコードを開始する。
時間13:MB7、MB10、MB11のエンコードが完了しているので、MB14の動きベクトルサーチを開始することが可能となる。MB14の動きベクトルサーチを開始する。MB8、MB11のエンコードが完了しているので、MB15の動きベクトルサーチを開始することが可能となる。MB15の動きベクトルサーチを開始する。MB12のエンコードを開始する。MB13のエンコードを開始する。
時間14:MB12のエンコードが完了しているので、MB16の動きベクトルサーチを開始することが可能となる。MB16の動きベクトルサーチを開始する。MB9、MB12、MB13のエンコードが完了しているので、MB17の動きベクトルサーチを開始することが可能となる。MB17の動きベクトルサーチを開始する。MB14のエンコードを開始する。MB15のエンコードを開始する。
以上の説明から分かるように、時間4以降は2個のマクロブロックに対する動きベクトルサーチ、あるいは2個のマクロブロックに対するエンコードを並列に実行することができる。また、時間13以降は2個のマクロブロックに対する動きベクトルサーチと2個のマクロブロックに対するエンコードの両方を並列に実行することができる。時間13以降は2つのMEユニットと2つのエンコードユニットを空き時間を作らずに連続して動作させることができる。
以上、2個のMEユニットと2個のエンコードユニットを備えた装置に対する並列処理について説明したが、3個以上のマクロブロックに対する並列処理についても同様に実施可能である。例として、3個のマクロブロックに対する並列処理について説明する。符号化装置はMEユニットとエンコードユニットをともに3個備えるとする。図25でMB6に対するPMVを求めるときに参照するのはMB4である。MB7に対するPMVを求めるときに参照するのはMB2、MB4、MB5である。MB8に対するPMVを求めるときに参照するのはMB3、MB5である。MB4とMB5のエンコードが完了した時点で、MB6、MB7、MB8に対するPMVを求めるときに参照するマクロブロックのエンコードが完了している。従って、MB4とMB5のエンコードが完了した時点で、MB6、MB7、MB8に対する動きベクトル探索を同時に開始することができる。このようにしてMB6以降は3個のマクロブロックに対する動きベクトル探索、あるいは3個のマクロブロックに対するエンコードを並列に行うことができる。フレームサイズが大きい場合、処理を進めていくに従って、3個のマクロブロックに対する動きベクトルサーチと3個のマクロブロックに対するエンコードの両方を並列に実行することができる。なお、4個以上のマクロブロックに対する並列処理も同様に実施可能である。
(実施の形態11)
本実施の形態による画像符号化装置は、動きベクトル探索を行う2個のMEユニットと動きベクトル探索以降のエンコード処理を行う1個のエンコードユニットを備える。図26は本実施の形態の説明図である。動きベクトル探索はエンコードと比較して計算量が大きいので、本実施の形態ではエンコードユニットの数より多くのMEユニットを備える。
本実施の形態による画像符号化装置は図26(a)の順序でマクロブロックを処理する。図26(b)に基づき、本実施の形態の動作を時間の経過に従って説明する。動きベクトル探索はエンコードの2倍の時間がかかるとする。
時間0:MB0の動きベクトルサーチを開始する。
時間2:MB0の動きベクトルサーチが完了し、MB0のエンコードを開始する。
時間3:MB0のエンコードが完了したので、MB1の動きベクトルサーチを開始することが可能となる。MB1の動きベクトルサーチを開始する。
時間5:MB1の動きベクトルサーチが完了し、MB1のエンコードを開始する。
時間6:MB1のエンコードが完了したので、MB2の動きベクトルサーチを開始することが可能となる。MB2の動きベクトルサーチを開始する。MB0、MB1のエンコードが完了したので、MB3の動きベクトルサーチを開始することが可能となる。MB3の動きベクトルサーチを開始する。
時間8:MB2の動きベクトルサーチが完了し、MB2のエンコードを開始する。
時間9:MB2のエンコードが完了したので、MB4の動きベクトルサーチを開始することが可能となる。MB4の動きベクトルサーチを開始する。MB3の動きベクトルサーチが完了しているので、MB3のエンコードを開始する。
時間10:MB1、MB2、MB3のエンコードが完了したので、MB5の動きベクトルサーチを開始することが可能となる。MB5の動きベクトルサーチを開始する。
時間11:MB4の動きベクトルサーチが完了し、MB4のエンコードを開始する。
時間12:MB4のエンコードが完了したので、MB6の動きベクトルサーチを開始することが可能となる。MB6の動きベクトルサーチを開始する。MB5の動きベクトルサーチが完了したので、MB5のエンコードを開始する。
時間13:MB2、MB4、MB5のエンコードが完了したので、MB7の動きベクトルサーチを開始することが可能となる。MB7の動きベクトルサーチを開始する。
時間14:MB3、MB5のエンコードが完了しているので、MB8の動きベクトルサーチを開始することが可能となる。MB8の動きベクトルサーチを開始する。MB6の動きベクトルサーチが完了したので、MB6のエンコードを開始する。
時間15:MB6のエンコードが完了したので、MB9の動きベクトルサーチを開始することが可能となる。MB9の動きベクトルサーチを開始する。MB7の動きベクトルサーチが完了し、MB7のエンコードを開始する。
時間16:MB4、MB6、MB7のエンコードが完了したので、MB10の動きベクトルサーチを開始することが可能となる。MB10の動きベクトルサーチを開始する。MB8の動きベクトルサーチが完了し、MB8のエンコードを開始する。
以上の説明から分かるように、時間14以降は2個のMEユニットと1個のエンコードユニットを空き時間を作らずに連続して動作させることが可能となる。2個のマクロブロックに対する動きベクトル探索を並列に行い、さらに動きベクトル探索とエンコード処理を並列に行うことが可能となる。
なお、動きベクトル探索以外のエンコードの処理をパーソナルコンピュータが実行し、計算量が大きい動きベクトル探索をパーソナルコンピュータの拡張ボードが行うように実装することも可能である。そのように実装した場合、MEユニット0,1がパーソナルコンピュータの拡張ボードに相当し、エンコードユニットがパーソナルコンピュータに相当し、全体の制御をパーソナルコンピュータが実行する。1枚の拡張ボードを1個のMEユニットとしてもよいし、1枚の拡張ボードに複数のMEユニットの機能を持たせてもよい。MEユニットとエンコードユニットの動作は本実施の形態と同様である。
(実施の形態12)
本実施の形態による画像符号化装置は、動きベクトル探索を行う3個のMEユニットと動きベクトル探索以降のエンコード処理を行う1個のエンコードユニットを備える。図27は本実施の形態の説明図である。
現在マクロブロックの左、上、右上にマクロブロックが存在する場合は、現在マクロブロックに対するPMVを求めるのに、これらのマクロブロックの動きベクトルを用いるので、現在マクロブロックの動きベクトル探索を開始する前にこれらのマクロブロックのエンコードが完了している必要がある。本実施の形態による画像符号化装置は図27(a)の順序でマクロブロックを処理する。図27(b)に基づき、本実施の形態の動作を時間の経過に従って説明する。動きベクトル探索はエンコードの3倍の時間がかかるとする。
時間0:MB0の動きベクトルサーチを開始する。
時間3:MB0の動きベクトルサーチが完了し、MB0のエンコードを開始する。
時間4:MB0のエンコードが完了し、MB1の動きベクトルサーチを開始することが可能となる。MB1の動きベクトルサーチを開始する。
時間7:MB1の動きベクトルサーチが完了し、MB1のエンコードを開始する。
時間8:MB1のエンコードが完了したので、MB2の動きベクトルサーチを開始することが可能となる。MB2の動きベクトルサーチを開始する。MB0、MB1のエンコードが完了したので、MB3の動きベクトルサーチを開始することが可能となる。MB3の動きベクトルサーチを開始する。
時間11:MB2の動きベクトルサーチが完了し、MB2のエンコードを開始する。
時間12:MB2のエンコードが完了したので、MB4の動きベクトルサーチを開始することが可能となる。MB4の動きベクトルサーチを開始する。MB3の動きベクトルサーチが完了しているので、MB3のエンコードを開始する。
時間13:MB1、MB2、MB3のエンコードが完了しているので、MB5の動きベクトルサーチを開始することが可能となる。MB5の動きベクトルサーチを開始する。
時間15:MB4の動きベクトルサーチが完了し、MB4のエンコードを開始する。
時間16:MB4のエンコードが完了したので、MB6の動きベクトルサーチを開始することが可能となる。MB6の動きベクトルサーチを開始する。MB5の動きベクトルサーチが完了し、MB5のエンコードを開始する。
時間17:MB2、MB4、MB5のエンコードが完了したので、MB7の動きベクトルサーチを開始することが可能となる。MB7の動きベクトルサーチを開始する。MB3、MB5のエンコードが完了したので、MB8の動きベクトルサーチを開始することが可能となる。MB8の動きベクトルサーチを開始する。
時間19:MB6の動きベクトルサーチが完了し、MB6のエンコードを開始する。
時間20:MB6のエンコードが完了し、MB9の動きベクトルサーチを開始することが可能となる。MB9の動きベクトルサーチを開始する。MB7の動きベクトルサーチが完了し、MB7のエンコードを開始する。
時間21:MB4、MB6、MB7のエンコードが完了したので、MB10の動きベクトルサーチを開始することが可能となる。MB10の動きベクトルサーチを開始する。MB8の動きベクトルサーチが完了しているので、MB8のエンコードを開始する。
時間22:MB5、MB7、MB8のエンコードが完了したので、MB11の動きベクトルサーチを開始することが可能となる。MB11の動きベクトルサーチを開始する。
時間23:MB9の動きベクトルサーチが完了し、MB9のエンコードを開始する。
時間24:MB9のエンコードが完了したので、MB12の動きベクトルサーチを開始することが可能となる。MB12の動きベクトルサーチを開始する。MB10の動きベクトルサーチが完了し、MB10のエンコードを開始する。
時間25:MB11の動きベクトルサーチが完了し、MB11のエンコードを開始する。
時間26:MB7、MB10、MB11のエンコードが完了したので、MB14の動きベクトルサーチを開始することが可能となる。MB14の動きベクトルサーチを開始する。
時間27:MB8、MB11のエンコードが完了しているので、MB15の動きベクトルサーチを開始することが可能となる。MB15の動きベクトルサーチを開始する。MB12の動きベクトルサーチが完了し、MB12のエンコードを開始する。
時間28:MB12のエンコードが完了したので、MB16の動きベクトルサーチを開始することが可能となる。MB16の動きベクトルサーチを開始する。MB13の動きベクトルサーチが完了し、MB13のエンコードを開始する。
時間29:MB9、MB12、MB13のエンコードが完了したので、MB17の動きベクトルサーチを開始することが可能となる。MB17の動きベクトルサーチを開始する。MB14の動きベクトルサーチが完了し、MB14のエンコードを開始する。
時間30:MB10、MB13、MB14のエンコードが完了したので、MB18の動きベクトルサーチを開始することが可能となる。MB18の動きベクトルサーチを開始する。MB15の動きベクトルサーチが完了し、MB15のエンコードを開始する。
時間31:MB11、MB14、MB15のエンコードが完了したので、MB19の動きベクトルサーチを開始することが可能となる。MB19の動きベクトルサーチを開始する。MB16の動きベクトルサーチが完了し、MB16のエンコードを開始する。
時間32:MB16のエンコードが完了したので、MB20の動きベクトルサーチを開始することが可能となる。MB20の動きベクトルサーチを開始する。MB17の動きベクトルサーチが完了し、MB17のエンコードを開始する。
以上の説明と図27(b)から分かるように、時間27以降は3個のMEユニットとエンコードユニットを空き時間を作らずに連続して動作させることが可能となる。3個のマクロブロックに対する動きベクトル探索を並列に実行し、さらに動きベクトル探索とエンコードを並列に実行することが可能となる(フレームの左上と右下の領域では、並列可能な個数は小さくなる)。
なお、本実施例ではMEユニットが3個の場合について説明したが、MEユニットが4個以上の場合についても同様に実施可能である。フレームサイズは十分大きいものとする。MEユニットが4個で、1個のマクロブロックに対するMEユニットの処理時間がエンコードユニットの処理時間の4倍である場合、4個のMEユニットと1個のエンコードユニットを空き時間を作らずに連続して動作させることができる。MEユニットの数がさらに多い場合も同様である。
なお、動きベクトル探索以外のエンコードの処理をパーソナルコンピュータが実行し、計算量が大きい動きベクトル探索をパーソナルコンピュータの拡張ボードが行うように実装することも可能である。そのように実装した場合、MEユニット0,1、2がパーソナルコンピュータの拡張ボードに相当し、エンコードユニットがパーソナルコンピュータに相当し、全体の制御をパーソナルコンピュータが行う。1枚の拡張ボードを1個のMEユニットとしてもよいし、1枚の拡張ボードに複数のMEユニットの機能を持たせてもよい。4個以上のMEユニットを備えたパーソナルコンピュータによる画像符号化装置も同様に実施可能である。
なお、動きベクトル探索機能をパーソナルコンピュータの拡張ボードとして実装した場合、パーソナルコンピュータからの1回の呼び出しで複数個のマクロブロックに対する動きベクトル探索を行うようにしても同様に実装可能である。このようにすることにより、パーソナルコンピュータからの拡張ボードの呼び出し回数が少なくなり、拡張ボードの呼び出しのオーバヘッドを小さくすることができる。
本実施の形態では、現在マクロブロックに対するPMVを求めるために左、上、右上のマクロブロックの動きベクトルを用いるので、現在マクロブロックの処理を開始する前にこれらのマクロブロックの処理が完了している必要があるとした。しかし、理由がPMVを求めるためであることに限定されない。現在マクロブロックの処理が左、上、右上のマクロブロックの処理結果に依存するような場合であれば、本発明の方法を適用することが可能である。本実施の形態では現在マクロブロックが左、上、右上のマクロブロックに依存する理由はPMVを求めるためであったが、PMVを求めるためと限らず他の理由で依存する場合であっても同様に実施可能である。なお、現在マクロブロックが依存するマクロブロックが左、上、右上のマクロブロックとは限定されず、現在マクロブロックが依存するマクロブロックが他の場合であっても同様に実施可能である。例えば、現在マクロブロックが左、上、左上のマクロブロックに依存する場合であっても同様に実施可能である。現在マクロブロックが左、左上、上、右上のマクロブロックに依存する場合であっても同様に実施可能である。
本発明にかかる画像符号化装置はマクロブロック単位のパイプライ処理が可能であるという特徴を有し、デジタル放送、テレビ会議、蓄積媒体等の用途における画像符号化装置として有用である。
本発明の実施の形態1における符号化装置の基本構成図 本発明の実施の形態3における復号化装置の基本構成図 従来のMPEG2符号化装置の基本構成図 従来のMPEG2復号化装置の基本構成図 (a)マクロブロックのパイプラン処理における各ステージの処理内容を示す図(b)マクロブロックのパイプラン処理を示す図 本発明の実施の形態1におけるマクロブロックの符号化順序を示す図 本発明の実施の形態2におけるマクロブロックの符号化順序を示す図 スペーシャルダイレクトモードの説明図 従来方法におけるマクロブロックの符号化順序を示す図 符号化マクロブロックの分割の説明図 イントラ16×16予測の説明図 イントラ4×4予測の説明図 本発明の実施の形態1におけるマクロブロック順序選択方法のフローチャート 本発明の実施の形態2におけるマクロブロック順序選択方法のフローチャート 本発明の実施の形態5における静止画符号化装置の基本構成図 本発明の実施の形態6におけるマクロブロック順序並び替え装置の基本構成図 本発明の実施の形態7におけるマクロブロック順序並び替え装置の基本構成図 マクロブロックの処理順序を示す図 マクロブロックの処理順序を示す図 本発明の実施の形態8におけるMBAFFの処理順序を示す図 従来方法におけるMBAFFの符号化順序を示す図 動き補償のブロックの説明図 PMVの導出に用いるマクロブロックを示す図 本発明の実施の形態9におけるマクロブロックの処理順序を示す図 本発明の実施の形態10におけるマクロブロックの処理順序を示す図 本発明の実施の形態11におけるマクロブロックの処理順序を示す図 本発明の実施の形態12におけるマクロブロックの処理順序を示す図
符号の説明
10 A/D変換部
11 フォーマット変換部
12 画面並び替え部
13 マクロブロック順序選択部
14 DCT部
15 量子化部
16 レート制御部
17 動きベクトル検出、イントラ予測部
18 動き補償モード選択部
19 逆量子化部
20 逆DCT部
21 エントロピー符号化部
22 バッファ
23 ビデオメモリ
30 バッファ
31 可変長復号化部
32 逆量子化部
33 逆DCT部
34 画面並び替え部
35 フォーマット変換部
36 D/A変換部
37 動き補償部
38 ビデオメモリ
39 マクロブロック順序選択部
50 A/D変換部
51 フォーマット変換部
52 画面並び替え部
53 DCT部
54 量子化部
55 可変長符号化部
56 バッファ
57 レート制御部
58 逆量子化部
59 逆DCT部
60 動きベクトル検出部
61 動き補償モード選択部
62 ビデオメモリ
70 バッファ
71 可変長復号化部
72 逆量子化部
73 逆DCT部
74 画面並び替え部
75 フォーマット変換部
76 D/A変換部
77 動き補償部
78 ビデオメモリ
80 予測部
81 残差計算部
82 DCT部
83 量子化部
84 ジグザグスキャン部
85 可変長符号化部
86 マクロブロック順序選択部
87 フレームメモリ
88 逆DCT部
89 逆量子化部

Claims (43)

  1. マクロブロックの符号化順序を選択するマクロブロック選択手段と、
    動きベクトルを検出する動きベクトル検出手段と、
    マクロブロックの符号化モードを選択する動き補償モード選択手段と、
    動き補償の残差を変換する直交変換手段と、
    直交変換後の係数を量子化する量子化手段と
    量子化後の係数を符号化するエントロピー符号化手段と
    を備えたことを特徴とする画像符号化装置。
  2. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする請求項1記載の画像符号化装置。
  3. 前記マクロブロック選択手段は、
    現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−1)に未符号化マクロブロックが存在する場合、そのマクロブロックを次に符号化するマクロブロックとして選択する
    ことを特徴とする請求項1記載の画像符号化装置。
  4. 前記マクロブロック選択手段は、
    現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−2)に未符号化マクロブロックが存在する場合、そのマクロブロックを次に符号化するマクロブロックとして選択する
    ことを特徴とする請求項1記載の画像符号化装置。
  5. 前記マクロブロック選択手段が選択したマクロブロックの符号化順序を示す情報を符号化ストリームに付加する
    ことを特徴とする請求項1記載の画像符号化装置。
  6. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックがスペーシャルダイレクトモード予測において参照する全てのマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする請求項1記載の画像符号化装置。
  7. マクロブロックの復号化順序を選択するマクロブロック選択手段と、
    係数を復号化するエントロピー復号化手段と、
    係数を逆量子化する逆量子化手段と、
    直行変換の係数を復号する逆DCT手段と、
    動きベクトルに基づいて動き補償を行う動き補償手段と
    を備えたことを特徴とする画像復号化装置。
  8. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする請求項7記載の画像復号化装置。
  9. 前記マクロブロック選択手段は、
    現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−1)に未復号化マクロブロックが存在する場合、そのマクロブロックを次に復号化するマクロブロックとして選択する
    ことを特徴とする請求項7記載の画像復号化装置。
  10. 前記マクロブロック選択手段は、
    現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−2)に未復号化マクロブロックが存在する場合、そのマクロブロックを次に復号化するマクロブロックとして選択する
    ことを特徴とする請求項7記載の画像復号化装置。
  11. マクロブロックの符号化順序を選択するマクロブロック選択ステップと、
    動きベクトルを検出する動きベクトル検出ステップと、
    マクロブロックの符号化モードを選択する動き補償モード選択ステップと、
    動き補償の残差を変換する直交変換ステップと、
    直交変換後の係数を量子化する量子化ステップと
    量子化後の係数を符号化するエントロピー符号化ステップと
    を備えたことを特徴とする画像符号化方法。
  12. 前記マクロブロック選択ステップは、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする請求項11記載の画像符号化方法。
  13. マクロブロックの復号化順序を選択するマクロブロック選択ステップと、
    係数を復号化するエントロピー復号化ステップと、
    係数を逆量子化する逆量子化ステップと、
    直行変換の係数を復号する逆DCTステップと、
    動きベクトルに基づいて動き補償を行う動き補償ステップと
    を備えたことを特徴とする画像復号化方法。
  14. 前記マクロブロック選択ステップは、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする請求項13記載の画像復号化方法。
  15. マクロブロックの符号化順序を選択するマクロブロック選択手段と、
    イントラ予測を行う予測手段と、
    イントラ予測の残差を求める残差計算手段と、
    残差をブロック単位に変換する直交変換手段と、
    直交変換後の係数を量子化する量子化手段と
    量子化後の係数を符号化するエントロピー符号化手段と
    を備えたことを特徴とする静止画符号化装置。
  16. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする請求項15記載の静止画符号化装置。
  17. マクロブロックの復号化順序を選択するマクロブロック選択手段と、
    係数を復号化するエントロピー復号化手段と、
    係数を逆量子化する逆量子化手段と、
    直行変換の係数を復号する逆DCT手段と、
    を備えたことを特徴とする静止画復号化装置。
  18. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックがイントラ予測において参照する全てのマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする請求項17記載の静止画復号化装置。
  19. 現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−1)に未符号化マクロブロックあるいは未復号化マクロブロックが存在する場合、そのマクロブロックを次に符号化あるいは復号化するマクロブロックとして選択する
    ことを特徴とするマクロブロック順序選択方法。
  20. 現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−2)に未符号化マクロブロックあるいは未復号化マクロブロックが存在する場合、そのマクロブロックを次に符号化あるいは復号化するマクロブロックとして選択する
    ことを特徴とするマクロブロック順序選択方法。
  21. マクロブロックの符号化順序とマクロブロックの出力順序が異なることを特徴とする請求項1記載の画像符号化装置。
  22. 符号化マクロブロック格納領域とポインタテーブルと順序変換テーブルを備えたことを特徴とする符号化マクロブロック順序変換処理部。
  23. 請求項22の符号化マクロブロック順序変換処理部を備えたことを特徴とする請求項1記載の画像符号化装置。
  24. マクロブロックの入力順序とマクロブロックの復号化順序が異なることを特徴とする請求項7記載の画像復号化装置。
  25. 復号待ちマクロブロック格納領域とポインタテーブルと順序変換テーブルを備えたことを特徴とする復号化マクロブロック順序変換処理部。
  26. 請求項25の復号化マクロブロック順序変換処理部を備えたことを特徴とする請求項7記載の画像復号化装置。
  27. フレームを同じ大きさの小領域に分割して符号化する装置であって、前記小領域の符号化の順序と出力順序が異なることを特徴とする画像符号化装置。
  28. フレームを同じ大きさの小領域に分割して符号化されたデータを復号する装置であって、
    前記符号化された小領域の入力順序と復号化の順序が異なることを特徴とする画像復号化装置。
  29. 前記マクロブロック選択手段は、
    現在マクロブロックと現在マクロブロックに対するPMV(予測動きベクトル)を求めるときに参照する全てのマクロブロックの符号化の順序番号の差が2以上であることを特徴とする請求項1記載の画像符号化装置。
  30. 前記マクロブロック選択手段は、
    現在マクロブロックの座標を(i、j)とするとき、座標(i+1、j−2)に未符号化マクロブロックが存在する場合、そのマクロブロックを次に符号化するマクロブロックとして選択することを特徴とする請求項29記載の画像符号化装置。
  31. 動きベクトル探索ユニットと動きベクトル探索以降の処理を行うエンコードユニットを備え、
    動きベクトル探索と動きベクトル探索以降のエンコード処理をパイプライン処理することを特徴とする請求項29記載の画像符号化装置。
  32. マクロブロック単位に並列に動作することができる複数の動きベクトル探索ユニットと
    1個あるいは複数個のエンコードユニットを備え、
    複数のマクロブロックに対する動きベクトル探索を並列に行い、
    動きベクトル探索とエンコードをパイプライン処理することを特徴とする請求項29記載の画像符号化装置。
  33. マクロブロックのエンコード処理を複数のステージで行い、
    各ステージを別のユニットが実行し、
    各ステージの処理をパイプライン処理することを特徴とする請求項29記載の画像符号化装置。
  34. 前記マクロブロック選択ステップは、
    現在マクロブロックと現在マクロブロックに対するPMV(予測動きベクトル)を求めるときに参照する全てのマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする請求項11記載の画像符号化方法。
  35. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのエンコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような符号化方法を用いる符号化装置であって、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする画像符号化装置。
  36. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのデコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような復号化方法を用いる復号化装置であって、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする画像復号化装置。
  37. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのエンコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような符号化方法において、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする画像符号化方法。
  38. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのデコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような復号化方法において、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする画像復号化方法。
  39. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのエンコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような符号化方法を用い、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの符号化の順序番号の差が2以上である
    ことを特徴とする画像符号化プログラム。
  40. 現在マクロブロックの処理が他の1個あるいは複数のマクロブロックのデコード結果に依存し、
    現在マクロブロックの処理を開始する前に現在マクロブロックが依存するマクロブロックの処理が完了している必要があるような復号化方法を用い、
    現在マクロブロックと現在マクロブロックが依存する他のマクロブロックの復号化の順序番号の差が2以上である
    ことを特徴とする画像復号化プログラム。
  41. MBAFF(マクロブロック適応フレーム/フィールド)を含む符号化方法を用いる符号化装置であって、
    上下の2個のマクロブロックをペアにし、マクロブロックペアに対して符号化順序を決めるとき、
    現在マクロブロックペアの左、上、左上、右上のマクロブロックペアと現在マクロブロックペアの符号化の順序番号の差が2以上であることを特徴とする画像符号化装置。
  42. MBAFFを含む符号化方法を用いる符号化方法であって、
    上下の2個のマクロブロックをペアにし、マクロブロックペアに対して符号化順序を決めるとき、
    現在マクロブロックペアの左、上、左上、右上のマクロブロックペアと現在マクロブロックペアの符号化の順序番号の差が2以上であることを特徴とする画像符号化方法。
  43. MBAFFを含む符号化方法を用いる符号化方法であって、
    上下の2個のマクロブロックをペアにし、マクロブロックペアに対して符号化順序を決めるとき、
    現在マクロブロックペアの左、上、左上、右上のマクロブロックペアと現在マクロブロックペアの符号化の順序番号の差が2以上であることを特徴とする画像符号化プログラム。
JP2005065288A 2004-03-11 2005-03-09 画像符号化方法、画像符号化装置および画像符号化プログラム Expired - Fee Related JP4577048B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005065288A JP4577048B2 (ja) 2004-03-11 2005-03-09 画像符号化方法、画像符号化装置および画像符号化プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004068595 2004-03-11
JP2005065288A JP4577048B2 (ja) 2004-03-11 2005-03-09 画像符号化方法、画像符号化装置および画像符号化プログラム

Publications (3)

Publication Number Publication Date
JP2005295526A true JP2005295526A (ja) 2005-10-20
JP2005295526A5 JP2005295526A5 (ja) 2008-04-24
JP4577048B2 JP4577048B2 (ja) 2010-11-10

Family

ID=35327903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005065288A Expired - Fee Related JP4577048B2 (ja) 2004-03-11 2005-03-09 画像符号化方法、画像符号化装置および画像符号化プログラム

Country Status (1)

Country Link
JP (1) JP4577048B2 (ja)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2006166459A (ja) * 2004-12-09 2006-06-22 Samsung Electronics Co Ltd 動きベクタ演算装置及びその方法
JP2007124409A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 画像符号化装置
WO2007055158A1 (ja) * 2005-11-08 2007-05-18 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および装置
JP2007166192A (ja) * 2005-12-13 2007-06-28 Toshiba Corp 情報処理装置、制御方法およびプログラム
JP2007531460A (ja) * 2004-03-30 2007-11-01 アップル インコーポレイテッド 縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム
JP2007295423A (ja) * 2006-04-27 2007-11-08 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
WO2007129433A1 (ja) * 2006-04-17 2007-11-15 Toshihiro Minami 動画像符号化装置および動画像符号化方法
JP2007306276A (ja) * 2006-05-11 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> 階層間予測方法,装置,プログラムおよびその記録媒体
JP2007312427A (ja) * 2006-04-17 2007-11-29 Toshihiro Minami 動画像符号化装置
WO2007136088A1 (ja) * 2006-05-24 2007-11-29 Panasonic Corporation 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
JP2008005545A (ja) * 2006-04-17 2008-01-10 Toshihiro Minami 動画像符号化装置および動画像符号化方法
JP2008042571A (ja) * 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
JP2008048289A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
JP2008048199A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 動き予測処理装置、画像符号化装置および画像復号化装置
WO2008111451A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 動きベクトル探索方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
JP2008271127A (ja) * 2007-04-19 2008-11-06 Nec Electronics Corp 符号化装置
US7460042B2 (en) 2006-06-29 2008-12-02 Kabushiki Kaisha Toshiba Encoding circuit, decoding circuit, encoder circuit, decoder circuit, and CABAC processing method
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
JP2009510845A (ja) * 2005-09-22 2009-03-12 クゥアルコム・インコーポレイテッド ビデオエンコードのための多次元近隣ブロック予測
JP2009526499A (ja) * 2006-02-09 2009-07-16 クゥアルコム・インコーポレイテッド ビデオ符号化
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
JP2011239074A (ja) * 2010-05-07 2011-11-24 Fujitsu Semiconductor Ltd 動きベクトル生成回路及び動きベクトル生成方法
WO2011161949A1 (ja) * 2010-06-23 2011-12-29 パナソニック株式会社 画像復号装置、画像復号方法、集積回路およびプログラム
US8144770B2 (en) 2006-09-14 2012-03-27 Electronics And Telecommunications Research Institute Apparatus and method for encoding moving picture
US8265142B2 (en) 2007-03-14 2012-09-11 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
CN103155566A (zh) * 2010-11-02 2013-06-12 松下电器产业株式会社 动态图像编码方法以及动态图像编码装置
WO2014003367A1 (ko) * 2012-06-26 2014-01-03 엘지전자 주식회사 영상 복호화 방법 및 이를 이용하는 장치
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US9161042B2 (en) 2007-03-14 2015-10-13 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
JP2016136700A (ja) * 2015-01-23 2016-07-28 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US9455739B2 (en) 2007-03-14 2016-09-27 Nippon Telegraph And Telephone Corporation Code amount estimating method and apparatus, and program and storage medium therefor
US9723308B2 (en) 2012-02-28 2017-08-01 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
JP2018535601A (ja) * 2015-11-24 2018-11-29 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
CN108989804A (zh) * 2018-08-23 2018-12-11 杭州雄迈集成电路技术有限公司 图像的编码方法及装置
DE102015114978B4 (de) 2014-09-19 2023-09-21 Imagination Technologies Limited Datenkomprimierung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH199800303016, 祇園 雅弘 Masahiro Gion, "マルチメディア特集", National TECHNICAL REPORT 第40巻 第6号, 第40巻, p.122−128, 松下電器産業株式会社 *
JPN6009067374, 祇園 雅弘 Masahiro Gion, "マルチメディア特集", National TECHNICAL REPORT 第40巻 第6号, 第40巻, p.122−128, 松下電器産業株式会社 *

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531460A (ja) * 2004-03-30 2007-11-01 アップル インコーポレイテッド 縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム
US7881541B2 (en) * 2004-10-29 2011-02-01 Sony Corporation Coding apparatus, decoding apparatus, coding method and decoding method
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2006166459A (ja) * 2004-12-09 2006-06-22 Samsung Electronics Co Ltd 動きベクタ演算装置及びその方法
US8761259B2 (en) 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
JP2009510845A (ja) * 2005-09-22 2009-03-12 クゥアルコム・インコーポレイテッド ビデオエンコードのための多次元近隣ブロック予測
JP2007124409A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 画像符号化装置
US8059717B2 (en) 2005-10-28 2011-11-15 Panasonic Corporation Image coding apparatus, method and program for intra prediction using specified H.264 prediction modes in specified scan order
US9137538B2 (en) 2005-11-08 2015-09-15 Panasonic Intellectual Property Corporation Of America Moving picture coding method, moving picture decoding method, and apparatuses of the same
JP4927753B2 (ja) * 2005-11-08 2012-05-09 パナソニック株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置、動画像復号化装置、および半導体装置
US8295351B2 (en) 2005-11-08 2012-10-23 Panasonic Corporation Moving picture coding method, moving picture decoding method, and apparatuses of the same
WO2007055158A1 (ja) * 2005-11-08 2007-05-18 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および装置
US10375401B2 (en) 2005-11-08 2019-08-06 Sun Patent Trust Moving picture coding method, moving picture decoding method, and apparatuses of the same
US10104381B2 (en) 2005-11-08 2018-10-16 Sun Patent Trust Moving picture coding method, moving picture decoding method, and apparatuses of the same
JP2007166192A (ja) * 2005-12-13 2007-06-28 Toshiba Corp 情報処理装置、制御方法およびプログラム
JP2009526499A (ja) * 2006-02-09 2009-07-16 クゥアルコム・インコーポレイテッド ビデオ符号化
US8208548B2 (en) 2006-02-09 2012-06-26 Qualcomm Incorporated Video encoding
JP2007312340A (ja) * 2006-04-17 2007-11-29 Toshihiro Minami 動画像符号化装置
JP2008005545A (ja) * 2006-04-17 2008-01-10 Toshihiro Minami 動画像符号化装置および動画像符号化方法
WO2007129433A1 (ja) * 2006-04-17 2007-11-15 Toshihiro Minami 動画像符号化装置および動画像符号化方法
JP2007312427A (ja) * 2006-04-17 2007-11-29 Toshihiro Minami 動画像符号化装置
US8279942B2 (en) 2006-04-27 2012-10-02 Sony Corporation Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
JP2007295423A (ja) * 2006-04-27 2007-11-08 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2007306276A (ja) * 2006-05-11 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> 階層間予測方法,装置,プログラムおよびその記録媒体
US9667972B2 (en) 2006-05-24 2017-05-30 Panasonic Intellectual Property Management Co., Ltd. Image coding device, image coding method, and image coding integrated circuit
JP2013258732A (ja) * 2006-05-24 2013-12-26 Panasonic Corp 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
WO2007136088A1 (ja) * 2006-05-24 2007-11-29 Panasonic Corporation 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
US7460042B2 (en) 2006-06-29 2008-12-02 Kabushiki Kaisha Toshiba Encoding circuit, decoding circuit, encoder circuit, decoder circuit, and CABAC processing method
JP2008042571A (ja) * 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
JP2008048199A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 動き予測処理装置、画像符号化装置および画像復号化装置
JP2008048289A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
US8144770B2 (en) 2006-09-14 2012-03-27 Electronics And Telecommunications Research Institute Apparatus and method for encoding moving picture
WO2008111451A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 動きベクトル探索方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
US9161042B2 (en) 2007-03-14 2015-10-13 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
US8265142B2 (en) 2007-03-14 2012-09-11 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
US8396130B2 (en) 2007-03-14 2013-03-12 Nippon Telegraph And Telephone Corporation Motion vector search method and apparatus, program therefor, and storage medium which stores the program
US9455739B2 (en) 2007-03-14 2016-09-27 Nippon Telegraph And Telephone Corporation Code amount estimating method and apparatus, and program and storage medium therefor
RU2420913C1 (ru) * 2007-03-14 2011-06-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ и устройство нахождения вектора движения, программа и носитель записи для хранения программы
CN101682775B (zh) * 2007-03-14 2015-04-01 日本电信电话株式会社 运动矢量搜索方法和装置
JPWO2008111451A1 (ja) * 2007-03-14 2010-06-24 日本電信電話株式会社 動きベクトル探索方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
JP2008271127A (ja) * 2007-04-19 2008-11-06 Nec Electronics Corp 符号化装置
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
JP2011239074A (ja) * 2010-05-07 2011-11-24 Fujitsu Semiconductor Ltd 動きベクトル生成回路及び動きベクトル生成方法
US10033997B2 (en) 2010-06-23 2018-07-24 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, image decoding method, integrated circuit, and program
WO2011161949A1 (ja) * 2010-06-23 2011-12-29 パナソニック株式会社 画像復号装置、画像復号方法、集積回路およびプログラム
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US9414059B2 (en) 2010-10-04 2016-08-09 Panasonic Intellectual Property Management Co., Ltd. Image processing device, image coding method, and image processing method
CN103155566B (zh) * 2010-11-02 2016-08-31 松下知识产权经营株式会社 动态图像编码方法以及动态图像编码装置
CN103155566A (zh) * 2010-11-02 2013-06-12 松下电器产业株式会社 动态图像编码方法以及动态图像编码装置
US9723308B2 (en) 2012-02-28 2017-08-01 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
WO2014003367A1 (ko) * 2012-06-26 2014-01-03 엘지전자 주식회사 영상 복호화 방법 및 이를 이용하는 장치
DE102015114978B4 (de) 2014-09-19 2023-09-21 Imagination Technologies Limited Datenkomprimierung
JP2016136700A (ja) * 2015-01-23 2016-07-28 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP2021106424A (ja) * 2015-11-24 2021-07-26 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
US10979713B2 (en) 2015-11-24 2021-04-13 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
US11089306B2 (en) 2015-11-24 2021-08-10 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
JP7069379B2 (ja) 2015-11-24 2022-05-17 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
US11363269B2 (en) 2015-11-24 2022-06-14 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
JP2022093628A (ja) * 2015-11-24 2022-06-23 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
JP7274022B2 (ja) 2015-11-24 2023-05-15 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
JP2018535601A (ja) * 2015-11-24 2018-11-29 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
US11812023B2 (en) 2015-11-24 2023-11-07 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
CN108989804B (zh) * 2018-08-23 2021-04-27 杭州雄迈集成电路技术股份有限公司 图像的编码方法及装置
CN108989804A (zh) * 2018-08-23 2018-12-11 杭州雄迈集成电路技术有限公司 图像的编码方法及装置

Also Published As

Publication number Publication date
JP4577048B2 (ja) 2010-11-10

Similar Documents

Publication Publication Date Title
JP4577048B2 (ja) 画像符号化方法、画像符号化装置および画像符号化プログラム
KR102518242B1 (ko) 영상 정보 부호화 방법 및 복호화 방법
JP5049009B2 (ja) マクロブロックフィールド/フレームコード化タイプ情報のためのビットプレーンコーディングおよびデコーディング
US7688894B2 (en) Scan patterns for interlaced video content
JP5442568B2 (ja) スキップマクロブロックコード化
JP5128794B2 (ja) 映像のイントラ予測符号化及び復号化方法、並びに装置
JP5047995B2 (ja) 映像のイントラ予測符号化、復号化方法及び装置
JP5219089B2 (ja) 画像データの生成方法
JP2009094828A (ja) 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
JP2010135864A (ja) 画像符号化方法及び装置並びに画像復号化方法及び装置
JP5400798B2 (ja) 動画像復号化方法及び装置、動画像符号化方法及び装置
CN101889405A (zh) 用于执行运动估计的方法和装置
KR20100133006A (ko) 동화상 부호화/복호화 방법 및 장치
KR20060109290A (ko) 화상 복호 장치 및 화상 복호 방법과 화상 복호 프로그램
JPH07170520A (ja) 映像信号の復合化方法
JP2013125973A (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
KR20200139116A (ko) 영상 정보 부호화 방법 및 복호화 방법
KR101496324B1 (ko) 영상의 부호화, 복호화 방법 및 장치
CN104519367A (zh) 视频解码处理装置及其操作方法
KR100677118B1 (ko) 움직임 추정 방법 및 그 장치
JP2011010197A (ja) 画像符号化装置及び画像復号装置
US8363722B2 (en) Method and apparatus for hierarchical bi-directional intra-prediction in a video encoder
KR19990063464A (ko) 동화상 복호화 장치 및 동화상 복호화 방법
JP2007013298A (ja) 画像符号化装置
JP5219062B2 (ja) 画像データの生成方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080310

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080414

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4577048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees