JP2011211498A - 画像符号化装置および画像符号化方法 - Google Patents

画像符号化装置および画像符号化方法 Download PDF

Info

Publication number
JP2011211498A
JP2011211498A JP2010077461A JP2010077461A JP2011211498A JP 2011211498 A JP2011211498 A JP 2011211498A JP 2010077461 A JP2010077461 A JP 2010077461A JP 2010077461 A JP2010077461 A JP 2010077461A JP 2011211498 A JP2011211498 A JP 2011211498A
Authority
JP
Japan
Prior art keywords
frame
reference image
encoder
image
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010077461A
Other languages
English (en)
Inventor
Hideo Hirono
英雄 廣野
Shigeyuki Okada
茂之 岡田
Hiroo Ishii
裕夫 石井
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2010077461A priority Critical patent/JP2011211498A/ja
Publication of JP2011211498A publication Critical patent/JP2011211498A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】単一チップ内に二つのコーデックを搭載すると、回路規模が大きくなり、製造コストがかかる。
【解決手段】画像符号化装置200は、通信路140により接続された第1LSI150aと第2LSI150bを含む。第1LSI150aは、動画像を構成するピクチャを2つの組に分けた場合の第1組のピクチャを符号化し、第2LSI150bは、第2組のピクチャを符号化する。送信処理部110は、第1LSI150aにより生成される参照画像を通信路140を介して送信し、受信処理部120は、通信路140を介して参照画像を受信する。第2LSI150bは、第1LSI150aから受信された参照画像を、第2組のピクチャを符号化する際の参照画像として利用する。
【選択図】図1

Description

