Nothing Special   »   [go: up one dir, main page]

JP4182442B2 - 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 - Google Patents

画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4182442B2
JP4182442B2 JP2006122890A JP2006122890A JP4182442B2 JP 4182442 B2 JP4182442 B2 JP 4182442B2 JP 2006122890 A JP2006122890 A JP 2006122890A JP 2006122890 A JP2006122890 A JP 2006122890A JP 4182442 B2 JP4182442 B2 JP 4182442B2
Authority
JP
Japan
Prior art keywords
macroblock
processing
image data
slice
processed
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.)
Expired - Fee Related
Application number
JP2006122890A
Other languages
English (en)
Other versions
JP2007295423A (ja
Inventor
義之 伊東
哲哉 福島
幸雄 柳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006122890A priority Critical patent/JP4182442B2/ja
Priority to TW96113373A priority patent/TW200818925A/zh
Priority to EP20070251643 priority patent/EP1850598A1/en
Priority to US11/789,613 priority patent/US8279942B2/en
Priority to KR20070040814A priority patent/KR20070105903A/ko
Priority to CN2007100976447A priority patent/CN101064848B/zh
Publication of JP2007295423A publication Critical patent/JP2007295423A/ja
Application granted granted Critical
Publication of JP4182442B2 publication Critical patent/JP4182442B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

本発明は、例えばH.264/MPEG−4AVC(ITU-T Rec. H.264 ISO/IEC 14496-10 AVC )規格に従ってビデオデータを符号化、復号化する場合に適用することができる。本発明は、複数の演算処理部に順次循環的にスライスを割り当てて、これら複数の演算処理部で同時並列的に画像データを符号化、復号化するようにして、各スライスにおける処理中のマクロブロックの参照マクロブロックと、直前スライスにおける処理中のマクロブロックの参照マクロブロックとが一部重複するような関係に各スライスの処理を設定することにより、複数の演算処理手段で画像データを同時並列的に処理して符号化処理、復号化処理する構成において、キャッシュメモリの容量を低減する。
従来、各種映像機器では、H.264/MPEG−4AVC(以下において、H.264/AVCと呼ぶ)、WMV9(Windows Media Video 9 )、MPEG−4(ISO/IEC14496 Information Technology-Generic Coding of Audio-Visual Object )、MPEG−2(ISO/IEC13818-2 International Standard MPEG-2 Video)、MPEG−1(ISO/IEC11172-2 International Standard MPEG-1 Video)等で動画像の画像データを符号化処理、復号化処理している。これらの符号化処理、復号化処理では、ラスタ走査の順序で、マクロブロックを順次処理している。
すなわち図41にビデオ信号がいわゆる4:2:0の場合を例に取って示すように、この種の符号化処理では、輝度信号Y及び色差信号Cr、Cbをそれぞれ16画素×16画素及び8画素×8画素のマクロブロックに分割する。また輝度信号Yは、1つのマクロブロックを水平方向及び垂直方向にそれぞれ1/2分割した8画素×8画素のブロック毎に、ディスクリートコサイン変換処理し、色差信号Cr、Cbは、マクロブロック毎に、ディスクリートコサイン変換処理する。H.264/AVCでは、更にそれぞれ1/2分割した4画素×4画素のブロックごとに直変換処理や離散アダマール変換処理を行う。この種の符号化処理では、このディスクリートコサイン変換処理結果である各係数データを量子化処理、可変長符号化処理する。
従ってこの種の符号化処理、復号化処理では、図42(A)に示すように、2次元のアドレスである水平方向及び垂直方向のアドレス(X,Y)で各マクロブロック(MB)を特定する。またこの種の処理では、図42(B)に示すように、この水平方向及び垂直方向のアドレス(X,Y)を1次元のアドレスに変換してメモリをアクセスし、このメモリに保持された各マクロブロックの画像データを順次処理する。
またこれらの処理では、隣接マクロブロックの処理結果を参照して伝送効率を向上している。具体的に、MPEG−1、2のイントラ予測では、図43に示すように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)の処理結果を参照して、続くマクロブロック(X,Y)を処理している。なおこの図43及び以下の図では、参照関係を矢印で示す。また以下において、この参照されるマクロブロックを参照マクロブロックと呼ぶ。従ってこの図43の例では、マクロブロック(X−1,Y)がマクロブロック(X,Y)の参照マクロブロックである。なおここでスライスは、スライスレイヤの処理単位であり、水平方向に連続する複数のマクロブロックで形成される。
またMPEG−4のイントラ予測では、図44に示すように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査開始端側の隣接マクロブロック(X−1,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X−1,Y)、(X,Y−1)又は(X−1,Y−1)の処理結果を参照して、マクロブロック(X,Y)を処理している。
またMPEG−4の動きベクトル予測では、図45に示すように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査終了端側の隣接マクロブロック(X+1,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X−1,Y)、(X,Y−1)又は(X+1,Y−1)の動きベクトルを参照して、マクロブロック(X,Y)の動きベクトルを予測している。
またH264/AVCのイントラ予測では、図46に示すように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査開始端側の隣接マクロブロック(X−1,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査終了端側の隣接マクロブロック(X+1,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X−1,Y)、(X,Y−1)、(X−1,Y−1)又は(X+1,Y−1)の処理結果を参照して、マクロブロック(X,Y)を処理している。
またH264/AVCの動きベクトル予測では、図47に示すように、MPEG−4の動きベクトル予測と同様に、隣接マクロブロック(X,Y−1)、(X+1,Y−1)、(X−1,Y)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X,Y−1)、(X+1,Y−1)、又は(X−1,Y)の動きベクトルを参照して、動きベクトルを処理している。
またH264/AVCのデブロッキングフィルタの処理では、図48に示すように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X,Y−1)又は(X−1)の処理結果を参照して、マクロブロック(X,Y)を処理している。
このような符号化、復号化処理では、中央処理ユニット等の演算処理手段の演算処理で符号化処理、復号化処理する場合もある。
これに対して演算処理手段を用いたデータ処理システムでは、キャッシュメモリを用いて処理の高速度化が図られている。
すなわち図49に示すように、演算処理手段を用いたデータ処理システム1では、高速アクセス可能なSRAM等のメモリでキャッシュメモリ2が形成され、またキャッシュメモリ2に比して高速アクセス困難ではあるものの、キャッシュメモリ2に比して消費電力の小さなメモリでメインメモリ4が形成される。またデータ処理手段3の命令を含むデータをメインメモリに格納して保持し、このメインメモリに格納した命令、データの一部をキャッシュメモリ2にロードして保持する。なおキャッシュメモリ2には、各データのアドレスを管理するTAG情報が設定されて命令、データが格納される。
データ処理システム1において、データ処理手段3は、同一命令、データを再び使用する場合、矢印Aで示すように、先ずキャッシュメモリ2をアクセスして所望する命令、データを検索し、目的の命令、データがキャッシュメモリ2に存在する場合には、キャッシュメモリ2に記録された命令、データを取り出して使用する。また目的の命令、データがキャッシュメモリ2に存在しない場合、矢印Bで示すように、メインメモリから目的の命令、データを取り出して使用し、またこの命令、データをキャッシュメモリ2に格納する。なおキャッシュメモリ2は、データ管理の高速度化を目的として、メインメモリ内にソフトウェア的に構成する場合もある。
演算処理手段を用いて符号化処理、復号化処理する構成に関して、例えば特開2006−42364号公報には、メモリから処理対象の画像データをロードする総サイクル数を低減させる工夫が提案されている。また特開2000−115806号公報には、キャッシュメモリを用いて画像データの処理速度を高速度化する工夫が提案されている。
ところで画像データを複数の演算処理手段で同時並列的に処理して符号化処理、復号化処理すれば、1つの演算処理手段で画像データを処理する場合に比して、処理速度を高速度化することができる。またさらに複数の演算処理手段で同時並列的に画像データを処理して符号化処理、復号化処理する構成において、キャッシュメモリを使用すれば、一段と処理速度を高速度化することができると考えられる。この場合に、複数の演算処理手段で画像データを同時並列的に処理する構成を有効に利用して、キャッシュメモリの容量を低減することができれば、回路規模を低減し、消費電力を低減することができる。
特開2006−42364号公報 特開2000−115806号公報
本発明は以上の点を考慮してなされたもので、複数の演算処理手段で画像データを同時並列的に処理して符号化処理、復号化処理する構成において、キャッシュメモリの容量を低減することができる画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体を提案しようとするものである。
上記の課題を解決するため請求項1の発明は、画像データの処理装置に適用して、画像データをそれぞれマクロブロック単位で符号化又は復号化する複数の演算処理部と、前記複数の演算処理部の処理に使用するデータを蓄積して保持するメインメモリと、前記メインメモリに保持されたデータの一部を保持する前記複数の演算処理部のキャッシュメモリとを備え、前記複数の演算処理部には、前記画像データの連続するスライスが順次循環的に割り当てられて、それぞれ処理対象のスライスが設定され、前記複数の演算処理部は、各スライスの処理が直前スライスの処理に対して一定の関係となるようにしてそれぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記キャッシュメモリに保持されたデータを処理して、前記画像データを同時並列的に符号化又は復号化し、前記一定の関係が、現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であるようにする。
また請求項5の発明は、画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法に適用して、前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、前記同時並列処理ステップは、各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、前記一定の関係が、現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係である。
また請求項6の発明は、演算処理手段による実行により、画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法のプログラムに適用して、前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、前記同時並列処理ステップは、各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、前記一定の関係が、現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であるようにする。
また請求項7の発明は、演算処理手段による実行により、画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法のプログラムを記録した記録媒体に適用して、前記画像データの処理方法のプログラムは、前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、前記同時並列処理ステップは、各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、前記一定の関係が、現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であるようにする。