本発明は、動画像を符号化する画像符号化装置および画像符号化方法に関する。
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、DVDやBlu-ray Disk(登録商標)など大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積したりするために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、MPEG4の規格やH.264/AVC規格がある。また、1つのストリームにおいて高画質のストリームと低画質のストリームを併せもつSVC(Scalable Video Codec)のような画像圧縮技術がある。
特開2003−153264号公報
2つのコーデックを搭載して処理性能を2倍にしたデュアルコーデックLSIが開発されている。仮に、2つのコーデックが同一のメモリにアクセスすることができる単一チップの構成を取るとすれば、2つのコーデック間で動画像の符号化の際に利用する参照画像をメモリに格納して共有することは容易である。
しかしながら、単一のチップ内に二つのコーデックを搭載すると、回路規模が大きくなり、製造コストがかかるという問題が生じることを発明者は認識するに至った。
本発明はこうした状況に鑑みてなされたもので、その目的は、処理性能を向上させることのできる動画像の符号化技術を提供することにある。さらに別の目的は、チップの製造コストを抑えることにある。
上記課題を解決するために、本発明のある態様の画像符号化装置は、動画像を構成するピクチャを2つの組に分けた場合の第1組のピクチャを符号化する第1符号化器と、第2組のピクチャを符号化する第2符号化器と、前記第1符号化器により生成される参照画像を通信路を介して送信する送信処理部と、前記通信路を介して前記参照画像を受信する受信処理部とを含む。前記第2符号化器は、前記第1符号化器から受信された前記参照画像を、第2組のピクチャを符号化する際の参照画像として利用する。
「ピクチャ」は、フレーム、フィールド、VOP(Video Object Plane)などを含む符号化の単位である。
本発明のさらに別の態様は、画像符号化方法である。この方法は、動画像を構成するピクチャを第1組と第2組に分けるステップと、第1組のピクチャを第1符号化器により符号化するステップと、第2組のピクチャを第2符号化器により符号化するステップと、前記第1符号化器により生成される参照画像を通信路を介して前記第2符号化器に転送するステップとを含む。前記第1符号化器から転送された前記参照画像は、第2組のピクチャを符号化する際の参照画像として利用される。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、処理性能を向上させることのできる動画像の符号化技術を提供できる。さらに、チップの製造コストを抑えることができる。
実施の形態に係る画像符号化装置の構成図である。 図1の偶数フレームエンコーダの構成図である。 図1の奇数フレームエンコーダの構成図である。 図1の送信処理部と受信処理部の構成を説明する図である。 動画像のフレームの参照関係を説明する図である。 図1の画像符号化装置による動画像の符号化処理の手順を説明する図である。
図1は、実施の形態に係る画像符号化装置200の構成図である。画像符号化装置200は、第1LSI150a、第2LSI150b、分離部160、合成部170、およびメモリ130を含む。第1LSI150aは、偶数フレームエンコーダ100aおよび送信処理部110を含む。第2LSI150bは、奇数フレームエンコーダ100bおよび受信処理部120を含む。
これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
本実施の形態の画像符号化装置200は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。
MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。
一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。
なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。
分離部160は、フレーム単位で動画像の入力を受け取り、偶数フレームと奇数フレームに分けて、偶数フレームを第1LSI150aに、奇数フレームを第2LSI150bに供給する。別の実装例として、第1LSI150a、第2LSI150bのいずれか一方に動画像の全フレームをいったん入力した後、通信路140を介して偶数フレームまたは奇数フレームを他方のLSIに転送してもよい。
第1LSI150aの偶数フレームエンコーダ100aは、偶数フレームの符号化を担当し、フレーム内符号化または2つ前の偶数フレームを参照画像とするフレーム間符号化を行う。偶数フレームエンコーダ100aにより、Iフレーム、Pフレームの符号化が行われる。
一方、第2LSI150bの奇数フレームエンコーダ100bは、奇数フレームの符号化を担当し、1つ前の偶数フレームを参照画像とするフレーム間符号化を行う。奇数フレームエンコーダ100bにより、H.264/AVCでいうBフレームの符号化が行われる。前述のように、H.264/AVCでは、Bフレームの符号化の際、参照画像とすることのできるフレームは、時間の先後を問わない。奇数フレームエンコーダ100bは、1つ前の偶数フレーム、すなわち、偶数フレームエンコーダ100aが符号化するIフレームまたはPフレームを参照画像として、奇数フレームをBフレームとして符号化する。
偶数フレームエンコーダ100aは、次の偶数フレームの符号化の際に必要となる参照画像を生成し、第1LSI150aに接続されたメモリ130に格納する。
第1LSI150aの送信処理部110は、メモリ130に格納された参照画像を圧縮して、または圧縮せずにそのまま、第2LSI150bに通信路140経由で転送する。
第2LSI150bの受信処理部120は、第1LSI150aから受信した圧縮後の参照画像を伸張して奇数フレームエンコーダ100bに供給する。ここでは、受信した参照画像は第2LSI150bに接続されたメモリに蓄えることをせずに、直接奇数フレームエンコーダ100bに供給する構成を図示しているが、受信した参照画像をいったん第2LSI150bがアクセス可能なメモりに一時蓄える構成にしてもよい。
奇数フレームエンコーダ100bは、受信した偶数フレームの参照画像を利用して、奇数フレームのフレーム間符号化を行う。
ここで、フレーム間符号化における動き予測の際、たとえば縦横16画素の領域をマクロブロックとして、画像の左から右にマクロブロック処理を進め、右端に達すると、1ブロック下のマクロブロックについて同様に左から右にマクロブロック処理を進める。マクロブロックの動き探索では、上下に複数個のマクロブロック分の領域を探索範囲とするため、1ブロック下のマクロブロックの処理において、一度使用した参照データと同じデータを再度使用することになる。そこで、重複して参照されるデータを第1LSI150aから第2LSI150bへ再度転送することを避けるために、参照される複数個のマクロブロックの上下方向のサイズを縦方向のサイズとし、画像の水平方向のサイズを横方向のサイズとする記憶領域をもつ大容量SRAMをキャッシュとして使用してもよい。
偶数フレームエンコーダ100aは符号化された偶数フレームを合成部170に供給し、奇数フレームエンコーダ100bは符号化された奇数フレームを合成部170に供給する。合成部170は、符号化された偶数フレームと奇数フレームのデータを合成して最終的な符号化ストリームを生成して出力する。なお、上記の説明では、合成部170で符号化された偶数フレームと符号化された奇数フレームを合成するとしたが、通信路140を介して符号化された奇数フレームのデータを第1LSI150aに転送し、第1LSI150aで偶数フレームと奇数フレームを合成してもよく、または、符号化された偶数フレームのデータを第2LSI150bに転送し、第2LSI150bで偶数フレームと奇数フレームを合成してもよい。
図2Aは、偶数フレームエンコーダ100aの構成図である。偶数フレームエンコーダ100aは、動画像の偶数フレームを受け取り、Iフレームについてフレーム内符号化し、Pフレームについてフレーム間符号化し、生成された符号化データを出力する。
ブロック生成部10aは、入力された画像フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部10aは生成したマクロブロックを差分器12aと動き補償部60aに供給する。
差分器12aは、ブロック生成部10aから供給される画像フレームがIフレームであれば、そのままDCT部20aに出力するが、Pフレームであれば、動き補償部60aから供給される予測画像との差分を計算してDCT部20aに供給する。
動き補償部60aは、フレームバッファ80aに格納されている過去の画像フレームを参照画像として利用し、ブロック生成部10aから入力されたPフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60aは、生成した動きベクトルを可変長符号化部90aに供給し、予測画像を差分器12aと加算器14aに供給する。
差分器12aは、ブロック生成部10aから出力される現在の画像と、動き補償部60aから出力される予測画像との差分を求め、DCT部20aに出力する。DCT部20aは、差分器12aから与えられた差分画像を離散コサイン変換(DCT)し、DCT係数を量子化部30aに与える。
量子化部30aは、DCT係数を量子化し、可変長符号化部90aに与える。可変長符号化部90aは、動き補償部60aから与えられた動きベクトルとともに差分画像の量子化されたDCT係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部90aは、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
可変長符号化部90aにより生成された偶数フレームの符号化データは合成部170に供給される。
量子化部30aは、画像フレームの量子化されたDCT係数を逆量子化部40aに供給する。逆量子化部40aは、与えられた量子化データを逆量子化し、逆DCT部50aに与え、逆DCT部50aは、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームは加算器14aに入力される。
加算器14aは、逆DCT部50aから供給される画像フレームがIフレームであれば、そのままフレームバッファ80aに格納する。加算器14aは、逆DCT部50aから供給される画像フレームがPフレームであれば、それは差分画像であるため、逆DCT部50aから供給された差分画像と動き補償部60aから供給される予測画像とを加算することにより、元の画像フレームを再構成し、フレームバッファ80aに格納する。
Pフレームの符号化処理の場合は、上述のように動き補償部60aが動作するが、Iフレームの符号化処理の場合は、動き補償部60aは動作せず、ここでは図示しないが、フレーム内予測が行われる。
ここでは、フレームバッファ80aを偶数フレームエンコーダ100a内に図示したが、フレームバッファ80aは、図1の第1LSI150aに接続されたメモリ130として実装される。フレームバッファ80aに格納された偶数フレームの参照画像は送信処理部110により読み出され、圧縮され、第2LSI150bに転送される。なお、上記の説明では、偶数フレームの参照画像をフレームバッファ80aに格納してから送信処理部110に渡すとしたが、偶数フレームの参照画像をフレームバッファ80aに格納するのと並行して、送信処理部110に渡してもよい。
図2Bは、奇数フレームエンコーダ100bの構成図である。奇数フレームエンコーダ100bは、動画像の奇数フレームを受け取り、偶数フレームエンコーダ100aが生成した偶数フレームの参照画像を利用して、Bフレームについてフレーム間符号化し、生成された符号化データを出力する。
奇数フレームエンコーダ100bは、Bフレームのフレーム間符号化の際、偶数フレームエンコーダ100aから供給される偶数フレームを参照画像として利用するが、自身が符号化対象とする奇数フレームは参照画像として利用しない。そのため、奇数フレームエンコーダ100bは、奇数フレームの参照画像を再構成するための逆量子化部40b、逆DCT部50b、加算器14bの構成を必要としないので、図2Bには図示していないことに留意する。
もっとも、H.264/AVCでは、Bフレームのフレーム間符号化の際に、時間の先後を問わず、任意の枚数のフレームを参照画像としてもよく、奇数フレームを参照画像とするように構成を変更してもかまわない。その場合は、図2Aと同様に、奇数フレームエンコーダ100bに、奇数フレームの参照画像を再構成するための逆量子化部40b、逆DCT部50b、加算器14bの構成をもたせる。
ブロック生成部10bは、入力された奇数フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部10bは生成したマクロブロックを差分器12bと動き補償部60bに供給する。
差分器12bは、ブロック生成部10bから供給される画像フレームはBフレームであるから、動き補償部60bから供給される予測画像との差分を計算してDCT部20bに供給する。
フレームバッファ80bには、第1LSI150aから転送され、受信処理部120により受信され、伸張された偶数フレームの参照画像が格納される。
動き補償部60bは、フレームバッファ80bに格納されている過去の画像フレーム(ここでは偶数フレーム)を参照画像として利用し、ブロック生成部10bから入力されたBフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60bは、生成した動きベクトルを可変長符号化部90bに供給し、予測画像を差分器12bに供給する。
差分器12bは、ブロック生成部10bから出力される現在の画像と、動き補償部60bから出力される予測画像との差分を求め、DCT部20bに出力する。DCT部20bは、差分器12bから与えられた差分画像を離散コサイン変換(DCT)し、DCT係数を量子化部30bに与える。
量子化部30bは、DCT係数を量子化し、可変長符号化部90bに与える。可変長符号化部90bは、動き補償部60bから与えられた動きベクトルとともに差分画像の量子化されたDCT係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部90bは、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
可変長符号化部90bにより生成された奇数フレームの符号化データは合成部170に供給される。
図3は、図1の送信処理部110と受信処理部120の構成を説明する図である。送信処理部110は、データ入力部210、圧縮前バッファ212、可逆圧縮部214、圧縮率伝達部216、圧縮後バッファ218、および送信部220を含む。受信処理部120は、受信部230、伸張前バッファ232、打ち切り制御部234、可逆伸張部236、伸張後バッファ238、およびデータ出力部240を含む。
送信処理部110において、データ入力部210は、メモリ130から偶数フレームの参照画像を読み出し、圧縮前バッファ212に格納する。可逆圧縮部214は、圧縮前バッファ212から参照画像を取得し、参照画像を可逆圧縮し、圧縮後バッファ218に格納する。可逆圧縮部214は、参照画像を可逆圧縮する際、圧縮率を圧縮率伝達部216に提供する。
送信部220は、圧縮後バッファ218に格納された圧縮後の参照データを読み出して、通信路140を介して受信処理部120に送信する。送信部220は、圧縮率伝達部216から参照データの圧縮率の情報を取得すると、当該参照データの圧縮率の情報を受信処理部120に通知する。
受信処理部120において、受信部230は、送信処理部110から圧縮後の参照データを受信し、伸張前バッファ232に格納する。受信部230は、当該参照データの圧縮率の情報を打ち切り制御部234に提供する。
可逆伸張部236は、伸張前バッファ232から圧縮後の参照データを読み出し、伸張し、復元された参照データを伸張後バッファ238に格納する。打ち切り制御部234は、伸張前バッファ232および伸張後バッファ238からそれぞれのバッファの残量の情報を取得する。各バッファの残量の情報は、受信部230から送信部220に通知される。
送信処理部110から受信処理部120への参照データの転送の際、バッファ残量の情報にもとづいて、フロー制御が行われる。受信バッファが満たされると送信部220から受信部230へのデータ転送は中断され、さらに送信バッファが満たされるとデータ入力部210への参照画像の入力処理が中断される。
データ出力部240は、伸張後バッファ238に格納された参照データを読み出し、奇数フレームエンコーダ100bに供給する。
打ち切り制御部234は、受信部230から通知される参照データの圧縮率、伸張前バッファ232および打ち切り制御部234から通知されるバッファ残量(空き容量)にもとづいて、奇数フレームエンコーダ100bにおけるマクロブロック処理に許容される処理時間を算出し、許容される処理時間を超える場合は、当該マクロブロック処理の打ち切りを奇数フレームエンコーダ100bに要求する。マクロブロック処理の打ち切りを判断する条件については後に詳しく説明する。
図4および図5を参照して、本実施の形態に係る画像符号化装置200による動画像の符号化処理の動作を説明する。
図4は、動画像のフレームの参照関係を説明する図である。ここでは、8枚のフレームが図示されている。
I0フレーム、P2フレーム、P4フレーム、I6フレームは偶数フレームであり、第1LSI150aにより符号化される。I0フレームはフレーム内符号化される。P2フレームは、2つ前のI0フレームを参照画像としてフレーム間符号化される。P4フレームは、2つ前のP2フレームを参照画像としてフレーム間符号化される。I6フレームはフレーム内符号化される。
B1フレーム、B3フレーム、B5フレーム、B7フレームは奇数フレームであり、第2LSI150bにより符号化される。B1フレームは、1つ前のI0フレームを参照画像としてフレーム間符号化される。B3フレームは、1つ前のP2フレームを参照画像としてフレーム間符号化される。同様に、B5フレームは、1つ前のP4フレームを参照画像として、B7フレームは、1つ前のP6フレームを参照画像として、それぞれフレーム間符号化される。
図5は、画像符号化装置200による動画像の符号化処理の手順を説明する図である。
偶数フレームエンコーダ100aは偶数フレーム#0を符号化し、次の偶数フレーム#2のフレーム間符号化に必要な参照画像#0を生成し、メモリ130に格納する。メモリ130に格納された参照画像#0は、チップ間転送により奇数フレームエンコーダ100bに供給される。奇数フレームエンコーダ100bは、転送された参照画像#0を利用して、奇数フレーム#1をフレーム間符号化する。
偶数フレームエンコーダ100aは、メモリ130に格納された参照画像#0を利用して、偶数フレーム#2をフレーム間符号化し、次の偶数フレーム#4のフレーム間符号化に必要な参照画像#2を生成し、メモリ130に格納する。メモリ130に格納された参照画像#2は、チップ間転送により奇数フレームエンコーダ100bに供給される。奇数フレームエンコーダ100bは、転送された参照画像#2を利用して、奇数フレーム#3をフレーム間符号化する。
同様に、偶数フレームエンコーダ100aは、メモリ130に格納された参照画像#2を利用して、偶数フレーム#4をフレーム間符号化し、参照画像#4を生成し、メモリ130に格納する。メモリ130に格納された参照画像#4は、チップ間転送により奇数フレームエンコーダ100bに供給される。奇数フレームエンコーダ100bは、転送された参照画像#4を利用して、奇数フレーム#5をフレーム間符号化する。
このように、偶数フレームエンコーダ100aは、自分で生成した参照画像のみを使用して偶数フレームのフレーム間符号化を行う。一方、奇数フレームエンコーダ100bは、チップ間転送された偶数フレームの参照画像を使用して奇数フレームのフレーム間符号化を行う。偶数フレームエンコーダ100aおよび奇数フレームエンコーダ100bにより生成された偶数フレームおよび奇数フレームの符号化データは統合され、動画像の符号化ストリームが生成される。
奇数フレームエンコーダ100bは、偶数フレームエンコーダ100aにより生成される参照画像のチップ間転送を受けて動き予測を行うため、マクロブロックの動き探索は、転送される参照データのリアルタイムの利用可能性に依存する。参照データの転送がマクロブロックの動き探索処理に間に合わなくなる事態を避けるため、マクロブロックの処理に時間がかかり、受信バッファが溢れるようであれば、当該マクロブロックの動き探索処理を打ち切る必要がある。
受信側の奇数フレームエンコーダ100bにおけるマクロブロックの動き探索処理が一定時間内に完了せず、マクロブロック処理に時間を要すると、受信バッファが一杯になり、フロー制御により送信部220から受信部230へのデータ転送が中断される。現在のマクロブロックの処理が終了し、次のマクロブロックの処理に入ると、受信バッファに空きが生じ、データ転送が再開されるが、データ転送には一定の時間がかかる。その後のマクロブロックの処理時間が短かった場合、参照データの転送が間に合わず、奇数フレームエンコーダ100bによる動き探索処理を待たせる可能性がある。
このように、マクロブロックの処理時間が一定ではなく、ブロックによって変動するため、受信バッファが途中で一杯になり、途中で参照データ転送が中断することが起こる。参照データの転送の中断と再開が頻繁に繰り返されると、参照データの到着が間に合わなくなり、マクロブロック処理に待ち時間が発生し、処理効率が低下する。そこで、送信処理部110と受信処理部120が連携し、受信処理部120の打ち切り制御部234が参照データの転送が間に合わなくなると判定した場合は、奇数フレームエンコーダ100bに対して、現在のマクロブロック処理の打ち切りを要求し、動き探索処理を途中でやめさせる。動き探索を途中で打ち切った場合、動き探索範囲が狭くなり、符号量が多くなる可能性があるが、後続のマクロブロック処理を待たせることがなくなるため、処理効率の低下を回避することができる。
マクロブロック処理の打ち切りの判断は、定性的には、以下の基準(1)〜(3)で行われる。
(1)受信バッファの残量(空き容量)がある閾値を下回った場合。
(2)受信バッファの残量とこれから送信する数個のマクロブロック分のデータの圧縮率からなる関係式にもとづいて、データ転送の中断時間がある閾値を超えた場合。送信側はこれから転送するデータの圧縮率を事前に受信側に通知する。圧縮率が大きければ、短時間で必要なデータ転送が完了することから、実質的なデータ転送速度が高くなることを意味する。したがって、転送が中断したとしても、その後、速やかに受信バッファが回復する。このため、受信バッファが一杯になるまで打ち切り処理をしないで待つことができる。また場合によっては、受信バッファが一杯になって転送が中断された後も打ち切り処理をしないで待つことが可能となる。基準(2)では、圧縮率も加味して打ち切り処理をするかどうかを判断する。
(3)あらかじめ1フレーム全体分の送るべき参照データを可逆圧縮し、マクロブロック毎の圧縮率の情報から、(2)と同様の方法で受信側のマクロブロック毎にデータ転送が完了する時間を計算し、処理中のマクロブロックがその時間を越えたら打ち切りを行う。
以下、各基準について定量的に詳しく説明する。
[打ち切り判断基準(1)]
次の変数を定義する。
Tc:現在のマクロブロックの処理を完了してから、次のマクロブロックの処理に必要な参照データのバッファからの読み出しが完了するまでに要する処理時間
Rb:伸張前バッファ232の残量(空き容量)
Ra:伸張後バッファ238の残量(空き容量)
Vn:チップ間のデータ転送速度
Vt:圧縮データの伸張速度
Cb:伸張前バッファ232に格納されている圧縮データの圧縮率
まず、簡単のため、伸張後バッファ238が一杯である、すなわちRa=0であると仮定する。マクロブロックの処理に時間がかかり、受信バッファが一杯になり、チップ間のデータ転送が中断することを避けるのが目標であるから、伸張前バッファ232の残量、マクロブロックの処理時間、およびデータ転送速度の関係から、データ転送が中断する条件をマクロブロック処理の打ち切り条件とすればよい。
すなわち、伸張前バッファ232の残量分だけデータが転送されて溜まるのにかかる時間よりもマクロブロック処理にかかる時間Tcが大きくなることが打ち切りの条件であり、これは以下の式で表される。
Rb/Vn<Tc
したがって、Rb<Tc*Vnとなった時点、すなわち伸張前バッファ232の残量Rbが閾値Tc*Vnを下回った場合に、マクロブロック処理を打ち切る。
次に、Ra>0の場合を考える。伸張後バッファ238が一杯になるまでの時間をTaとすると、
Ta=Ra/(Vt/Cb)
である。時間Ta後の伸張前バッファ232の残量Rb’ は、
Rb’=Rb+(Vt−Vn)*Taとなる。
時間Ta以降に、伸張前バッファ232の残量分だけデータが転送されて溜まるのにかかる時間よりもマクロブロック処理にかかる時間が大きくなることが打ち切りの条件であり、これは以下の式で表される。
Rb’/Vn<Tc−Ta
これを整理すると、Rb<Tc*Vn−Ra*Cbとなる。したがって、伸張前バッファ232の残量Rbが閾値(Tc*Vn−Ra*Cb)を下回った場合に、マクロブロック処理を打ち切る。
[打ち切り判断基準(2)]
ここでは、簡単のため、Ra=0とする。Ra=0の場合を仮定した打ち切り条件でマクロブロック処理を打ち切れば、それよりも余裕のあるRa>0の場合にはフェイルセーフの打ち切り制御になるので問題はない。
打ち切り判断基準(1)で示された伸張前バッファ232の残量Rbに関する打ち切り条件に達しても打ち切り処理が行われなかった場合、データ転送が中断してしまう。データが圧縮されていない場合であれば、1マクロブロックの処理時間中に次の1マクロブロック分のデータを転送することができなくなるため、後続のマクロブロック処理が破綻する。しかし、データが圧縮されていれば、転送の中断が解除され、転送が再開した後に転送されるデータ量をデータ圧縮率で割った値、つまり伸張後のデータサイズが1マクロブロック分よりも大きければ、処理すべきデータが不足することはなく、後続のマクロブロック処理に問題は生じない。
次の変数を定義する。
Ts:1マクロブロック処理に要する最短処理時間
Cs:最短処理時間Ts内に転送されるデータの圧縮率
Dm:1マクロブロック処理で読み出されるデータ量
Tw:データ転送が中断している時間
まず、1マクロブロック単位で考えると、次の1マクロブロックの処理中のデータ転送が行われている時間(Ts−Tc−Tw)内に1マクロブロック分のデータの転送が完了するなら、問題は発生しない。これは次式で表される。
(Ts−Tc−Tw)*Vn/Cs>Dm
これを整理すると、Tw<Ts−Tc−(Dm*Cs/Vn)となる。したがってマクロブロック処理の打ち切り条件は、データ転送の中断時間TwがTs−Tc−(Dm*Cs/Vn)に達することである。
なお、Nマクロブロック分をまとめて考えた場合は、
Ts’:Nマクロブロック処理に要する最短処理時間
Cs’:最短処理時間Ts’内に転送されるデータの圧縮率
と定義すると、前述の条件式は、Tw<Ts’−N*Tc−(N*Dm*Cs’/Vn)
となる。マクロブロック処理の打ち切り条件は、データ転送の中断時間TwがTs’−N*Tc−(N*Dm*Cs’/Vn)に達することである。
[打ち切り判断基準(3)]
ここでは、簡単のため受信バッファには伸張前、伸張後を合わせて1マクロブロック分のデータのみを格納可能とする。
次の変数を定義する。
CN:最後からN番目のマクロブロックの圧縮率
TN:最後からN番目のマクロブロックの処理の打ち切り時刻
Tf:最後のマクロブロックの処理を開始しなければならない時刻
最後のマクロブロックの処理は時刻Tfに開始しなければならず、それまでに最後のマクロブロックのデータの転送が完了しなければならない。最後のマクロブロックの転送にはDm/(Vn/C1)だけ時間を要するので、最後のマクロブロック用データの転送開始時刻はTf−Dm/(Vn/C1)となる。バッファには1マクロブロック分しか格納できないので、その前、すなわち最後から1番目のマクロブロックは、Tf−Dm/(Vn/C1)から切り替えオーバヘッドの時間Tcをさらに引いた時刻T1=Tf−C1*Dm/Vn−Tcで打ち切る必要がある。同様に最後から2番目のマクロブロックの転送にはDm/(Vn/C2)だけ時間を要するので、最後から2番目のマクロブロックの打ち切り時刻T2は、T2=T1−C2*Dm/Vn−Tc=Tf−(C1+C2)*Dm/Vn−2*Tcとなる。これを繰り返すと最後からN番目のマクロブロックの打ち切り時刻TNは、TN=Tf−(C1+C2+...CN)*Dm/Vn−N*Tcで表すことができる。
本実施の形態の画像符号化装置200によれば、第1LSI150aと第2LSI150bの2つのLSIチップを同時に用いて動画像を圧縮符号化することができるので、2倍の処理速度で符号化が可能である。一つのチップ内に2つのエンコーダを搭載すると回路規模が大きくなり製造コストがかかるが、本実施の形態では、2つのLSIチップに分けてそれぞれにエンコーダを搭載し、2つのLSIチップを通信路で接続して必要な参照画像のデータの転送を行うことにしたため、回路規模が大きくならず、製造コストを抑えることができる。
画像符号化装置200の2つのLSIはフレーム単位で役割分担を行う。第1LSI150aは、偶数フレームのみを用いてフレーム内符号化とフレーム間符号化を行い、IフレームとPフレームの符号化データを生成する。一方、第2LSI150bは、通信路140を経由して第1LSI150aにより生成された偶数フレームの参照画像の転送を受けて、奇数フレームをフレーム間符号化してBフレームの符号化データを生成する。通信路140を経由して参照データを転送する際、可逆圧縮伸張を行うことで転送データ量を削減することができる。
また、第2LSI150bでは、参照画像データの転送を受けて蓄積する受信バッファが一杯になってデータ転送が滞るのを防ぐため、受信バッファの空き容量、今後送られてくる参照データの圧縮率等の情報をもとに、Bフレームのマクロブロック処理に許容される処理時間を算出する。マクロブロックの処理が許容時間を超える場合には、そのマクロブロックについて動き探索の処理を打ち切り、次のマクロブロックの処理に移る。これにより、受信バッファが一杯になることでデータ転送が中断し、マクロブロック処理に必要な参照データの転送に遅れが生じる事態を未然に防ぐことができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記の実施の形態では、画像符号化装置200において、第1LSI150aと第2LSI150bが連携して動作し、それぞれが生成する符号化データを統合して符号化ストリームを生成する場合を説明した。別の実施例として、第1LSI150aだけが動作し、第2LSI150bは動作せず、第1LSI150aが生成する偶数フレームの符号化データをそのまま動画像の符号化ストリームとしてもよい。たとえば、フィールド周波数60Hzのインターレース映像の符号化ストリームを生成する場合は、第1LSI150aだけを動作させ、フレーム周波数60Hzのプログレッシブ映像の符号化ストリームを生成する場合は、第1LSI150aと第2LSI150bの両方を動作させるといった切り替えも可能である。
また、画像サイズが小さい場合や動きが大きくない動画像の場合は、片方のチップだけを使用して符号化し、画像サイズが大きい場合や動きが大きい場合など画質が要求されるときは、2つのチップを組み合わせて符号化するなど、必要に応じて使用するチップを切り替えて柔軟に運用することも可能である。
上記では、本発明の実施の形態を画像符号化装置を例に説明したが、画像復号装置においても、画像符号化装置と同様の参照画像の転送処理の構成を用いて、画像符号化装置により符号化された符号化ストリームを復号して動画像を生成することができる。すなわち、図1において動画像と符号化ストリームを入れ替え、偶数フレームエンコーダを偶数フレームデコーダに、奇数フレームエンコーダを奇数フレームデコーダにそれぞれ置き換えることにより、画像復号装置の構成とすることができる。画像復号装置では、参照画像を二つのデコーダ間で転送しながら、偶数フレームデコーダが偶数フレームを復号し、奇数フレームデコーダが奇数フレームを復号し、復号された偶数フレームと奇数フレームを合成して動画像を再生することができる。
100a 偶数フレームエンコーダ、 100b 奇数フレームエンコーダ、 110 送信処理部、 120 受信処理部、 130 メモリ、 140 通信路、 150a 第1LSI、 150b 第2LSI、 160 分離部、 170 合成部、 200 画像符号化装置、 210 データ入力部、 212 圧縮前バッファ、 214 可逆圧縮部、 216 圧縮率伝達部、 218 圧縮後バッファ、 220 送信部、 230 受信部、 232 伸張前バッファ、 234 打ち切り制御部、 236 可逆伸張部、 238 伸張後バッファ、 240 データ出力部。

Claims (4)

  1. 動画像を構成するピクチャを2つの組に分けた場合の第1組のピクチャを符号化する第1符号化器と、
    第2組のピクチャを符号化する第2符号化器と、
    前記第1符号化器により生成される参照画像を通信路を介して送信する送信処理部と、
    前記通信路を介して前記参照画像を受信する受信処理部とを含み、
    前記第2符号化器は、前記第1符号化器から受信された前記参照画像を、第2組のピクチャを符号化する際の参照画像として利用することを特徴とする画像符号化装置。
  2. 受信した前記参照画像を蓄積するバッファの空き容量にもとづいて、前記第2符号化器によるピクチャのブロックに関する処理に許容される処理時間を算出し、許容される処理時間を超える場合は、当該ブロックに関する処理を打ち切るように制御する打ち切り制御部をさらに含むことを特徴とする請求項1に記載の画像符号化装置。
  3. 前記送信処理部は、前記参照画像を可逆圧縮する圧縮部を含み、
    前記受信処理部は、受信された圧縮後の前記参照画像を伸張する伸張部を含み、
    前記送信処理部は、前記参照画像の圧縮率に関する情報を前記受信処理部に通知し、
    前記打ち切り制御部は、受信した前記参照画像を蓄積するバッファの空き容量と前記参照画像の圧縮率にもとづいて、前記第2符号化器によるピクチャのブロックに関する処理に許容される処理時間を算出し、許容される処理時間を超える場合は、当該ブロックに関する処理を打ち切るように制御することを特徴とする請求項2の記載の画像符号化装置。
  4. 動画像を構成するピクチャを第1組と第2組に分けるステップと、
    第1組のピクチャを第1符号化器により符号化するステップと、
    第2組のピクチャを第2符号化器により符号化するステップと、
    前記第1符号化器により生成される参照画像を通信路を介して前記第2符号化器に転送するステップとを含み、
    前記第1符号化器から転送された前記参照画像は、第2組のピクチャを符号化する際の参照画像として利用されることを特徴とする画像符号化方法。
JP2010077461A 2010-03-30 2010-03-30 画像符号化装置および画像符号化方法 Pending JP2011211498A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010077461A JP2011211498A (ja) 2010-03-30 2010-03-30 画像符号化装置および画像符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010077461A JP2011211498A (ja) 2010-03-30 2010-03-30 画像符号化装置および画像符号化方法

Publications (1)

Publication Number Publication Date
JP2011211498A true JP2011211498A (ja) 2011-10-20

Family

ID=44942092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010077461A Pending JP2011211498A (ja) 2010-03-30 2010-03-30 画像符号化装置および画像符号化方法

Country Status (1)

Country Link
JP (1) JP2011211498A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017526200A (ja) * 2014-06-26 2017-09-07 インテル コーポレイション 圧縮構成識別
US9762926B2 (en) 2013-06-11 2017-09-12 Sony Corporation Image processing device and image processing method, program, and imaging apparatus
US9794581B2 (en) 2013-06-24 2017-10-17 Sony Corporation Image processing device and image processing method, program, and imaging apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08116539A (ja) * 1994-10-17 1996-05-07 Hitachi Ltd 動画像符号化装置と動画像符号化方法
JPH0946708A (ja) * 1995-08-02 1997-02-14 Nippon Telegr & Teleph Corp <Ntt> 画像符号化および復号方法
JP2002112274A (ja) * 2000-10-03 2002-04-12 Nippon Telegr & Teleph Corp <Ntt> 処理時間適応画像符号化方法およびそのプログラムの記録媒体
JP2004048512A (ja) * 2002-07-12 2004-02-12 Renesas Technology Corp 動画像符号化方法と動画像符号化回路
JP2008311824A (ja) * 2007-06-13 2008-12-25 Renesas Technology Corp 画像符号化装置および画像符号化プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08116539A (ja) * 1994-10-17 1996-05-07 Hitachi Ltd 動画像符号化装置と動画像符号化方法
JPH0946708A (ja) * 1995-08-02 1997-02-14 Nippon Telegr & Teleph Corp <Ntt> 画像符号化および復号方法
JP2002112274A (ja) * 2000-10-03 2002-04-12 Nippon Telegr & Teleph Corp <Ntt> 処理時間適応画像符号化方法およびそのプログラムの記録媒体
JP2004048512A (ja) * 2002-07-12 2004-02-12 Renesas Technology Corp 動画像符号化方法と動画像符号化回路
JP2008311824A (ja) * 2007-06-13 2008-12-25 Renesas Technology Corp 画像符号化装置および画像符号化プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9762926B2 (en) 2013-06-11 2017-09-12 Sony Corporation Image processing device and image processing method, program, and imaging apparatus
US9794581B2 (en) 2013-06-24 2017-10-17 Sony Corporation Image processing device and image processing method, program, and imaging apparatus
JP2017526200A (ja) * 2014-06-26 2017-09-07 インテル コーポレイション 圧縮構成識別

Similar Documents

Publication Publication Date Title
US8085847B2 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
JP3662171B2 (ja) 符号化装置及び符号化方法
JP5504336B2 (ja) スケーラブルビデオ符号化方法、符号器及びコンピュータプログラム
KR101485014B1 (ko) 크기 조정 가능한 스트림의 형태로 비디오 콘텐츠를 코딩하는 디바이스 및 방법
TWI499275B (zh) 用於視頻傳輸的方法和系統
JP5612214B2 (ja) 階層的映像符号化及び復号化のための方法及び装置
CN110740318A (zh) 用于视频处理和视频译码的自动自适应长期参考帧选择
US8428142B2 (en) System and method for transcoding data from one video standard to another video standard
US20110274178A1 (en) Method and device for parallel decoding of video data units
US8218619B2 (en) Transcoding apparatus and method between two codecs each including a deblocking filter
KR101147744B1 (ko) 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr
CN104396249A (zh) 可伸缩视频编码的双向预测的方法和设备
JP2006279573A (ja) 符号化装置と方法、ならびに復号装置と方法
US6961377B2 (en) Transcoder system for compressed digital video bitstreams
JP2006217560A (ja) 参考フレームバッファメモリのサイズとアクセス量を減らす方法
JP2007524309A (ja) ビデオ復号の方法
WO2010106670A1 (ja) 画像符号化装置、画像符号化制御方法および画像符号化プログラム
JP2007266749A (ja) 符号化方法
WO2008084184A2 (en) Generalised hypothetical reference decoder for scalable video coding with bitstream rewriting
JP2007088922A (ja) 符号化装置と符号化方法
JP3852366B2 (ja) 符号化装置および方法、復号装置および方法、並びにプログラム
JP2011211498A (ja) 画像符号化装置および画像符号化方法
JP2007266750A (ja) 符号化方法
JP4401341B2 (ja) 符号化方法
JP5472094B2 (ja) 動画像変換装置、動画像配信システム、動画像変換方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130404

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131015