請求項1の構成によれば、キャッシュメモリを用いて、複数の演算処理部で同時並列的に画像データを符号化、復号化することができる。またこのとき現在のスライスで処理中のマクロブロックの参照マクロブロックと、直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複することから、処理中のマクロブロックの全ての参照マクロブロックのデータを格納する場合に比して、キャッシュメモリに格納するデータを低減することができ、キャッシュメモリの容量を少なくすることができる。
請求項5、請求項6、又は請求項7の構成によれば、同時並列処理ステップで、キャッシュメモリを用いて画像データを同時並列的に処理することができる。またこのとき現在のスライスで処理中のマクロブロックの参照マクロブロックと、直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複することから、処理中のマクロブロックの全ての参照マクロブロックのデータを格納する場合に比して、キャッシュメモリに格納するデータを低減することができ、キャッシュメモリの容量を少なくすることができる。
本発明によれば、複数の演算処理手段で画像データを同時並列的に処理して符号化処理、復号化処理する構成において、キャッシュメモリの容量を低減することができる。
以下、適宜図面を参照しながら本発明の実施例を詳述する。
(1)実施例の構成
図2は、本発明の実施例1の映像機器に適用されるエンコーダを示すブロック図である。この実施例の映像機器は、このエンコーダ10で画像データを符号化処理して記録媒体に記録し、また伝送路に出力する。また後述するデコーダで記録媒体に記録した画像データ、伝送路から入力する符号化データを復号化処理する。
ここでエンコーダ10は、複数の中央処理ユニットを有するいわゆるマルチコアプロセッサで形成され、バッファメモリ31に動画像の画像データPixelを順次入力する。なおこの図2では、このバッファメモリ31への画像データの入出力の記載は、簡略化して示す。エンコーダ10は、これら複数の中央処理ユニットがそれぞれこのバッファメモリ31をアクセスできるように構成される。エンコーダ10は、これら複数の中央処理ユニットの演算処理によってこのバッファメモリ31に格納された画像データPixelをH.264/AVCの手法で符号化処理し、符号化データStreamを出力する。
エンコーダ10は、各中央処理ユニットによって、それぞれマクロブロックを処理するマクロブロック処理エンジン(MB処理エンジン)11A〜11Nの機能ブロックが形成される。またエンコーダ10は、全体の動作を制御するメインの中央処理ユニットによって、前処理部(ME)12、後処理部(VLC)13の機能ブロックが形成される。なおこのエンコーダ10のプログラムは、この映像機器に事前にインストールされて提供されるものの、これに代えて光ディスク、磁気ディスク、メモリカード等の種々の記録媒体に記録して提供するようにしてもよく、またインターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
ここで前処理部12は、マクロブロック処理エンジン11A〜11Nで処理する前に画像データPixelを事前にまとめてフレーム単位で処理する機能ブロックである。具体的に、前処理部12は、インター予測時に、バッファメモリ31に格納した参照フレームに対して動き検出回路21で最適な予測モードならびに動きベクトルを検出する。
マクロブロック処理エンジン11A〜11Nは、画像データPixelをそれぞれマクロブロック単位で処理する並列処理可能な機能ブロックである。マクロブロック処理エンジン11A〜11Nは、前処理部12で設定された最適予測モードならびに動きベクトルに応じて予測値を作成し、各マクロブロックの画像データを符号化処理して出力データcoefを出力する。
すなわちマクロブロック処理エンジン11A〜11Nは、マクロブロック単位でバッファメモリ31から画像データPixelを減算回路22に入力する。減算回路22は、イントラ符号化する場合には、イントラ予測回路23で生成される予測値と順次入力される画像データPixelとの差分データを生成し、インター符号化する場合には、動き補償回路24で生成される予測値と画像データPixelとの差分データを生成する。
ディスクリートコサイン変換回路(DCT)25は、減算回路22から出力される差分データを直交変換処理して係数データを出力する。量子化回路(Q)26は、所定の量子化スケールでこの係数データを量子化して出力する。マクロブロック処理エンジン11A〜11Nは、この量子化回路26の出力データcoefを後処理部13に出力する。
逆量子化回路(Q-1)27は、量子化回路26の出力データcoefを逆量子化処理し、量子化回路26に入力される係数データを復号する。逆ディスクリートコサイン変換回路(IDCT)28は、逆量子化回路27の出力データを逆ディスクリートコサイン変換処理し、ディスクリートコサイン変換回路25に入力される差分データを復号する。加算回路29は、逆ディスクリートコサイン変換回路28で復号した差分データにイントラ予測回路23又は動き補償回路24で生成した予測値を加算し、デブロッキングフィルタ30もしくはイントラ予測器23の入力データPixelを復号する。
イントラ予測回路23は、この加算回路29で復号される現フレームFnの画像データPixelを用いて、イントラ符号化する場合の予測値を出力する。動き補償回路24は、加算回路29で復号されてバッファメモリ31に保持された画像データPixelを参照フレームFn−1の画像データとして入力し、この参照フレームFn−1の画像データを用いて、インター符号化する場合の予測値を出力する。
マクロブロック処理エンジン11A〜11Nは、Iピクチャーでは、イントラ予測の最適予測モードで画像データPixelを符号化するように、イントラ予測回路23の予測値を選択的に減算回路22に出力する。またIピクチャー以外では、イントラ予測の最適予測モードとインター予測の最適予測モードのうちで、発生符号量が少ない側の最適予測モードで画像データPixelを符号化するように、これらイントラ予測回路23、動き補償回路24の予測値を減算回路22に出力する。なおマクロブロック処理エンジン11A〜11Nは、1つのマクロブロックを複数のブロックに分割して形成されるサブマクロブロックを処理単位とする予測モードを最適予測モードとして処理する場合もあるが、この場合、1つのマクロブロックを構成するサブマクロブロックを順次符号化処理し、その結果、最終的には、マクロブロック単位で画像データPixelを符号化処理する。
後処理部13は、マクロブロック処理エンジン11A〜11Nの出力データcoefを一定の順序で入力する。入力したデータcoefを可変長符号化回路(VLC)で可変長符号化処理した後、量子化スケール、マクロブロックタイプ(mb type )等の情報を付加して符号化データStreamを出力する。またマクロブロック処理エンジン11A〜11Nから出力される画像データを、デブロッキングフィルタ(デブロッキング)30でフィルタリング処理してブロック歪みを除去した後、バッファメモリ31に参照フレームFn−1として格納する。
図3は、各マクロブロック処理エンジン11A〜11Nの処理手順を示すフローチャートである。各マクロブロック処理エンジン11A〜11Nは、メインの中央処理ユニットの制御によって、この図3に示す処理手順を実行する。
すなわち各マクロブロック処理エンジン11A〜11Nは、この処理手順を開始するとステップSP1からステップSP2に移り、前処理部12から通知されるマクロブロックタイプに基づいて、インター予測、イントラ予測を判定する。ここでインター予測の場合、マクロブロック処理エンジン11A〜11Nは、ステップSP2からステップSP3に移って動き補償回路24を用いて予測値を計算するのに対し、イントラ予測する場合、ステップSP2からステップSP4に移ってイントラ予測回路23を用いて予測値を計算する。
続いてマクロブロック処理エンジン11A〜11Nは、ステップSP5において減算回路22で差分データを計算し、続くステップSP6において、ディスクリートコサイン変換回路25でこの差分データを係数データに変換する。また続くステップSP7において、量子化回路26で係数データを量子化処理し、処理結果を後処理部13に出力する。またマクロブロック処理エンジン11A〜11Nは、続くステップSP8で、逆量子化処理を実行し、続くステップSP9で逆ディスクリートコサイン変換処理を実行する。また続くステップSP10で逆ディスクリートコサイン変換処理結果に予測値を加算し、元の画像データを復号する。
マクロブロック処理エンジン11A〜11Nは、この復号した画像データを後処理部13に出力し、続くステップSP11で、他に処理するマクロブロックが存在するか否か判断する。ここで他に処理するマクロブロックが存在する場合、マクロブロック処理エンジン11A〜11Nは、ステップSP11からステップSP2に戻り、続くマクロブロックの処理を開始する。これに対して他に処理するマクロブロックが存在しない場合、マクロブロック処理エンジン11A〜11Nは、ステップSP11からステップSP12に移ってこの処理手順を終了する。
図4は、イントラ予測の画像データに関するマクロブロック処理エンジン11A〜11Nとバッファメモリ31との関係を示すブロック図である。なおこの図4及び以下の説明では、マクロブロック処理エンジン11A〜11Nの個数は3個であるとして説明する。ここで各マクロブロック処理エンジン11A〜11Cは、バス(BUS)を介してそれぞれ独立してバッファメモリ31をアクセス可能に形成される。
バッファメモリ31は、高速アクセス可能なSRAM等のメモリによりキャッシュメモリ32が形成され、またキャッシュメモリ32に比して高速アクセス困難ではあるものの、キャッシュメモリ32に比して消費電力の小さな小型のメモリでメインメモリ33が形成される。またバッファメモリ31は、マクロブロック処理エンジン11A〜11Cでイントラ予測に使用する現フレームの画像データ、動き補償に使用する参照フレームの画像データ、前処理部12から入力される処理対象の画像データをメインメモリ33に格納して保持する。またメイン中央処理ユニットの制御により、マクロブロック処理エンジン11A〜11Cが1つのマクロブロックを処理している間に、続いてマクロブロック処理エンジン11A〜11Cが処理するマクロブロック、参照マクロブロックの画像データを、メインメモリ33からロードして、キャッシュメモリ32に保持する。なお参照マクロブロックの画像データのうちで、直前マクロブロックの画像データについては、対応するマクロブロック処理エンジン11A〜11Cで処理の完了した画像データをメインメモリ33に格納する際に、併せてキャッシュメモリ32に格納する。
またバッファメモリ31は、図5に示すように、ラスタ走査開始位置を基準にして各マクロブロックの位置を特定する水平方向及び垂直方向の2次元のアドレス(X,Y)を各マクロブロックの画像データに設定して、マクロブロック単位で、現フレームの画像データ、前処理部12で処理した画像データをキャッシュメモリ32に保持する。これに対してバッファメモリ31は、メモリ空間上の1次元のアドレスで各マクロブロックの画像データをメインメモリ33に格納する。従ってバッファメモリ31は、メインメモリ33から画像データをロードしてキャッシュメモリ32に格納する際には、キャッシュメモリ32に格納する画像データの属するマクロブロックの2次元のアドレスを、メインメモリ33の1次元のアドレスにアドレス変換してメインメモリ33から画像データをロードする。
なおこのバッファメモリ31のアクセス方法は、図4との対比により図6に示すように、メインメモリ33のアドレス管理にも2次元のアドレスを適用して、メインメモリ33からキャッシュメモリ32にデータをロードする際のアドレス変換処理を省略するようにしてもよい。また図4との対比により図7に示すように、キャッシュメモリ32のアドレス管理を1次元のアドレスで実行して、メインメモリ33からキャッシュメモリ32にデータをロードする際のアドレス変換処理を省略するようにしてもよい。但し、この場合は、バッファメモリ31をアクセスする際に、2次元アドレスを1次元アドレスに変換するアドレス変換処理が必要になる。また図4との対比により図8に示すように、キャッシュメモリ32側を2次元のアドレスでアドレス管理し、メインメモリ33側を1次元のアドレスでアドレス管理するようにしてもよい。
図1は、これらマクロブロック処理エンジン11A〜11Cのマクロブロックの処理順序の説明に供する略線図である。マクロブロック処理エンジン11A〜11Cは、図示しないメイン中央処理ユニットの制御により、マクロブロック単位で画像データを順次処理する。ここでこのメイン中央処理ユニットは、1つのフレームを構成するスライスを、ラスタ走査開始端側から順次循環的に各マクロブロック処理エンジン11A〜11Cに割り当てる。従ってこの図1に示す例では、垂直方向の先頭スライスSL1が、第1のマクロブロック処理エンジン11Aに割り当てられ、続く2番目のスライスSL2が、続く第2のマクロブロック処理エンジン11Bに割り当てられる。また続く3番目のスライスSL3が、第3のマクロブロック処理エンジン11Cに割り当てられ、続く4番目のスライスSL4が、第1のマクロブロック処理エンジン11Aに割り当てられる。
各マクロブロック処理エンジン11A〜11Cは、同期して、それぞれに割り当てられた複数スライスのマクロブロックをラスタ走査の順序で順次処理する。またさらに各マクロブロック処理エンジン11A〜11Cは、各マクロブロックの処理を開始する時点で、処理対象のマクロブロックの参照マクロブロックの処理が完了していて、処理中のマクロブロックが参照する画像データがバッファメモリ31に格納されているように、直前のスライスにおけるマクロブロック処理エンジン11A〜11Cの処理に対して、所定マクロブロック数だけ遅れたタイミングで、各スライスの処理を開始する。
すなわち図9に示すように、MPEG−1、2のイントラ予測では、図43について上述したように、同一スライスの走査開始端側、直前の隣接マクロブロックだけが参照マクロブロックであることから、各マクロブロック処理エンジン11A〜11Cでそれぞれ独立して各スライスを処理するようにして、何れのスライスを処理する場合でも、ラスタ走査方向に順次マクロブロックを処理するだけで、符号化処理を完了した現フレームの画像データを参照してマクロブロックを符号化処理することができる。従ってMPEG−1、2では、何ら各スライスにおける処理のタイミングを考慮することなく、複数のマクロブロック処理エンジン11A〜11Cで同時並列的に1フレームの画像データを符号化処理することができる。
しかしながらこの実施例の符号化処理では、H.264/AVCの手法で画像データを符号化処理し、このH.264/AVCのイントラ予測では、図46について上述したように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)だけでなく、直前スライスの隣接マクロブロック(X,Y−1)、(X−1,Y−1)、(X+1,Y−1)もマクロブロック(X,Y)の参照マクロブロックである。従ってMPEG−1、2の場合と同様に、何ら前後のスライスの処理を考慮することなく、複数のマクロブロック処理エンジン11A〜11Cで各スライスのマクロブロックを同時並列的に処理したのでは、各マクロブロック処理エンジン11A〜11Cで、直前スライスにおける参照マクロブロックの処理完了を待機する待ち時間が発生する。従ってこの場合、効率良く、高速にマクロブロックを処理できなくなる。
そこで待ち時間を無くすためには、1つのスライスの処理を開始する場合に、直前スライスで参照マクロブロックの処理を完了していることが必要になる。
ここでH.264/AVCのイントラ予測では、この直前スライスの参照マクロブロックが、真上に位置するマクロブロック(X,Y−1)と、この真上に位置するマクロブロックの前後のマクロブロック(X−1,Y−1)、(X+1,Y−1)であることから、ラスタ走査開始端側から2つ以上のマクロブロックを直前スライスで処理していれば、続くスライスの処理を開始できることになる。
そこでこの実施例において、各マクロブロック処理エンジン11A〜11Cは、同期して、それぞれに割り当てられた複数スライスのマクロブロックをラスタ走査順に処理するようにして、直前のスライスにおけるマクロブロック処理エンジン11A〜11Cの処理に対して、所定マクロブロック数だけ遅れたタイミングで、各スライスの処理を開始し、同時並列的に画像データを符号化処理する。
またさらにこの実施例では、直前スライスにおける処理中マクロブロックの参照マクロブロックと、続くスライスにおける処理中マクロブロックの参照マクロブロックとが、一部重複するように、直前のスライスにおける処理に対して、続くスライスの処理開始時点が設定され、参照するマクロブロック処理結果の数が極力少なくなるように設定される。
より具体的には、各スライスの処理中のマクロブロックの水平方向の位置が、直前スライスの処理中のマクロブロックに対して、1つのマクロブロックを間に挟んで、走査開始端側の位置となるように、連続するスライスにおける処理対象マクロブロックの位置関係を設定して、各スライスのマクロブロックを順次処理する。従って図1の例では、矢印により参照関係を示すように、先頭スライスでは、左端から5番目のマクロブロックの処理結果を、同一スライスと続くスライスとで参照していることになり、続くスライスでは、左端から3番目のマクロブロックの処理結果を、同一スライスと続くスライスとで参照していることになる。
従って各マクロブロック処理エンジン11A〜11Cは、図10に示す順序で、順次、マクロブロックを処理する。すなわちマクロブロック処理エンジン11A〜11Cは、第1のマクロブロック処理エンジン11Aが先頭スライスの処理を開始してマクロブロック(0,0)を処理する。また続いてこの第1のマクロブロック処理エンジン11Aが、マクロブロック(0,0)の処理結果を参照して、続くマクロブロック(1,0)を処理する。
この続くマクロブロック(1,0)の処理を完了すると、続くスライスでは、直前スライスで、ラスタ走査開始端側の2つのマクロブロックの処理が完了したことにより、第2のマクロブロック処理エンジン11Bが処理を開始する。すなわち続いて第1及び第2のマクロブロック処理エンジン11A及び11Bが、それぞれマクロブロック(2,0)及び(0,1)を処理する。また続いて第1及び第2のマクロブロック処理エンジン11A及び11Bが、それぞれマクロブロック(3,0)及び(1,1)を処理する。
ここでマクロブロック(1,1)の処理を完了すると、続くスライスでは、直前スライスで、ラスタ走査開始端側の2つのマクロブロックの処理が完了したことにより、第3のマクロブロック処理エンジン11Cが処理を開始する。すなわち続いて第1、第2、第3のマクロブロック処理エンジン11A、11B、11Cが、それぞれマクロブロック(4,0)、(2,1)、(0,2)を処理する。また続いて第1、第2、第3のマクロブロック処理エンジン11A、11B、11Cが、それぞれマクロブロック(5,0)、(3,1)、(1,2)を処理する。
このようにしてマクロブロック処理エンジン11A〜11Cで同時並列的にマクロブロックを処理する前提で、バッファメモリ31は、復号した現フレームFnの画像データ、前処理部12から入力される処理対象の画像データをメインメモリ33に格納するようにして、マクロブロック処理エンジン11A〜11Cの処理対象マクロブロックに応じて、処理対象マクロブロックの画像データ、参照マクロブロックの現フレームFnの画像データを逐次、メインメモリ33からキャッシュメモリ32にロードする。
すなわち図7の例では、第1のマクロブロック処理エンジン11Aが、先頭のマクロブロック(0,0)を処理する場合には、事前に前処理部12から入力された対応するマクロブロック(0,0)の画像データをキャッシュメモリ32にロードして保持する。また第1のマクロブロック処理エンジン11Aが、続くマクロブロック(1,0)を処理する場合、事前に前処理部12から入力された対応するマクロブロック(1,0)の画像データと、直前で処理したマクロブロック(0,0)の現フレームFnの画像データとをキャッシュメモリ32にロードして保持する。
また続いて第2のマクロブロック処理エンジン11Bが処理を開始すると、事前に第1及び第2のマクロブロック処理エンジン11A、11Bで処理するマクロブロック(2,0)、(0,1)の画像データと、参照マクロブロック(0,0)、(1,0)の現フレームFnの画像データとをキャッシュメモリ32にロードして保持する。また続いて第1及び第2のマクロブロック処理エンジン11A、11Bの処理対象であるマクロブロック(3,0)、(1,1)の画像データと、参照マクロブロック(0,0)、(1,0)、(2,0)、(0,1)の現フレームFnの画像データとをキャッシュメモリ32にロードして保持する。また続くマクロブロックの処理で参照する必要の無くなったデータについては、キャッシュメモリ32から破棄する。
キャッシュメモリ32は、この図1を用いて説明したマクロブロック処理エンジン11A〜11Cの処理に対応可能に、必要最小限度のメモリ容量で構成される。ここで図11に示すように、3つのマクロブロック処理エンジン11A〜11Cでそれぞれマクロブロックを処理する場合、各マクロブロック処理エンジン11A〜11Cでは、それぞれ最大、4つの参照マクロブロックの何れかを使用してマクロブロックを処理することになる(図11(A))。従って図11(B)に示すように、単純に計算すれば、1つのマクロブロックの画像データ量×(処理対象マクロブロック数(1)+最大の参照マクロブロック数(4))×マクロブロック処理エンジン11A〜11Cの数で求められる容量Mがキャッシュメモリ32に最低限必要になる。しかしながらこの実施例では、処理中のスライスイと直前スライスとで、参照マクロブロックが重複するように設定されることから、この容量Mから重複するマクロブロック数に対応する容量Nを減じた容量(M−N)がキャッシュメモリ32に最低限必要になる。
従ってキャッシュメモリ32の容量は、この必要最小限度の容量(M−N)に設定され、処理対象のスライスと直前スライスとで参照マクロブロックが重複するように設定しない場合に比して、容量が低減される。
図12は、図2との対比により、本発明の実施例1の映像機器に適用されるデコーダを示すブロック図である。このデコーダ40は、図2について上述したエンコーダ10を構成する複数の中央処理ユニットで実行するプログラムが、エンコーダ用のプログラムからデコーダ用のプログラムに入れ換えられて構成される。デコーダ40は、図2のエンコーダ10で生成された符号化データStreamから画像データPixelを復号化する。
ここでデコーダ40は、各中央処理ユニットによって、それぞれマクロブロックを処理するマクロブロック処理エンジン(MB処理)41A〜41Nの機能ブロックが形成される。またデコーダ40は、全体の動作を制御するメインの中央処理ユニットによって、前処理部(VLD)42、後処理部(デブロッキング)43の機能ブロックが形成される。
ここで前処理部42は、マクロブロック処理エンジン41A〜41Nで処理する符号化データStreamを事前にまとめてフレーム単位で処理する機能ブロックである。具体的に、前処理部42は、エンコーダ10の後処理部13に対応する構成であり、後処理部13より出力された符号化データStreamを可変長復号化処理してマクロブロック処理エンジン41A〜41Nの入力データcoefを復号する。
マクロブロック処理エンジン41A〜41Nは、エンコーダ10のマクロブロック処理エンジン11A〜11Nに対応する構成であり、前処理部42の出力データcoefをそれぞれマクロブロック単位で処理して画像データPixelを出力する並列処理可能な機能ブロックである。
すなわちマクロブロック処理エンジン41A〜41Nは、マクロブロック単位でバッファメモリ31から前処理部42の出力データcoefを逆量子化回路(Q-1)51に入力する。ここで逆量子化回路51は、符号化データStreamに設定された量子化スケールで前処理部42の出力データcoefを逆量子化処理し、逆ディスクリートコサイン変換回路52に入力する。逆ディスクリートコサイン変換回路(IDCT)52は、逆量子化回路51の出力データを逆ディスクリートコサイン変換処理する。加算回路53は、この復号した差分データに逆イントラ予測回路54又は動き予測補償回路55で生成した逆予測値を加算し、画像データPixelを復号する。
逆イントラ予測回路54は、この加算回路53で復号される現フレームFnの画像データPixelを用いて、イントラ予測の逆予測値を出力する。動き補償回路55は、加算回路53で復号される画像データPixelをバッファメモリ31を介して参照フレームFn−1の画像データとして入力し、この画像データを用いて、逆インター予測の予測値を出力する。
後処理部43は、マクロブロック処理エンジン41A〜41Nの出力データPixelをデブロックフィルタリング処理してブロック歪みを除去する。またこのブロック歪みを除去した画像データPixelを出力すると共に参照フレームとしてバッファメモリ31に格納する。
図13は、各マクロブロック処理エンジン41A〜41Nの処理手順を示すフローチャートである。各マクロブロック処理エンジン41A〜41Nは、メインの中央処理ユニットの制御によって、この図13に示す処理手順を実行する。
すなわち各マクロブロック処理エンジン41A〜41Nは、この処理手順を開始するとステップSP21からステップSP22に移り、前処理部42から通知されるマクロブロックタイプに基づいて、逆インター予測、逆イントラ予測を判定する。ここで逆インター予測の場合、マクロブロック処理エンジン41A〜41Nは、ステップSP22からステップSP23に移って動き補償回路55を用いて逆予測値を計算するのに対し、逆イントラ予測する場合、ステップSP22からステップSP24に移って逆イントラ予測回路54を用いて逆予測値を計算する。
続いてマクロブロック処理エンジン41A〜41Nは、ステップSP25において前処理部42から入力される符号化データStream を逆量子化処理し、続くステップSP26で逆ディスクリートコサイン変換処理する。また続くステップSP27で逆ディスクリートコサイン変換処理結果に逆予測値を加算し、元の画像データPixel を復号する。マクロブロック処理エンジン41A〜41Nは、この復号した画像データを後処理部43に出力し、続くステップSP28で、他に処理するマクロブロックが存在するか否か判断する。ここで他に処理するマクロブロックが存在する場合、マクロブロック処理エンジン41A〜41Nは、ステップSP28からステップSP22に戻り、続くマクロブロックの処理を開始する。これに対して他に処理するマクロブロックが存在しない場合、マクロブロック処理エンジン41A〜41Nは、ステップSP28からステップSP29に移ってこの処理手順を終了する。
これらマクロブロック処理エンジン41A〜41Nは、エンコーダ10のマクロブロック処理エンジン11A〜11Nと同様に、直前スライスで処理中のマクロブロックに対して、各スライスで処理中のマクロブロックが、水平方向に1つのマクロブロックを間に挟んで走査開始端側となるように、直前スライスに対して各スライスの処理を遅れて開始し、処理中のスライスと直前スライスとで一部参照マクロブロックが重複するようにして、連続するスライスを同時並列的に処理する。
またバッファメモリ31は、エンコーダ10の場合と同様に、各マクロブロック処理エンジン41A〜41Nの処理対象マクロブロック、参照マクロブロックの画像データをメインメモリ33からキャッシングしてキャッシュメモリ32に保持し、各マクロブロック処理エンジン41A〜41Nからのアクセスによりキャッシュメモリ32に保持した画像データを出力する。
(2)実施例の動作
以上の構成において、これら実施例の映像機器では、例えばチューナー、光ディスク装置等から出力される画像データPixelが、エンコーダ10(図2)で符号化処理されて符号化データStreamが生成され、この符号化データStreamが記録媒体に記録され、また伝送路に出力される。またこれとは逆に、記録媒体から再生された符号化データStream、伝送路から入力される符号化データStreamがデコーダ40(図12)で復号化されて画像データPixel が生成され、この画像データPixelがモニタ装置等に出力される。
この映像機器では、このエンコーダ10、デコーダ40が、複数の中央処理ユニットを有するいわゆるマルチコアプロセッサに対応するプログラムをロードして形成される。またこのプログラムによって、エンコーダ10、デコーダ40は、前処理、各マクロブロックの処理、後処理で画像データPixel、符号化データStreamをパイプライン処理するように形成される。
すなわちエンコーダ10において(図2)、順次入力される画像データPixelは、前処理部12で前処理された後、続く複数のマクロブロック処理エンジン11A〜11Nで差分データが生成されて直交変換処理、量子化処理され、続く後処理部13で符号化データStreamに変換される(図2)。またデコーダ40において(図12)、符号化データStreamは、前処理部42で可変長復号処理され、続く複数のマクロブロック処理エンジン41A〜41Nで逆量子化処理、逆直交変換処理等されて画像データPixelに変換され、続く後処理部43でフィルタリング処理される(図12)。
この前処理、各マクロブロックの処理、後処理のパイプライン処理により、エンコーダ10、デコーダ40では、1つの演算処理手段で順次画像データを処理する場合に比して、符号化処理、復号化処理が高速度化される。
しかしながら単なるこれら処理のパイプライン処理では、何れかの処理で待ち時間が発生して無駄に電力を消費することになる。そこでエンコーダ10及びデコーダ40では、これらのパイプライン処理する処理のうちで、最も負荷の大きな処理であり、他のマクロブロックを参照する処理である各マクロブロックの処理に、複数のマクロブロック処理エンジン11A〜11N、41A〜41Nが割り当てられ、これら複数のマクロブロック処理エンジン11A〜11N、41A〜41Nで同時並列的に順次マクロブロックを処理する(図4及び図5)。
また画像データを一時保持するバッファメモリ31をキャッシュメモリ32とメインメモリ33とで構成してキャッシング可能とし、これら複数のマクロブロック処理エンジン11A〜11N、41A〜41Nで処理に必要な画像データをキャッシングして処理速度を一段と向上する(図4及び図5)。
しかしながらこれらマクロブロック処理エンジン11A〜11N、41A〜41Nの処理では、符号化、復号化処理を完了した参照マクロブロックを参照して各マクロブロックを処理しており、この参照マクロブロックが、処理対象マクロブロックと同一スライスの直前に存在する。そこでエンコーダ10、デコーダ40では、ラスタ走査の開始端側から順次循環的に各マクロブロック処理エンジン11A〜11N、41A〜41Nに処理対象のスライスが割り当てられ、各マクロブロック処理エンジン11A〜11N、41A〜41Nでそれぞれ処理対象スライスのマクロブロックを順次処理する。
しかしながらさらにマクロブロック処理エンジン11A〜11N、41A〜41Nの処理では、参照マクロブロックが直前スライスにも存在する。従ってMPEG−1、2のように(図9)、単に各スライスをこれら複数のマクロブロック処理エンジン11A〜11N、41A〜41Nにそれぞれ割り当てて処理したのでは、これら複数のマクロブロック処理エンジン11A〜11N、41A〜41Nで、直前スライスにおける参照マクロブロックの処理完了を待機する待ち時間が発生することになり、高速度でデータ処理できなくなる。
そこでエンコーダ10、デコーダ40では、処理対象スライスの各マクロブロックを処理する際に、直前スライスに存在する対応する参照マクロブロックの処理を完了しているように、直前スライスに対して各スライスの処理開始のタイミングが遅延するように設定され、その結果、これら複数のマクロブロック処理エンジン11A〜11N、41A〜41Nで同時並列的に各マクロブロックを処理することが可能となる(図1)。
またバッファメモリ31を用いたキャッシングでは、各マクロブロック処理エンジン11A〜11N、41A〜41Nの処理対象マクロブロックの画像データ、参照マクロブロックの画像データを処理対象に設定し、キャッシュメモリ32の容量の増大を防止しつつ処理速度を向上する(図10)。
しかしながら単に処理対象マクロブロックの画像データと、参照マクロブロックの画像データとをキャッシュメモリ32に保持してキャッシングする場合、結局、処理対象マクロブロック数(1)と参照マクロブロック数との加算値に、マクロブロック処理エンジン11A〜11N、41A〜41Nの数を乗算した数に対応する容量が、キャッシュメモリ32に必要となる(図11(A)及び(B))。
そこでエンコーダ10、デコーダ40では、さらに直前スライスにおける処理中のマクロブロックの参照マクロブロックの一部と、続くスライスにおける処理中のマクロブロックの参照マクロブロックの一部とが重複するように、より具体的には、水平方向に見たときに、直前スライスの処理中のマクロブロックに対して、処理対象スライスの処理中のマクロブロックが、1つのマクロブロックを間に挟んでラスタ走査開始端となるように設定して、各スライスのマクロブロックを処理する(図1)。
その結果、エンコーダ10、デコーダ40では、この参照マクロブロックが重複した分だけ、単に処理対象マクロブロックの画像データと、参照マクロブロックの画像データとをキャッシュメモリ32に保持してキャッシングする場合に比して、キャッシュメモリ32の容量を低減することができ、電力消費を低減し、全体形状を小型化することができる。
(3)実施例の効果
以上の構成によれば、複数のマクロブロック処理エンジンにそれぞれ順次循環的にスライスを割り当てて、これら複数の演算処理手段で同時並列的に画像データを符号化処理、復号化処理するようにして、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するように、各スライスの処理開始のタイミングを設定することにより、複数の演算処理手段で画像データを同時並列的に処理して符号化処理、復号化処理する構成において、キャッシュメモリの容量を低減することができる。従って、全体の消費電力を低減し、構成を簡略化、小型化することができる。
また1つの演算処理手段が処理するマクロブロック数である値1と最大の参照マクロブロック数との加算値に、演算処理手段数を乗算した値から、重複する参照マクロブロック数を減じた数に対応する容量に、キャッシュメモリの容量を設定したことにより、キャッシュメモリの容量を必要最小限度に設定することができる。
図14は、図4との対比により本発明の実施例2の映像機器におけるバッファメモリの構成を示す略線図である。この実施例では、キャッシュメモリ32に格納した各マクロブロックのデータに共有フラグを設定し、このフラグで複数の処理対象マクロブロックで重複する参照マクロブロックを識別する。またこのフラグが設定された参照マクロブロックは、マクロブロック処理エンジン11A〜11C、41A〜41Cからの競合するアクセスを調停する。
なおこのフラグの設定は、マクロブロック処理エンジン11A〜11C、41A〜41Cで実行してもよく、別途フラグを管理するスケジューラで行っても良い。この実施例のエンコーダ、デコーダは、このフラグに関する構成が異なる点を除いて、実施例1と同一に構成される。
この実施例のようにフラグを設定して複数の演算処理手段からのアクセスを制御するようにしても、実施例1と同様の効果を得ることができる。
図15及び図16は、図1及び図11との対比により、本発明の実施例3の映像機器におけるマクロブロックの処理の説明に供する略線図である。この実施例では、実施例1で上述した後処理部13を、さらに複数の後処理用マクロブロック処理エンジン43A、43B、43Cで構成する。この実施例のエンコーダ、デコーダは、この後処理部13が複数の後処理用マクロブロック処理エンジン43A、43B、43Cで構成されている点を除いて、実施例1のエンコーダ、デコーダと同一に構成される。
ここで各後処理用マクロブロック処理エンジン43A、43B、43Cは、実施例1のマクロブロック処理エンジン11A〜11N、41A〜41Nと同様に、順次循環的にスライスが割り当てられ、それぞれに割り当てられた複数スライスをラスタ走査の順序で順次処理する。またそれぞれキャッシュメモリを用いてデブロックフィルタリング処理を実行する。また各スライスでは、直前スライスの参照マクロブロックと処理中のマクロブロックの参照マクロブロックとが一部重複するように、走査開始のタイミングが設定される。
ここでH.264/AVCのデブロッキングフィルタの処理では、図48について上述したように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X,Y−1)又は(X−1)の処理結果を参照して、マクロブロック(X,Y)を処理している。
従ってこの実施例では、水平方向に見たとき、直前スライスで処理中のマクロブロックに対して、各スライスで処理中のマクロブロックが、ラスタ走査開始端側に隣接するマクロブロックとなるように設定される。従って各マクロブロックでは、真上の参照マクロブロックが、直前スライスの参照マクロブロックと重複することになり、この実施例では、この重複した参照マクロブロックの分、キャッシュメモリの容量を低減して複数の演算処理部でマクロブロックを同時並列的に処理する。
この実施例によれば、後処理のフィルタリング処理においても、複数の演算処理手段で同時並列的に処理するようにして、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するように設定することにより、キャッシュメモリの容量を低減して、一段と高速度に画像データを処理することができる。
図17及び図18は、図1及び図11との対比により、本発明の実施例4の映像機器におけるマクロブロックの処理の説明に供する略線図である。この実施例では、MPEG−4で画像データを符号化、復号化する。この実施例のエンコーダ、デコーダは、フォーマットに関する構成を除いて、実施例1のエンコーダ、デコーダと同一に構成される。
ここでMPEG−4のイントラ予測では、図44について上述したように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査開始端側の隣接マクロブロック(X−1,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定される。
従ってこの実施例では、各マクロブロック処理エンジンは、実施例1のマクロブロック処理エンジン11A〜11N、41A〜41Nと同様に、順次循環的にスライスが割り当てられ、それぞれに割り当てられた複数スライスをラスタ走査の順序で順次処理する。またそれぞれキャッシュメモリを用いてマクロブロックを処理するようにして、各スライスでは、直前スライスの参照マクロブロックと処理中のマクロブロックの参照マクロブロックとが一部重複するように、走査開始のタイミングが設定される。
より具体的には、水平方向に見たとき、直前スライスの処理中のマクロブロックに対して、各スライスの処理中のマクロブロックが、ラスタ走査開始端側に隣接するマクロブロックとなるように設定される。従って各マクロブロックでは、真上の参照マクロブロックが、直前スライスの参照マクロブロックと重複することになり、この実施例では、この重複した参照マクロブロックの分、キャッシュメモリの容量を低減して複数の演算処理部でマクロブロックを同時並列的に処理する。
この実施例によれば、MPEG−4の処理に適用しても、実施例1と同様の効果を得ることができる。
図19及び図20は、図1及び図11との対比により、本発明の実施例5の映像機器におけるマクロブロックの処理の説明に供する略線図である。この実施例5では、実施例4のMPEG−4のエンコーダ、デコーダにおいて、前処理部12を、さらに複数の前処理用マクロブロック処理エンジン12A、12B、12Cで構成する。この実施例のエンコーダ、デコーダは、この前処理部12が複数の前処理用マクロブロック処理エンジン12A、12B、12Cで構成されている点を除いて、実施例4のエンコーダ、デコーダと同一に構成される。
ここで各前処理用マクロブロック処理エンジン12A、12B、12Cは、マクロブロック処理エンジン11A〜11N、41A〜41Nと同様に、順次循環的にスライスが割り当てられ、それぞれに割り当てられた複数スライスをラスタ走査の順序で順次処理する。またそれぞれキャッシュメモリを用いて動きベクトル予測の処理を実行する。また各スライスでは、直前スライスの参照マクロブロックと処理中のマクロブロックの参照マクロブロックが一部重複するように、走査開始のタイミングが設定される。
ここでMPEG−4の動きベクトル予測の処理では、図45について上述したように、同一スライスの走査開始端側の隣接マクロブロック(X−1,Y)、直前スライスの真上の隣接マクロブロック(X,Y−1)、この真上の隣接マクロブロック(X,Y−1)と同一スライスの走査終了端側の隣接マクロブロック(X+1,Y−1)がマクロブロック(X,Y)の参照マクロブロックに設定され、これら参照マクロブロック(X−1,Y)、(X,Y−1)又は(X+1,Y−1)の動きベクトルを参照して、マクロブロック(X,Y)の動きベクトルを予測している。
従ってこの実施例において、各前処理用マクロブロック処理エンジンは、実施例1のマクロブロック処理エンジン11A〜11C、41A〜41Nと同様に、水平方向に見たとき、直前スライスの処理中のマクロブロックに対して、1つのマクロブロックを間に挟んで、各スライスの処理中のマクロブロックが、ラスタ走査開始端側のマクロブロックとなるように設定される。従って各マクロブロックでは、真上の参照マクロブロックに続く参照マクロブロックが、直前スライスの参照マクロブロックと重複することになり、この実施例では、この重複した参照マクロブロックの分、キャッシュメモリの容量を低減して複数の演算処理部で動きベクトル予測の処理を同時並列的に処理する。
この実施例によれば、前処理の動きベクトル予測においても、複数の演算処理手段で同時並列的に処理するようにして、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するように設定することにより、キャッシュメモリの容量を低減して、一段と高速度に画像データを処理することができる。
図21は、図4との対比により、本発明の実施例6のエンコーダの要部を示すブロック図である。この実施例では、それぞれ個別のマルチコアプロセッサで構成された2系統のエンコーダが設けられる。また各エンコーダは、それぞれ実施例1について上述したと同様に、前処理部12、複数のマクロブロック処理エンジン11A〜11C、後処理部13が設けられる。この実施例では、この2系統でバッファメモリ31を共用して、ビットレートが異なる2系統の符号化データを同時並列的に生成する。なおこの図21において、1系統のマクロブロック処理エンジンを符号11AA〜11ACで示し、残る1系統のマクロブロック処理エンジンを符号11BA〜11BCで示す。
ここで図5との対比により図22に示すように、バッファメモリ31は、実施例1について上述した2次元のアドレス(X,Y)に、さらに処理する系統を特定する1次元のアドレスが付加された3次元のアドレス(X,Y,Z)を用いたアドレス管理で、各マクロブロックの画像データを管理する。従ってメインメモリ33をアクセスする場合、この実施例では、3次元のアドレス(X,Y,Z)を1次元のアドレスにアドレス変換する。
各系統のマクロブロック処理エンジン11AA〜11AC、11BA〜11BCは、図23〜図26に示すように、それぞれ各系統内では、実施例1について上述した各マクロブロック処理エンジン11A〜11Cと同様に、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するようにして、それぞれに割り当てられた複数のスライスを同時並列的に処理する。また各系統の前処理部、後処理部にあっても、それぞれの系統のマクロブロック処理エンジン11AA〜11AC、11BA〜11BCの処理に対応して、実施例1について上述したと同様に順次画像データを処理する。
この実施例では、複数系統の処理で処理する場合に適用しても、実施例1と同様の効果を得ることができる。
図27は、図21との対比により、本発明の実施例7のエンコーダ、デコーダの要部を示すブロック図である。この実施例において、エンコーダ、デコーダは、それぞれ個別のマルチコアプロセッサで構成される。ここでエンコーダは、実施例1について上述したと同様に、前処理部12、複数のマクロブロック処理エンジン11A〜11C、後処理部13が設けられる。これに対してデコーダは、実施例1について上述したと同様に、前処理部42、複数のマクロブロック処理エンジン41A〜41C、後処理部43が設けられ、この後処理部43が複数の後処理用マクロブロック処理エンジン43A〜43Cで形成される。この実施例では、このエンコーダのマクロブロック処理エンジン11A〜11Cと、デコーダの後処理用マクロブロック処理エンジン43A〜43Cとでバッファメモリ31を共用して、H.264/AVCの符号化データを復号し、また別途入力される画像データをH.264/AVCで符号化処理する。
図23〜図26との対比により図28〜図31に示すように、マクロブロック処理エンジン11A〜11Cは、上述したと同様に、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するようにして、それぞれに割り当てられた複数のスライスを同時並列的に処理する。また後処理用マクロブロック処理エンジン43A〜43Cでも、上述したと同様に、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するようにして、それぞれに割り当てられた複数のスライスを同時並列的に処理する。
この実施例では、エンコーダとデコーダとの複数系統の処理で処理する場合に適用しても、実施例1と同様の効果を得ることができる。
この実施例では、それぞれ個別のマルチコアプロセッサで構成された2系統のエンコーダが設けられる。また各エンコーダは、それぞれ実施例1について上述したと同様に、前処理部12、複数のマクロブロック処理エンジン11A〜11C、後処理部13が設けられる。またさらに前処理部12は、それぞれ複数の前処理用マクロブロック処理エンジン12AA〜12AC、12BA〜12BCで形成される。この実施例では、この2系統の前処理用マクロブロック処理エンジン12AA〜12AC、12BA〜12BCでバッファメモリ31を共用して、H.264/AVCの前処理における動きベクトル予測の処理を実行し、2系統の符号化データを出力する。
図32及び図33は、図28〜図31との対比により、これら2系統の前処理用マクロブロック処理エンジン12AA〜12AC、12BA〜12BCの動作の説明に供する略線図である。この実施例でも、各系統の前処理用マクロブロック処理エンジン12AA〜12AC、12BA〜12BCは、それぞれ上述したと同様に、各スライスにおける処理中のマクロブロックの参照マクロブロックが、直前スライスにおける処理中のマクロブロックの参照マクロブロックと一部重複するようにして、それぞれに割り当てられた複数のスライスを同時並列的に処理する。
この実施例によれば、2系統のエンコーダにおける動きベクトル予測に本発明を適用しても、実施例1と同様の効果を得ることができる。
図34は、図21との対比により、本発明の実施例9の映像機器におけるバッファメモリの構成を示す略線図である。この実施例では、図4との対比により図14について上述したと同様に、キャッシュメモリ32に格納した各マクロブロックのデータに共有フラグを設定し、このフラグで複数の処理中のマクロブロックで重複する参照マクロブロックを識別する。またこのフラグを参考にして、複数のマクロブロック処理エンジンからのアクセスを調停する。
この実施例のように複数系統で処理する場合に、複数の演算処理手段からのアクセスを制御するようにしても、実施例1と同様の効果を得ることができる。
この実施例では、それぞれ個別のマルチコアプロセッサで構成されたエンコーダ、デコーダが設けられる。ここでエンコーダは、実施例1について上述したと同様に、前処理部12、複数のマクロブロック処理エンジン11A〜11C、後処理部13が設けられる。また前処理部が、複数の前処理用マクロブロック処理エンジン12A〜12Cで形成される。これに対してデコーダは、実施例1について上述したと同様に、前処理部42、複数のマクロブロック処理エンジン41A〜41C、後処理部43が設けられ、この後処理部43が複数の後処理用マクロブロック処理エンジン43A〜43Cで形成される。この実施例では、このエンコーダのマクロブロック処理エンジン12A〜12Cと、デコーダの後処理用マクロブロック処理エンジン43A〜43Cとバッファメモリ31を共用して、H.264/AVCの符号化データを復号し、この復号化した画像データをMPEG−4でエンコードする。
またこれらエンコーダ及びデコーダにおいて、前処理用マクロブロック処理エンジン12A〜12C、後処理用マクロブロック処理エンジン43A〜43Cは、それぞれ上述した実施例と同様に、各スライスの処理中マクロブロックの参照マクロブロックと、直前スライスの処理中マクロブロックの参照マクロブロックとが一部重複するように、各マクロブロック処理のタイミングが設定されて担当のスライスを同時並列的に処理する。
さらにこの実施例では、図35及び図36に示すように、エンコーダとデコーダとを同期させて動作させると共に、復号化した処理結果をキャッシュメモリ32に保持するようにして、符号A、B、C、…で示すようにキャッシュメモリ32に保持した直後の続くマクロブロックの処理周期で、このキャッシュメモリ32に保持したデコーダの処理結果を処理する。
この実施例では、デコードした画像データをエンコーダに入力するバッファメモリに、キャッシュメモリを利用したことにより、さらに全体のメモリ容量を低減することができる。
図37は、図21との対比により、本発明の実施例11のエンコーダ、デコーダの要部を示すブロック図である。ここでエンコーダは、実施例1について上述したと同様に、前処理部12、複数のマクロブロック処理エンジン11A〜11C、後処理部13が設けられる。また前処理部12が、それぞれ動きベクトルを検出する複数の動きベクトル検出用マクロブロック処理エンジン12AA〜12AC、それぞれ動きベクトル予測の処理を実行する複数の動きベクトル予測用マクロブロック処理エンジン12BA〜12BCとにより形成される。これに対してデコーダは、実施例1について上述したと同様に、前処理部42、複数のマクロブロック処理エンジン41A〜41C、後処理部43が設けられ、この後処理部43が複数の後処理用マクロブロック処理エンジン43A〜43Cで形成される。この実施例では、このエンコーダのマクロブロック処理エンジン12AA〜12AC、12BA〜12BCと、デコーダの後処理用マクロブロック処理エンジン43A〜43Cとでバッファメモリ31を共用して、H.264/AVCの符号化データを復号し、この復号化した画像データをMPEG−4でエンコードする。
またこれらエンコーダ及びデコーダにおいて、動きベクトル検出用マクロブロック処理エンジン12AA〜12AC、動きベクトル予測用マクロブロック処理エンジン12BA〜12BC、後処理用マクロブロック処理エンジン43A〜43Cは、それぞれ上述した実施例と同様に、各スライスの処理中マクロブロックの参照マクロブロックが、直前スライスの処理中マクロブロックの参照マクロブロックと一部重複するように、各マクロブロック処理のタイミングが設定されて担当のスライスを同時並列的に処理する。
さらにこの実施例では、図38〜図40に示すように、エンコーダとデコーダとを同期させて動作させると共に、復号化した処理結果をキャッシュメモリ32に保持するようにして、符号A〜Dで示すようにキャッシュメモリ32に保持した直後の続くマクロブロックの処理周期で、このキャッシュメモリ32に保持したデコーダの処理結果を順次続くエンコードの処理に渡す。
この実施例のように、デコードとエンコードとの連続する3つの処理に適用しても、実施例9と同様の効果を得ることができる。
なお上述の実施例においては、事前に設定された固定の機能ブロックで画像データを符号化、復号化する場合について述べたが、本発明はこれに限らず、処理する画像データのフォーマット、各処理の負荷等に応じて機能ブロックを動的に変更する場合にも広く適用することができる。なおこの場合、キャッシュメモリの容量が、1つのマクロブロックの参照マクロブロック数に値1を加算した加算値に、複数の演算処理部の数を乗算した後、一部重複する参照マクロブロックの数を減算した数のマクロブロック数に対応する容量となるように、各機能ブロックの演算処理部の数を設定することが必要になる。
また上述の実施例においては、イントラ予測等の処理を複数の演算処理手段で同時並列的に実行する場合について述べたが、本発明はこれに限らず、併せて画像データをプリフィルタ処理する場合、ポストフィルタ処理等にも広く適用することができる。また動きベクトル、マクロブロックタイプ等の伝送にも適用するようにしてもよい。
また上述の実施例においては、H.264/AVC等により画像データを符号化処理、復号化処理する場合について述べたが、本発明はこれに限らず、これら以外の種々の符号化方法で符号化処理、復号化処理する場合に広く適用することができる。
また上述の実施例においては、画像データを同時並列的に処理する複数の演算処理部を複数の中央処理ユニットで構成する場合について述べたが、本発明はこれに限らず、ソフトウェアにより画像データを同時並列的に処理する複数の演算処理部を構成する場合等にも広く適用することができる。なおこの場合、このソフトウェアのプログラムは、事前のインストールにより提供するようにしてもよく、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、さらにはインターネット等のネットワークを介して提供するようにしてもよい。
本発明は、例えばH.264/MPEG−4AVC(ITU-T Rec. H.264 ISO/IEC 14496-10 AVC )規格に従ってビデオデータを符号化、復号化する場合に適用することができる。
本発明の実施例1のエンコーダにおけるマクロブロック処理エンジンの処理順序の説明に供する略線図である。 本発明の実施例1の映像機器に適用されるエンコーダを示すブロック図である。 図2のエンコーダの各マクロブロック処理エンジンの処理手順を示すフローチャートである。 イントラ予測用の画像データに関するマクロブロック処理エンジンとバッファメモリとの関係を示すブロック図である。 マクロブロックのアドレスを示す図表である。 図4の構成の他の例を示すブロック図である。 図6の例とは異なる図4の構成の他の例を示すブロック図である。 図6及び図7の例とは異なる図4の構成の他の例を示すブロック図である。 MPEG−1、2のイントラ予測の処理の説明に供する略線図である。 図1の処理によるマクロブロックの処理を示す略線図である。 キャッシュメモリの容量の説明に供する略線図である。 本発明の実施例1の映像機器に適用されるデコーダを示すブロック図である。 図12のデコーダの各マクロブロック処理エンジンの処理手順を示すフローチャートである。 本発明の実施例2の映像機器におけるバッファメモリの構成を示すブロック図である。 本発明の実施例3の映像機器におけるマクロブロックの処理の説明に供する略線図である。 図15の構成におけるキャッシュメモリの容量の説明に供する略線図である。 本発明の実施例4の映像機器におけるマクロブロックの処理の説明に供する略線図である。 図17の構成におけるキャッシュメモリの容量の説明に供する略線図である。 本発明の実施例5の映像機器におけるマクロブロックの処理の説明に供する略線図である。 図19の構成におけるキャッシュメモリの容量の説明に供する略線図である。 本発明の実施例6のエンコーダの要部を示すブロック図である。 図21の構成におけるマクロブロックのアドレスを示す図表である。 図21の構成におけるマクロブロックの処理を示す略線図である。 図23の続きを示す略線図である。 図23及び図24の続きを示す略線図である。 図23〜図25の続きを示す略線図である。 本発明の実施例7のエンコーダ、デコーダの要部を示すブロック図である。 図27の構成におけるマクロブロックの処理を示す略線図である。 図28の続きを示す略線図である。 図28及び図29の続きを示す略線図である。 図28〜図30の続きを示す略線図である。 本発明の実施例8のエンコーダにおける前処理用マクロブロック処理エンジンの動作の説明に供する略線図である。 図32の続きを示す略線図である。 本発明の実施例9の映像機器におけるバッファメモリの構成を示すブロック図である。 本発明の実施例10のエンコーダにおける前処理用マクロブロック処理エンジンの動作の説明に供する略線図である。 図35の続きを示す略線図である。 本発明の実施例11のエンコーダ、デコーダの要部を示すブロック図である。 図37のエンコーダにおける前処理用マクロブロック処理エンジンの動作の説明に供する略線図である。 図38の続きを示す略線図である。 図39の続きを示す略線図である。 マクロブロックの説明に供する略線図である。 マクロブロックのアドレスの説明に供する略線図である。 MPEG−1、2のイントラ予測における参照マクロブロックの説明に供する略線図である。 MPEG−4のイントラ予測における参照マクロブロックの説明に供する略線図である。 MPEG−4の動きベクトル予測における参照マクロブロックの説明に供する略線図である。 H.264/AVCのイントラ予測における参照マクロブロックの説明に供する略線図である。 MPEG−4の動きベクトル予測における参照マクロブロックの説明に供する略線図である。 H264/AVCのデブロッキングフィルタの処理における参照マクロブロックの説明に供する略線図である。 キャッシングの説明に供する略線図である。
符号の説明
1……データ処理システム、2……キャッシュメモリ、3……メインメモリ、10……エンコーダ、11A〜11C、11AA〜11AC、11BA〜11BC、41A〜41C……マクロブロック処理エンジン、12……前処理部12……後処理部、31……バッファメモリ、32……キャッシュメモリ、33……メインメモリ、40……デコーダ、43A〜43C……後処理用マクロブロック処理エンジン、12A〜12C、12AA〜12AC、12BA〜12BC……前処理用マクロブロック処理エンジン

Claims (7)

  1. 画像データをそれぞれマクロブロック単位で符号化又は復号化する複数の演算処理部と、
    前記複数の演算処理部の処理に使用するデータを蓄積して保持するメインメモリと、
    前記メインメモリに保持されたデータの一部を保持する前記複数の演算処理部のキャッシュメモリとを備え、
    前記複数の演算処理部には、
    前記画像データの連続するスライスが順次循環的に割り当てられて、それぞれ処理対象のスライスが設定され、
    前記複数の演算処理部は、
    各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記キャッシュメモリに保持されたデータを処理して前記画像データを同時並列的に符号化又は復号化し、
    前記一定の関係が、
    現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、
    かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であ
    像データの処理装置。
  2. 前記キャッシュメモリの容量が、
    1つのマクロブロックの参照マクロブロック数に値1を加算した加算値に、前記複数の演算処理部の数を乗算した後、前記一部重複する参照マクロブロックの数を減算した数のマクロブロック数に対応する容量であ
    求項1に記載の画像データの処理装置。
  3. 前記キャッシュメモリの容量が、
    1つのマクロブロックの参照マクロブロック数に値1を加算した加算値に、前記複数の演算処理部の数を乗算した後、前記一部重複する参照マクロブロックの数を減算した数のマクロブロック数に対応する容量となるように、前記複数の演算処理部の数が設定され
    求項1に記載の画像データの処理装置。
  4. 前記複数の演算処理部による処理系統を複数系統有し、
    前記複数系統の前記複数の演算処理部で前記キャッシュメモリを共用し
    求項1に記載の画像データの処理装置。
  5. 画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法において、
    前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、
    前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、
    前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、
    前記同時並列処理ステップは、
    各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、
    前記一定の関係が、
    現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、
    かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であ
    像データの処理方法。
  6. 演算処理手段による実行により、画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法のプログラムにおいて、
    前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、
    前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、
    前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、
    前記同時並列処理ステップは、
    各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、
    前記一定の関係が、
    現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、
    かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であ
    像データの処理方法のプログラム。
  7. 演算処理手段による実行により、画像データをマクロブロック単位で符号化又は復号化する画像データの処理方法のプログラムを記録した記録媒体において、
    前記画像データの処理方法のプログラムは、
    前記符号化又は復号化に必要なデータをメインメモリに格納するメインメモリへのデータ格納のステップと、
    前記メインメモリに格納されたデータをキャッシュメモリに格納するキャッシュメモリへのデータ格納のステップと、
    前記画像データの連続するスライスが順次循環的に割り当てられた複数の処理対象を、それぞれ前記マクロブロック単位で、同時並列的に処理するように、前記キャッシュメモリに保持されたデータを用いて複数の演算処理手段で前記画像データを符号化又は復号化する同時並列処理ステップとを有し、
    前記同時並列処理ステップは、
    各スライスの処理が直前スライスの処理に対して一定の関係となるようにして、それぞれ前記処理対象のスライスのマクロブロックをラスタ走査の順序で処理する順序で、前記画像データを符号化又は復号化し、
    前記一定の関係が、
    現在のスライスと直前のスライスとを同時並列的に処理可能な関係であって、
    かつ前記現在のスライスで処理中のマクロブロックの参照マクロブロックと、前記直前スライスで処理中のマクロブロックの参照マクロブロックとが一部重複する関係となるように、前記現在のスライスで処理中のマクロブロックが、前記直前スライスで処理中のマクロブロックから一定数のマクロブロックだけラスタ走査開始端側となる関係であ
    画像データの処理方法のプログラムを記録した記録媒体。
JP2006122890A 2006-04-27 2006-04-27 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 Expired - Fee Related JP4182442B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006122890A JP4182442B2 (ja) 2006-04-27 2006-04-27 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
TW96113373A TW200818925A (en) 2006-04-27 2007-04-16 Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
EP20070251643 EP1850598A1 (en) 2006-04-27 2007-04-19 Video coding and decoding with partial parallel processing
US11/789,613 US8279942B2 (en) 2006-04-27 2007-04-25 Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
KR20070040814A KR20070105903A (ko) 2006-04-27 2007-04-26 화상 데이터의 처리 장치, 화상 데이터의 처리 방법, 화상데이터의 처리 방법의 프로그램, 및 화상 데이터의 처리방법의 프로그램을 기록한 기록 매체
CN2007100976447A CN101064848B (zh) 2006-04-27 2007-04-27 图像数据处理装置与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006122890A JP4182442B2 (ja) 2006-04-27 2006-04-27 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2007295423A JP2007295423A (ja) 2007-11-08
JP4182442B2 true JP4182442B2 (ja) 2008-11-19

Family

ID=38375634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006122890A Expired - Fee Related JP4182442B2 (ja) 2006-04-27 2006-04-27 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体

Country Status (6)

Country Link
US (1) US8279942B2 (ja)
EP (1) EP1850598A1 (ja)
JP (1) JP4182442B2 (ja)
KR (1) KR20070105903A (ja)
CN (1) CN101064848B (ja)
TW (1) TW200818925A (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8634470B2 (en) * 2007-07-24 2014-01-21 Samsung Electronics Co., Ltd. Multimedia decoding method and multimedia decoding apparatus based on multi-core processor
JP2009060444A (ja) * 2007-08-31 2009-03-19 Canon Inc 画像復号装置、画像復号方法及び記録装置
WO2009085788A1 (en) * 2007-12-31 2009-07-09 Rmi Corporation System, method and device for processing macroblock video data
US8923384B2 (en) * 2007-12-31 2014-12-30 Netlogic Microsystems, Inc. System, method and device for processing macroblock video data
US8462841B2 (en) * 2007-12-31 2013-06-11 Netlogic Microsystems, Inc. System, method and device to encode and decode video data having multiple video data formats
CN101222636B (zh) * 2008-01-24 2011-05-11 杭州华三通信技术有限公司 图像编解码方法和图像编解码装置
JP4314315B1 (ja) * 2008-03-31 2009-08-12 株式会社東芝 情報処理装置および復号制御方法
US8787693B2 (en) * 2008-04-15 2014-07-22 Orange Prediction of images by prior determination of a family of reference pixels, coding and decoding using such a prediction
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
CN102957914B (zh) 2008-05-23 2016-01-06 松下知识产权经营株式会社 图像解码装置、图像解码方法、图像编码装置、以及图像编码方法
US8711154B2 (en) * 2008-06-09 2014-04-29 Freescale Semiconductor, Inc. System and method for parallel video processing in multicore devices
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
CN101998141B (zh) * 2008-06-19 2013-06-05 华为技术有限公司 视频数据的打包、编解码方法及装置及系统
US8160389B2 (en) * 2008-07-24 2012-04-17 Microsoft Corporation Method for overlapping visual slices
JP5141425B2 (ja) * 2008-07-29 2013-02-13 富士通株式会社 データ処理装置およびデータ処理プログラム
US20100053181A1 (en) * 2008-08-31 2010-03-04 Raza Microelectronics, Inc. Method and device of processing video
US8331446B2 (en) * 2008-08-31 2012-12-11 Netlogic Microsystems, Inc. Method and device for reordering video information
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8948255B2 (en) * 2008-09-29 2015-02-03 Panasonic Intellectual Property Management Co., Ltd. Moving picture coding method for quantizing a plurality of pictures using a quantization step and a small quantization step having a size smaller than a size of the quantization step
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
US8855191B2 (en) * 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8737475B2 (en) 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
JP5004986B2 (ja) * 2009-03-19 2012-08-22 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
WO2010113227A1 (ja) * 2009-03-31 2010-10-07 パナソニック株式会社 画像復号装置
JP5343703B2 (ja) * 2009-05-22 2013-11-13 ソニー株式会社 復号処理装置、復号処理方法、およびプログラム
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
WO2010143226A1 (en) * 2009-06-09 2010-12-16 Thomson Licensing Decoding apparatus, decoding method, and editing apparatus
KR101292668B1 (ko) * 2009-10-08 2013-08-02 한국전자통신연구원 멀티프로세서기반의 영상 복호화 장치 및 방법
CN102714717A (zh) * 2009-10-15 2012-10-03 豪威科技有限公司 低成本的视频编码器
KR20110055022A (ko) * 2009-11-19 2011-05-25 한국전자통신연구원 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법
TWI401614B (zh) * 2010-02-05 2013-07-11 Pixart Imaging Inc 資料轉換方法及資料轉換裝置
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
KR101698797B1 (ko) 2010-07-27 2017-01-23 삼성전자주식회사 영상 데이터를 분할하여 부호화 및 복호화를 병렬 처리하는 장치 및 상기 장치의 동작 방법
US8594177B2 (en) * 2010-08-31 2013-11-26 Arm Limited Reducing reference frame data store bandwidth requirements in video decoders
CA2722993A1 (fr) * 2010-12-01 2012-06-01 Ecole De Technologie Superieure Systeme d'ecodage video parallele multitrames et multitranches avec encodage simultane de trames predites
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
CN102148988B (zh) * 2011-04-20 2013-04-17 上海交通大学 基于fpga的高速jpeg图像处理系统及其处理方法
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
KR20130043322A (ko) * 2011-10-20 2013-04-30 삼성전자주식회사 디스플레이 컨트롤러 및 이를 포함하는 디스플레이 장치
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
EP2850830B1 (en) 2012-05-14 2023-08-30 V-Nova International Ltd Encoding and reconstruction of residual data based on support information
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
CN102752600B (zh) * 2012-07-13 2015-02-11 航天恒星科技有限公司 一种降低图像传输系统时延的实现方法
US20140112589A1 (en) * 2012-10-22 2014-04-24 Gurulogic Microsystems Oy Encoder, decoder and method
WO2014087860A1 (ja) * 2012-12-06 2014-06-12 ソニー株式会社 復号装置、復号方法、およびプログラム
US20140169481A1 (en) * 2012-12-19 2014-06-19 Ati Technologies Ulc Scalable high throughput video encoder
RU2013109063A (ru) * 2013-02-28 2014-09-10 ЭлЭсАй Корпорейшн Процессор изображения с многоканальным интерфейсом между уровнем предварительной обработки и одним или несколькими более высокими уровнями
US20150023410A1 (en) * 2013-07-16 2015-01-22 Arcsoft Hangzhou Co., Ltd. Method for simultaneously coding quantized transform coefficients of subgroups of frame
CN104202602B (zh) * 2014-08-18 2018-03-02 三星电子(中国)研发中心 执行视频编码的装置及方法
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
GB2545398B (en) * 2015-12-08 2020-02-19 Advanced Risc Mach Ltd Advance loading of memory page access data in data processing systems
CN112333467B (zh) * 2020-11-27 2023-03-21 中国船舶工业系统工程研究院 一种用于检测视频的关键帧的方法、系统和介质
CN112738385A (zh) * 2021-03-30 2021-04-30 北京芯海视界三维科技有限公司 一种传感器及拍摄模组
CN113259675B (zh) * 2021-05-06 2021-10-01 北京中科大洋科技发展股份有限公司 一种超高清晰度视频图像并行处理方法
US12149720B2 (en) 2022-06-10 2024-11-19 Qualcomm Incorporated Storing misaligned reference pixel tiles

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03167984A (ja) * 1989-11-28 1991-07-19 Mitsubishi Electric Corp 画像情報伝送装置
JP3027605B2 (ja) * 1990-11-30 2000-04-04 株式会社リコー 画像処理装置
BE1007252A3 (nl) * 1993-06-29 1995-05-02 Philips Electronics Nv Bewegingscompensator.
FR2719398B1 (fr) * 1994-04-27 1996-07-19 Sgs Thomson Microelectronics Dispositif et procédé d'adressage d'une mémoire cache d'un circuit de compression d'images mobiles.
US6301299B1 (en) 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
JP3014031B2 (ja) * 1995-07-17 2000-02-28 日本電気株式会社 動画圧縮装置
US6163576A (en) * 1998-04-13 2000-12-19 Lsi Logic Corporation Video encoder having reduced memory bandwidth requirements
EP1061747A1 (en) * 1999-05-25 2000-12-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
EP1187489B1 (en) * 2000-04-14 2007-08-29 Sony Corporation Decoder and decoding method, recorded medium, and program
GB2378345B (en) * 2001-07-09 2004-03-03 Samsung Electronics Co Ltd Motion estimation apparatus and method for scanning a reference macroblock window in a search area
KR100460950B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
US7813431B2 (en) * 2002-05-20 2010-10-12 Broadcom Corporation System, method, and apparatus for decoding flexibility ordered macroblocks
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
JP4195969B2 (ja) * 2002-08-05 2008-12-17 パナソニック株式会社 動きベクトル検出装置
EP1627533B1 (en) * 2003-05-02 2006-12-27 Koninklijke Philips Electronics N.V. Biased motion vector interpolation for reduced video artifacts
JP4577048B2 (ja) * 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
US7852343B2 (en) * 2004-04-15 2010-12-14 Panasonic Corporation Burst memory access method to rectangular area
EP1741296A2 (en) * 2004-04-22 2007-01-10 Koninklijke Philips Electronics N.V. Data processing apparatus that provides parallel access to multi-dimensional array of data values
KR100668302B1 (ko) 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법
JP4476065B2 (ja) * 2004-07-29 2010-06-09 富士通マイクロエレクトロニクス株式会社 画像処理システム
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
US7630565B2 (en) * 2004-11-30 2009-12-08 Lsi Corporation Parallel video encoder with whole picture deblocking and/or whole picture compressed as a single slice
US20060215754A1 (en) * 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
US20070086528A1 (en) * 2005-10-18 2007-04-19 Mauchly J W Video encoder with multiple processors
JP4062711B2 (ja) * 2006-04-17 2008-03-19 俊宏 南 動画像符号化装置

Also Published As

Publication number Publication date
EP1850598A1 (en) 2007-10-31
CN101064848A (zh) 2007-10-31
TW200818925A (en) 2008-04-16
US20070253491A1 (en) 2007-11-01
KR20070105903A (ko) 2007-10-31
JP2007295423A (ja) 2007-11-08
US8279942B2 (en) 2012-10-02
CN101064848B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
JP4182442B2 (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
CN103118253B (zh) 运动图像编码装置以及运动图像译码装置
CN101107861B (zh) 重叠平滑与环路内解块之分段处理
EP2015581A1 (en) Dynamic image processing method, program for the dynamic image processing method, recording medium containing the program for the dynamic image processing method, dynamic image processing device
US20170188033A1 (en) Method and Apparatus of Bandwidth Estimation and Reduction for Video Coding
JP2007251865A (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
CN102547296A (zh) 移动估计加速电路、移动估计方法及环路滤波加速电路
EP2775718A1 (en) Method, device, and program for coding and decoding of images
US20130028332A1 (en) Method and device for parallel decoding of scalable bitstream elements
CN101707716B (zh) 视频编码器和编码方法
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP2009170992A (ja) 画像処理装置およびその方法、並びにプログラム
CN102769753A (zh) H264编码器及编码方法
JP2023018110A (ja) ビデオサンプルの変換されたブロックを符号化および復号する方法、装置、およびシステム
JP2007325119A (ja) 画像処理装置及び画像処理方法
CN101513067A (zh) 用于处理视频数据的设备和方法
Jiang et al. Highly paralleled low-cost embedded HEVC video encoder on TI KeyStone multicore DSP
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
JP2011061320A (ja) 動き補償装置、符号化装置、復号装置、これらにおける処理方法およびプログラム
US8249373B2 (en) Image data decoding apparatus and method for decoding image data
JP2009272948A (ja) 動画像復号化装置及び動画像復号化方法
Jo et al. Flexible multi-core platform for a multiple-format video decoder
KR101439848B1 (ko) 움직임 보상 방법 및 장치
JP6825699B2 (ja) 動画像処理装置、動画像処理方法、及び、動画像処理プログラム
US20160165235A1 (en) Method of encoding image data, encoder using the method, and application processor including the encoder

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

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: 20080807

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: 20080820

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees