JP2008042571A - 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路 - Google Patents

動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路 Download PDF

Info

Publication number
JP2008042571A
JP2008042571A JP2006214869A JP2006214869A JP2008042571A JP 2008042571 A JP2008042571 A JP 2008042571A JP 2006214869 A JP2006214869 A JP 2006214869A JP 2006214869 A JP2006214869 A JP 2006214869A JP 2008042571 A JP2008042571 A JP 2008042571A
Authority
JP
Japan
Prior art keywords
moving image
processing unit
image processing
macroblocks
macroblock
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
JP2006214869A
Other languages
English (en)
Other versions
JP4789200B2 (ja
Inventor
Kenichi Iwata
憲一 岩田
Seiji Mochizuki
誠二 望月
Tetsuya Shibayama
哲也 柴山
Fumiyuki Izumihara
史幸 泉原
Koji Ueda
浩司 植田
Yukifumi Kobayashi
幸史 小林
Keimei Nakada
啓明 中田
Koji Hosoki
浩二 細木
Masakazu Ehama
真和 江浜
Takashi Yuasa
隆史 湯浅
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006214869A priority Critical patent/JP4789200B2/ja
Priority to US11/834,449 priority patent/US8223838B2/en
Publication of JP2008042571A publication Critical patent/JP2008042571A/ja
Application granted granted Critical
Publication of JP4789200B2 publication Critical patent/JP4789200B2/ja
Priority to US13/533,570 priority patent/US20120263233A1/en
Active 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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)

Abstract

【課題】H.264/AVCのイントラ・フレーム予測に際して、複数の動画像並列処理ユニットによる並列処理を容易とすること。
【解決手段】H.264/AVCに準拠した動画符号化と動画復号とを行う機能ブロックFBは、2つの動画像処理ユニット2_0、2_1と、1つのピクチャーの1つの行に配列された第1の複数のマクロブロックMB600…MB611の第1動画像処理ユニット2_0による処理結果と関係するデータを格納するメモリユニットLMとを含む。LMの格納データから複数の近傍マクロブロックMB606、MB607、MB608の処理結果に関係するデータが第2動画像処理ユニット2_1へ転送される。第2動画像処理ユニット2_1はこの転送データを使用して、次の行に配列された第2の複数のマクロブロックMB700…MB711の1つのマクロブロックMB707の処理を行う。
【選択図】図1

Description

本発明は、ITU−Tの勧告H.264/AVCに準拠した動画符号化と動画復号との少なくともいずれかを実行する機能モジュールおよびそれを含む半導体集積回路に係わり、特にH.264/AVCのイントラ・フレーム予測での動画像並列処理を容易とするのに好適な技術に関する。
動画像符号化方式としては、現在MPEG(Moving Picture Expert Group)による動画像符号化方式が世界的に普及しているが、ITU−T(国際電気通信連合電気通信標準化部門;International Telecommunication Union、 Telecommunication Standardization Sector)の勧告H.264として承認されるとともにISO/IEC(International Organization for Standardization/ International Electrotechnical Commission)によって国際基準14496−10(MPEG part 10) Advanced Video Coding(AVC)として承認されたH。246/AVCが最新の国際標準のビデオ符号化である。
下記非特許文献1には、勧告H。246/AVCに準拠したビデオ符号化技術が記載されている。勧告H。246/AVCによるビデオコーディングは、ビデオコンテキストを有効に表現するように設計されたビデオコーディング層(Video Coding Layer)と、ビデオのVCL表現をフォーマットするとともに種々の転送層や記憶媒体による転送のために適切な方法でのヘッダ情報を与えるネットワーク抽象層(Network Abstraction Layer)とから構成されている。
また、下記非特許文献2には、H。246/AVCによるビデオコーディング層(VCL)は、ブロックベースドハイブリッドビデオコーディングと呼ばれるアプローチに従っていると記載している。VCL設計は、マクロブロック、スライス、スライスブロックから構成されており、各ピクチャーは固定サイズの複数のマクロブロックに分割され、各マクロブロックは輝度成分で16×16サンプルの四角形ピクチャー領域とそれに対応する2つの色差成分のそれぞれに四角形サンプル領域とを含んでいる。1つのピクチャーは1つまたはそれ以上のスライスを含むことができ、各スライスはアクティブシーケンスとピクチャーパラメータセットとを与えると言う意味で自己包含的であり、スライス表現は基本的には他のスライスからの情報を使用することなくデコードされることができるので、シンタックスエレメントはビットストリームとピクチャーの領域のサンプルの値とから解析できる。しかしながら、より完全なデコーディングのために、スライス境界にわたってデブロッキングフィルタを適応するためには、他のスライスからのいくつかの情報が必要となる。また。各スライスはピクチャーの他のスライスと独立にエンコードされデコードされるので、スライスは並列処理に使用できることも、下記非特許文献2に記載されている。
一方で、動画像符号を扱うシステムは、デジタルHDTV(High Definition TeleVision)放送受信機やHDTV信号を撮影可能なデジタルビデオカメラなど、画像サイズは大画面化してきている。これらの信号を処理する画像符号化装置や画像復号装置には、ますます高い処理性能が求められている。
Thomas Wiegand et al、"Overview of the H.264/AVC Video Coding Standard"、 IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY、 JULY 2003、 PP.1−19. GARY J。 SULLIVAN et al、"Video Compression−From Concept to the H.264/AVC Standard"、 PROCEEDING OF THE IEEE、 VOL。93、 No。1、 JANUARY 2005、PP.18−31.
本発明に先立って本発明者等は、上記H.264/AVCに準拠した動画像符号化と復号とを実行する低消費電力の機能ブロックの開発に従事した。
この開発に際して、HDTVの大画面の動画像符号化と復号とを動作周波数を上げることなく高処理能力で処理するために、動画像の並列処理を採用すると言う基本設計がまず考えられた。これは、上記非特許文献2での「H.264/AVCの各スライスはピクチャーの他のスライスと独立にエンコードされてデコードされるので、スライスは並列処理に使用できる」との記載と、基本的に一致する。
しかし、本発明者等は上記H.264/AVCに準拠した動画像符号化と復号とを実行する機能ブロックの並列処理化を更に詳細に検討したところ、次のような問題と改良設計の方向とが明らかとなった。
上述の機能ブロックを構成する複数の動画像並列処理ユニットが並列処理するデータとしては、スライスは輝度成分で16×16サンプルの複数のマクロブロックを含んでいるので、1つのスライスは大き過ぎる。一方、各スライスはピクチャーの左上から右下へのラスタースキャンの順序で処理される複数のマクロブロックの1つのシーケンスであるので、上述の複数の動画像並列処理ユニットが並列処理するデータ単位として、スライスよりもデータ量の小さなマクロブロックとする。また、各動画像並列処理ユニットは、複数のマクロブロックの1つのシーケンスをシーケンシャルに処理する。
しかし、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理を行うには、上記H.264/AVCのビデオコーディング層(Video Coding Layer)を構成するイントラ・フレーム予測に対応することが必要となる。1つのピクチャー内部でのビデオコーディングの1つの技術要素であるイントラ・フレーム予測では、輝度成分で16×16サンプルの四角形ピクチャー領域を持つマクロブロックは4×4サンプルのブロック16個に分割される場合がある。
図2は、H.264/AVCに準拠した1つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。同図に示すように、1つのピクチャーは例えば複数のスライスSlice#0、Slice#1、Slice#2に分割され、1つのスライスSlice#0はMB000〜MB207の32個のマクロブロックに分割されている。1つのピクチャーの全てのマクロブロックMB000〜MB811のそれぞれは、輝度成分で16×16サンプルの四角形ピクチャー領域とそれに対応する2つの色差成分のそれぞれに8×8サンプル領域とを含んでいる。
図3は、H.264/AVCに準拠したイントラ・フレーム予測で4×4サンプルの1つのブロックが空間的に近傍のサンプルから予測される予測モードPMの様子を示す図である。同図に示すように、記号aから記号pまでの4×4ブロックの16サンプルは、記号Aから記号Qとラベルされた近傍ブロック中で以前に復号されたサンプルを使用して予測することができる。更に、図3に示すように予測モードPMは、9つの4×4予測モードを含んでいる。モード0(垂直予測)では4×4ブロックの上のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード1(水平予測)では4×4ブロックの左のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード2(DC予測)では4×4ブロックの上のブロックと左のブロックのうちの有効画素の平均値から予測され、モード3(斜め左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード4(斜め右下予測)では斜め左上のサンプルから矢印に示すように予測され、モード5(垂直右下予測)では斜め左上のサンプルから矢印に示すように予測され、モード6(水平右下予測)では斜め左上のサンプルから矢印に示すように予測され、モード7(垂直左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード8(水平右上予測)では斜め左下のサンプルから矢印に示すように予測される。
図3に示したH.264/AVCに準拠したイントラ・フレーム予測を上述したマクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理で対応するためには、複数の動画像並列処理ユニットの間において近傍ブロックで以前に復号されたサンプルの高速データ転送が必要なことが、本発明者等の検討により明らかとされた。
図2に示すように、例えば機能ブロックを構成する第1動画像処理ユニットが1つのピクチャーの0番目の行、2番目の行、4番目の行、…の偶数行に配列されたマクロブロックMB000…、MB200…、MB400をシーケンシャルに処理する一方、第2動画像処理ユニットが1つのピクチャーの1番目の行、3番目の行、5番目の行、…の奇数行に配列されたマクロブロックMB100…、MB300…、MB500をシーケンシャルに処理することを想定する。すると、図2の右下に示すように第2動画像処理ユニットが7行目に配列されたマクロブロックMB707の処理する場合に、第1動画像処理ユニットが処理したデータを必要とする。マクロブロックMB707の左上の4×4ブロックの16サンプルと右上の4×4ブロックの16サンプルとをイントラ・フレーム予測する場合を例に示す。また、この時なデータのコピーが必要なマクロブロックMB606、MB607、MB608が、いずれもイントラ4×4予測されたマクロブロックであると仮定する。
まず、マクロブロックMB707の左上4×4ブロックが図3のモード4(斜め右下予測)で予測される場合は、第1動画像処理ユニットが6行目に配列されたマクロブロックMB606の右下の1サンプルのデータと、マクロブロックMB607の左下の1×4サンプルのデータと、第2動画像処理ユニットが7行目に配列されたマクロブロックMB706の右上の4×4ブロックの処理で生成された4×1サンプルのデータとを、第2動画像処理ユニットへ転送する必要がある。また、マクロブロックMB707の右上4×4ブロックが図3のモード3(斜め左下予測)で予測される場合は、第1動画像処理ユニットが6行目に配列されたマクロブロックMB607の右下の1×4サンプルのデータと6行目に配列されたマクロブロックMB608の左下の1×4サンプルのデータとを、第2動画像処理ユニットによる7行目に配列されたマクロブロックMB707の右上の4×4ブロックの処理時に第2動画像処理ユニットへ転送コピーする必要がある。マクロブロックMB706からのデータコピーは、第2動画像処理ユニットの内部にデータコピー用のレジスタ等のメモリを配置することにより容易に実現することができる。しかし、マクロブロックMB606、MB607、MB608からのデータのコピーは、第1動画像処理ユニットが6行目に配列された3つのマクロブロックMB606、MB607、MB608中の3個の4×4ブロックの処理で生成された3個のデータを第1動画像処理ユニット内部に配置したデータコピー用のレジスタ等のメモリに格納して、その後に7行目のマクロブロックMB707のイントラ・フレーム予測の処理を行う第2動画像処理へ高速データ転送するという複雑な制御が必要となる。すなわち第2動画像処理ユニットによるマクロブロックMB707のイントラ・フレーム予測の処理開始時点で、第1動画像処理ユニットによるマクロブロックMB608の復号処理およびこの復号処理結果の第2動画像処理ユニットへのデータ転送が終了している必要がある。
また、今度は、第1動画像処理ユニットがマクロブロックMB807のイントラ・フレーム予測処理の開始時点で、第2動画像処理ユニットが処理したマクロブロックMB706、MB707、MB708の復号処理結果のデータを必要とする。
以上説明したように、H.264/AVCでは1つのピクチャー中の1つのスイライス中の下の行に配列されたマクロブロックは同一のスライス中に上の行に配列された近傍マクロブロックの処理結果に依存している。
従って、本発明の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることにある。
一方、水平方向に最大で1920個のピクセルと垂直方向に最大で1080本の走査線との大画面を持つHDTVでは、良く知られているように2つのスキャンモードを有する。1つ目は交互走査線によるインターレース・スキャンであり、2つ目は連続走査線によるプログレッシブ・スキャンである。
H.264/AVCのビデオコーディング層(Video Coding Layer)の符号化ビデオシーケンスも、インタレース・スキャン信号に対応し、フィールド・ピクチャ、フレーム・ピクチャ、マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャを有している。
図6はH.264/AVCのVCLの符号化ビデオシーケンスで規定されたマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャPFとフィールド・ピクチャIFとを示す図である。同図に示すように、フィールド・ピクチャIFでは、偶数番号の行を含むトップフィールドTFと奇数番号の行を含むボトムフィールドBFが別個に符号化されている。
図7はH.264/AVCのVCLの符号化ビデオシーケンスがマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャPFの場合に複数のマクロブロックを並列動作する第1動画像処理ユニットCodec_EL_0と第2動画像処理ユニットCodec_EL_1とが処理する様子を示す図である。マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャPFでは偶数番号の行のマクロブロックのシーケンスと奇数番号の行のマクロブロックのシーケンスとが水平方向で同一の列の偶数番号の行の1つのマクロブロックMB000と奇数番号の行の1つのマクロブロックMB100とからなるマクロブロックペアMBPとして符号化されている。従って、2つの動画像処理ユニットCodec_EL_0、Codec_EL_1が、マクロブロックペアMBPをデータ単位として並列処理するのが効率的となる。このマクロブロックペアMBPをデータ単位とした並列処理でのイントラ・フレーム予測の方法は図7の左上の矢印のようになる。
一方、図11と図12とは、H.264/AVCのVCLの符号化ビデオシーケンスがフィールド・ピクチャIFの場合に偶数番号の行のみを含むトップフィールドTFの時間帯と奇数番号の行のみを含むボトムフィールドBFの時間帯とで複数のマクロブロックを並列動作する第1動画像処理ユニットCodec_EL_0と第2動画像処理ユニットCodec_EL_1とが処理する様子を示す図である。いずれの場合にも、2つの動画像処理ユニットCodec_EL_0、Codec_EL_1が並列処理するデータ単位は図7のマクロブロックペアMBPではなく1つのマクロブロックMBとなる。このマクロブロックMBをデータ単位とした並列処理でのイントラ・フレーム予測の方法は図11および図12の左上の矢印のようになる。これは図2に示すプログレッシブシーケンスと同様の方法になる。
従って、H.264に準拠する動画符号化と復号とを実行する機能ブロックは、並列処理での単位が互いに異なるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとのいずれにも対応できることが必要とされる。
従って、本発明の他の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとのいずれにも対応可能とすることにある。
また、本発明の他の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることができるコアを含む半導体集積回路を提供することにある。
本発明の前記並びにその他の目的と新規な特徴とは、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。
すなわち、本発明のひとつの形態によるH.264/AVCに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロック(FB)は、並列動作可能な少なくとも第1動画像処理ユニット(Codec_EL_0;2_0)と第2動画像処理ユニット(Codec_EL_1;2_1)とを具備するものである(図1参照)。
前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)とが前記並列動作するに際して、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)とが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものである(図2参照)。
前記第1動画像処理ユニット(Codec_EL_0)は1つのピクチャーの1つの行に配列された第1の複数のマクロブロック(MB600…MB606、MB607、MB608…MB611)をシーケンシャルに処理して、前記第2動画像処理ユニット(Codec_EL_1)は前記1つのピクチャーの前記1つの行と異なる他の行に配列された第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)をシーケンシャルに処理するものである(図2、図4参照)。
前記第2動画像処理ユニット(Codec_EL_1)による前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の1つのマクロブロック(MB707)の処理でのイントラ・フレーム予測に際して、前記第1の複数のマクロブロック(MB600…MB606、MB607、MB608…MB611)のうちから前記1つのマクロブロック(MB707)の近傍に位置する複数の近傍マクロブロック(MB606、MB607、MB608)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータが使用される(図2、図4参照)。
H.264/AVCに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロック(FB)は、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)とに接続され、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロック(MB600…MB606、MB607、MB608…MB611)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータを格納するメモリユニット(LM)を更に具備する(図1参照)。
前記メモリユニット(LM)に格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロック(MB606、MB607、MB608)の前記第1動画像処理ユニット(Codec_EL_0)による前記処理結果に関係する前記データが、前記第2動画像処理ユニット(Codec_EL_1)による前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の前記1つのマクロブロック(MB707)の前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニット(LM)から前記第2動画像処理ユニット(Codec_EL_1)へ転送される(図4参照)。
本発明の前記ひとつの形態による手段によれば、下記の動作により当初の目的を達成することができる。
前記第2動画像処理ユニット(Codec_EL_1)による前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の前記1つのマクロブロック(MB707)の処理でのイントラ・フレーム予測の処理開始に先立って、少なくとも前記1つのマクロブロック(MB707)の近傍に位置する前記複数の近傍マクロブロック(MB606、MB607、MB608)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータが、前記メモリユニット(LM)から前記第2動画像処理ユニット(Codec_EL_1)へ既に転送されている。その結果、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)とによる並列処理が容易となる。
本発明のひとつの好適な形態による機能ブロック(FB)では、前記第2動画像処理ユニット(Codec_EL_1)による前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の前記1つのマクロブロック(MB707)の前記処理での前記イントラ・フレーム予測の処理開始に先立って前記メモリユニット(LM)から転送された前記複数の近傍マクロブロック(MB606、MB607、MB608)の前記第1動画像処理ユニット(Codec_EL_0)による前記処理結果に関係する前記データの中から前記1つのマクロブロック(MB707)の前記イントラフレーム予測で使用される予測モード(例えば、図3のモード0)に従って前記複数の近傍マクロブロック(MB606、MB607、MB608)の1つのマクロブロック(例えば、MB607)の処理結果が選択され、当該選択された処理結果を使用して前記第2動画像処理ユニット(Codec_EL_1)は前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の前記1つのマクロブロック(例えば、MB707)の前記処理を実行するものである。
本発明の前記ひとつの好適な形態による手段によれば、前記第2動画像処理ユニット(Codec_EL_1)が前記1つのマクロブロック(MB707)の前記イントラフレーム予測を行う場合に、前記メモリユニットから前記第2動画像処理ユニット(Codec_EL_1)へ既に転送されたデータの中から予測モードに従って直ちに必要な処理結果を選択して、その選択した処理結果を使用して前記第2動画像処理ユニット(Codec_EL_1)は直ちに前記1つのマクロブロック(例えば、MB707)の処理を実行することができる。このように複数の動画像並列処理ユニットの間のデータ転送を行うことで、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測を高速で実現することができる。
本発明のひとつの具体的な形態による機能ブロック(FB)では、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)のそれぞれは、マクロブロック(MB606、MB706)の処理結果と関係するデータを格納するメモリ(3_0_Reg、3_1_Reg)を含む。前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)のそれぞれは、前記マクロブロック(MB606、MB706)の直後の後続マクロブロック(MB607、MB707)の処理でのイントラ・フレーム予測に前記メモリ(3_0_Reg、3_1_Reg)に格納された前記マクロブロック(MB606、MB706)の前記処理結果と関係する前記データを使用する(図1、図2参照)。
本発明の前記ひとつの具体的な形態による手段によれば、前記イントラ・フレーム予測で使用される予測モードが図3のモード1(水平予測)であれば、前記後続マクロブロック(MB607、MB707)の処理においてイントラ・フレーム予測に前記メモリ(3_0_Reg、3_1_Reg)に格納された前記マクロブロック(MB606、MB706)の前記処理結果と関係する前記データを使用することができる。
本発明のひとつの具体的な形態による機能ブロック(FB)では、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)のパイプライン接続により構成されている。前記第2動画像処理ユニット(Codec_EL_1)のパイプライン動作の開始タイミングは、前記第1動画像処理ユニット(Codec_EL_0)のパイプライン動作の開始タイミングよりもパイプライン動作の2つのタイムスロット(2TS)またはそれ以上遅延している(図4参照)。
本発明の前記ひとつの具体的な形態による手段によれば、パイプライン動作の1つ目のタイムスロット(TS)で前記第1動画像処理ユニット(Codec_EL_0)による前記第1の複数のマクロブロック(MB600…MB606、MB607、MB608…MB611)の1つのマクロブロック(MB608)の処理が実行されて、処理結果と関係するデータが前記メモリユニット(LM)に格納される。また、パイプライン動作の2つ目のタイムスロット(TS)で、前記メモリユニット(LM)から前記処理結果と関係する前記データを前記第2動画像処理ユニット(Codec_EL_1)へ転送することが可能である。その結果、パイプライン動作の3つ目のタイムスロット(TS)で前記第2動画像処理ユニット(Codec_EL_1)による前記第2の複数のマクロブロック(MB700…MB706、MB707、MB708…MB711)の前記1つのマクロブロック(MB707)の処理でのイントラ・フレーム予測に際して、前記1つのマクロブロック(MB707)の近傍に位置する前記複数の近傍マクロブロック(MB606、MB607、MB608)から選択された1つの近傍マクロブロック(MB608)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータを使用することができる。
更に本発明の前記ひとつの具体的な形態による手段によれば、フィールド・ピクチャのトップフィールドとボトムフィールドとのいずれにおいてもパイプライン動作の1つ目のタイムスロット(TS)で前記第1動画像処理ユニット(Codec_EL_0)による0行目に配列された前記第1の複数のマクロブロック(MB000、MB001、MB002…MB006、MB007、MB008…MB011)の1つのマクロブロック(MB002)の処理が実行されて、処理結果と関係するデータが前記メモリユニット(LM)に格納される。また、パイプライン動作の2つ目のタイムスロットTSで、前記メモリユニット(LM)から前記処理結果と関係する前記データを前記第2動画像処理ユニット(Codec_EL_1)へ転送することが可能である。その結果、パイプライン動作の3つ目のタイムスロットTSで前記第2動画像処理ユニット(Codec_EL_1)による1行目に配列された前記第2の複数のマクロブロック(MB100、MB101、MB102…MB106、MB107、MB108…MB111)の前記1つのマクロブロック(MB101)の処理でのイントラ・フレーム予測に際して、前記1つのマクロブロック(MB101)の近傍に位置する前記複数の近傍マクロブロック(MB000、MB001、MB002)から選択された1つの近傍マクロブロック(MB002)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータを使用することができる。このようにして、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応することが可能となる(図13参照)。
本発明のひとつの具体的な形態による機能ブロック(FB)では、前記第1動画像処理ユニット(Codec_EL_0)は1つのピクチャーの1つの行に配列された第1の複数のマクロブロック(MB000…MB006、MB007、MB008…MB011)と前記1つの行の直後の第1後続行に配列された第2の複数のマクロブロック(MB100…MB106、MB107、MB108…MB111)との同一列の一対のマクロブロックペア(MBP)をデータ単位として処理する一方、前記第2動画像処理ユニット(Codec_EL_1)は前記第1後続行の直後の第2後続行に配列された第3の複数のマクロブロック(MB200…MB206、MB207、MB208…MB211)と前記第2後続行の直後の第3後続行に配列された第4の複数のマクロブロック(MB300…MB306、MB307、MB308…MB311)との同一列の一対のマクロブロックペア(MBP)をデータ単位として処理する。前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)のパイプライン接続とにより構成されている。前記第2動画像処理ユニット(Codec_EL_1)のパイプライン動作の開始タイミングは、前記第1動画像処理ユニット(Codec_EL_0)のパイプライン動作の開始タイミングよりもパイプライン動作の4つのタイムスロット(4TS)またはそれ以上遅延している(図10参照)。
本発明の前記ひとつの具体的な形態による手段によれば、パイプライン動作の1つ目のタイムスロット(TS)で1つのピクチャーの1つの行に配列された第1の複数のマクロブロック(MB000…MB006、MB007、MB008…MB011)の前記第1動画像処理ユニット(Codec_EL_0)による1つのマクロブロック(MB000)の処理が実行されて、パイプライン動作の2つ目のタイムスロット(TS)で第1後続行に配列された第2の複数のマクロブロック(MB100…MB106、MB107、MB108…MB111)の前記第1動画像処理ユニット(Codec_EL_0)による1つのマクロブロック(MB100)の処理が実行されて、2つのマクロブロック(MB000、MB100)からなる1つのマクロブロックペア(MBP)の処理が完了する。パイプライン動作の3つ目のタイムスロット(TS)で1つの行に配列された第1の複数のマクロブロック(MB000…MB006、MB007、MB008…MB011)の前記第1動画像処理ユニット(Codec_EL_0)による1つの後続マクロブロック(MB001)の処理が実行されて、パイプライン動作の4つ目のタイムスロット(TS)で第1後続行に配列された第2の複数のマクロブロック(MB100…MB106、MB107、MB108…MB111)の前記第1動画像処理ユニット(Codec_EL_0)による1つの後続マクロブロック(MB101)の処理が実行されて、2つのマクロブロック(MB001、MB101)からなる1つのマクロブロックペア(MBP)の処理が完了して、更にこれらの処理に関係するデータが前記メモリユニット(LM)に格納される。パイプライン動作の5つ目のタイムスロット(TS)で前記第1後続行の直後の第2後続行に配列された第3の複数のマクロブロック(MB200…MB206、MB207、MB208…MB211)の1つのマクロブロック(MB200)を含むマクロブロックペア(MBP)の処理でのイントラ・フレーム予測に際して、このマクロブロックペア(MBP)の近傍に位置する前記複数の近傍マクロブロックペア(MB000、MB100、MB001、MB101)の前記第1動画像処理ユニット(Codec_EL_0)による処理結果と関係するデータを前記第2動画像処理ユニット(Codec_EL_1)が使用することができる。その結果、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理にも対応することが可能となる(図10参照)。
本発明のひとつの具体的な形態による機能ブロック(FB)では、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)のパイプライン接続と、前記複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)に接続された複数の入出力インターフェース(10_30、10_40、10_50;10_31、10_41、10_51)の従属接続とにより構成されている。前記複数の入出力インターフェース(10_30、10_40、10_50;10_31、10_41、10_51)は、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)とのいずれかによるマクロブロックの処理結果と関係するデータを転送する。前記第1動画像処理ユニット(Codec_EL_0)の前記複数の入出力インターフェース(10_30、10_40、10_50)の前記従属接続の他端は第1データパス(9_0)を介して前記第2動画像処理ユニット(Codec_EL_1)の前記複数の入出力インターフェース(10_31、10_41、10_51)の前記従属接続の一端に接続され、前記第2動画像処理ユニット(Codec_EL_1)の前記複数の入出力インターフェース(10_31、10_41、10_51)の前記従属接続の他端は第2データパス(9_1)を介して前記メモリユニット(LM)の入力に接続され、前記メモリユニット(LM)の出力は第3データパス(9_2)を介して前記第1動画像処理ユニット(Codec_EL_0)の前記複数の入出力インターフェース(10_30、10_40、10_50)の前記従属接続の一端に接続される(図1参照)。
本発明の前記ひとつの具体的な形態による手段によれば、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)の前記複数の入出力インターフェース(10_30、10_40、10_50;10_31、10_41、10_51)と、前記メモリユニット(LM)と、前記第1データパス(9_0)と、前記第2データパス(9_1)と、前記第3データパス(9_2)とがリングデータパスを構成するので、イントラ・フレーム予測で使用されるデータの転送を前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)との間で容易とすることができる(図1参照)。
本発明のひとつの具体的な形態による機能ブロック(FB)では、前記複数の入出力インターフェース(10_30、10_40、10_50;10_31、10_41、10_51)のそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニット(3_0、4_0、5_0;3_1、4_1、5_1)が使用するか否かを判別して、使用する場合は前記対応するサブユニット(3_0、4_0、5_0;3_1、4_1、5_1)へ前記データを供給するものである(図5参照)。
本発明のひとつの具体的な形態による機能ブロック(FB)は、前記第1の複数のマクロブロックと前記第2の複数のマクロブロックとを含むビットストリーム(BS)を解析して、前記第1の複数のマクロブロックを前記第1動画像処理ユニット(Codec_EL_0)へ供給して、前記第2の複数のマクロブロックを前記第2動画像処理ユニット(Codec_EL_1)へ供給するコントローラ(CNT)を更に具備する(図1参照)。
本発明のひとつの具体的な形態による機能ブロック(FB)は、記憶装置(外部SDRAM)と前記第1動画像処理ユニット(Codec_EL_0)および前記第2動画像処理ユニット(Codec_EL_1)との間で前記ビットストリーム(BS)を転送するダイレクトメモリアクセスコントローラ(DMAC)を更に具備する(図16参照)。
本発明の更に具体的な形態による機能ブロック(FB)では、前記第1動画像処理ユニット(Codec_EL_0)と前記第2動画像処理ユニット(Codec_EL_1)の前記複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)は前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成されている。システム初期化のシーケンスに前記機能ブロック(FB)を符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号(EN/DEC)が供給され、前記動作モード信号(EN/DEC)による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号(EN/DEC)により指示された装置として動作するものである(図1参照)。
本発明の更に具体的な形態による機能ブロック(FB)では、前記メモリユニット(LM)は、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロック(MB600…MB606、MB607、MB607、MB608…MB611)の前記第1動画像処理ユニット(Codec_EL_1)による前記処理結果と関係する前記1つの行分の前記データを格納するラインメモリである(図1参照)。
また、本発明の最も具体的な形態によれば、前記機能ブロック(FB)はコアとして半導体集積回路のチップ上に構成されている(図1参照)。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
すなわち、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットの並列処理を容易とすることができる。
また、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャーのいずれにも対応可能とすることも可能である。
更に、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることができるコアを含む半導体集積回路を提供することも可能である。
≪機能ブロックの構成≫
図1は、本発明の1つの実施形態によるH.264に準拠する動画符号化と動画復号とのいずれも実行する機能ブロックFBを示す図である。
この機能ブロックFBは、携帯電話端末やディジタル・カメラ等の動画処理用半導体集積回路のIP(Intellectual Property)コアとして半導体集積回路のチップ上に構成されている。また、図1では、例えばパワーオン時もしくはパワーオンリセット時等の機能ブロックFBのシステム初期化のシーケンスに機能ブロックFBを復号装置(デコーダ)として動作させることを指示するレベルもしくはビットパターンの動作モード信号DECが供給される。その結果、この動作モード信号DECによる指示に応答して第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とを構成する共通ハードウェア・リソース3_0、4_0、5_0、3_1、4_1、5_1が復号装置(デコーダ)として動作する。また、システム初期化のシーケンスに機能ブロックFBを符号化装置(エンコーダ)として動作させることを指示する他のレベルもしくは別のビットパターンの動作モード信号ENが供給されると、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とを構成する共通ハードウェア・リソース3_0、4_0、5_0、3_1、4_1、5_1が符号化装置(エンコーダ)として動作する。
図1で、復号装置(デコーダ)としての機能ブロックFBには、例えばハードディスクドライブ(HDD)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線LAN(ローカルエリアネットワーク)等のメディアからH.264に準拠する動画符号化データがビットストリームBSの形態により供給される。この動画符号化データは機能ブロックFBにより復号され、復号データは表示用のメモリデバイス8に格納されて、表示デバイス14により動画が表示されることができる。
図1に示すように、機能ブロックFBは、複数のマクロブロックを含むビットストリームBSを解析して第1の複数のマクロブロックを第1動画像処理ユニットCodec_EL_0(2_0)へ供給する一方、第2の複数のマクロブロックを第2動画像処理ユニットCodec_EL_1(2_1)へ供給するコントローラCNTを含んでいる。
コントローラCNTは、マクロブロック信号線23を介してマクロブロックを第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とへ供給するストリーム解析部ST_An(1_0)と、制御信号線13を介して第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の並列パイプライン動作を制御するマクロブロックパイプライン制御部MBLCnt(1_1)とを含んでいる。
第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とが並列動作するに際して、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とが処理するデータ処理単位は、図2に示すように、16×16のサンプル数を有するマクロブロックMB000…MB811を含むものである。
図2に示すように、第1動画像処理ユニットCodec_EL_0(2_0)は1つのピクチャーの0番目の行、2番目の行、4番目の行…の偶数の行に配列された第1の複数のマクロブロックMB000…MB200…MB400…MB600…MB606、MB607、MB608…MB611をラスタスキャンの方向にシーケンシャルに処理して、第2動画像処理ユニットCodec_EL_1(2_1)は同一の1つのピクチャーの1番目の行、3番目の行、5番目の行…の奇数の行に配列された第2の複数のマクロブロックMB100…MB300…MB500…MB700…MB706、MB707、MB708…MB711をラスタスキャンの方向にシーケンシャルに処理するものである。また、図2に示すように、1つのピクチャーは例えば複数のスライスSlice#0、Slice#1、Slice#2に分割され、1つのスライスSlice#0はMB000〜MB207の32個のマクロブロックに分割されている。1つのピクチャーの全てのマクロブロックMB000〜MB811のそれぞれは、輝度成分で16×16サンプルの四角形ピクチャー領域とそれに対応する2つの色差成分のそれぞれにサンプル領域とを含んでいる。
また、図1の機能ブロックFBの第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とは、一例として、図3に示した9個のモード0〜モード8を含むH.264/AVCに準拠したイントラ・フレーム予測を行うように構成されている。従って、図2に示すように第2動画像処理ユニットCodec_EL_1(2_1)による奇数の行に配列された第2の複数のマクロブロックMB100…MB300…MB500…MB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測に際して、偶数の行に配列された第1の複数のマクロブロックMB000…MB200…MB400…MB600…MB606、MB607、MB608…MB611のうちから上述の1つのマクロブロックMB707の近傍に位置する複数の近傍マクロブロックMB606、MB607、MB608の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータが使用される。
また、図1の機能ブロックFBは、データパス9_0、9−1、9−2を介して第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とに接続されたメモリユニットLM(6)を含んでいる。このメモリユニットLM(6)はラインメモリとして構成され、入出力インターフェース(I/O Int)10_60と、ラインメモリコントローラLMC(11)と、スタティックランダムアクセスメモリSRAM(12)とから構成されている。このメモリユニットLM(6)には、1つのピクチャーの偶数の行に配列された第1の複数のマクロブロックMB000…MB200…MB400…MB600…MB606、MB607、MB608…MB611の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータが格納される。次に、このメモリユニットLMに格納された偶数行のマクロブロックの処理結果と関係するデータは、次の奇数行のイントラ・フレーム予測で6行目の複数の近傍マクロブロックMB606、MB607、MB608の処理結果に関係するデータがメモリユニットLMから第2動画像処理ユニットCodec_EL_1(2_1)へ転送される。すると、転送された6行目の1つの近傍マクロブロックデータを利用して第2動画像処理ユニットCodec_EL_1(2_1)は、奇数行である7行目に配列された第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測を行う。同様にして、第2動画像処理ユニットCodec_EL_1(2_1)は、7行目に配列された第2の複数の12個のマクロブロックMB700…MB706、MB707、MB708…MB711の処理を行い、その処理結果と関係するデータがメモリユニットLMに格納される。次に、このメモリユニットLMに格納された奇数行の7行目のマクロブロックの処理結果と関係するデータは、偶数行の次の8行目のイントラ・フレーム予測で7行目の複数の近傍マクロブロックMB706、MB707、MB708の1つの近傍マクロブロックの処理結果に関係するデータがメモリユニットLMから第1動画像処理ユニットCodec_EL_0(2_0)へ転送される。すると、転送された7行目の1つの近傍マクロブロックデータを利用して第1動画像処理ユニットCodec_EL_0(2_0)は、偶数行である8行目に配列された第1の複数のマクロブロックMB800…MB806、MB807、MB808…MB811の1つのマクロブロックMB807の処理でのイントラ・フレーム予測を行う。同様にして、第2動画像処理ユニットCodec_EL_1(2_1)は、8行目に配列された第2の複数の12個のマクロブロックMB800…MB806、MB807、MB808…MB811の処理を行い、その処理結果と関係するデータがメモリユニットLMに格納される。
特に、メモリユニットLMに格納された1つのピクチャーの偶数の行に配列された第1の複数のマクロブロックMB000…MB200…MB400…MB600…MB606、MB607、MB608…MB611の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータの中から少なくとも直後の奇数の行に配列された第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の近傍の直前の偶数の行に配列された複数の近傍マクロブロックMB606、MB607、MB608の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果に関係するデータが、第2動画像処理ユニットCodec_EL_1(2_1)による第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測の処理開始に先立って、メモリユニットLMから第2動画像処理ユニットCodec_EL_1(2_1)へ転送される。
従って、第2動画像処理ユニットCodec_EL_1(2_1)によるる第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測の処理開始に先立って、少なくとも1つのマクロブロックMB707の近傍に位置する複数の近傍マクロブロックMB606、MB607、MB608の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータが、メモリユニットLMから第2動画像処理ユニットCodec_EL_1(2_1)へ既に転送されている。さらに、第2動画像処理ユニットCodec_EL_1(2_1)による第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測の処理開始に先立って前記メモリユニットLMから転送された複数の近傍マクロブロックMB606、MB607、MB608の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果に関係するデータの中から1つのマクロブロックMB707のイントラフレーム予測で使用される予測モード(例えば、図3のモード0)に従って複数の近傍マクロブロックMB606、MB607、MB608の1つのマクロブロック(例えば、MB607)の処理結果が選択され、この選択された処理結果を使用して第2動画像処理ユニットCodec_EL_1(2_1)は第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロック(例えば、MB707)の処理を実行するものである。このようにして、H.264/AVCのビデオコーディング層を構成するイントラ・フレーム予測で使用される予測モードに対応するに際して、予測モードに従って1つ近傍マクロブロックの処理結果に関係するデータが選択されるので、複数の動画像並列処理ユニットによる並列処理を容易とすることができる。
また、図1に示すように、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)のそれぞれは、マクロブロックMB606、MB706の処理結果と関係するデータを格納するメモリ3_0_Reg、3_1_Reg、4_0_Reg、4_1_Reg、5_0_Reg、3_5_Regを含む。第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)のそれぞれは、マクロブロックMB606、MB706の直後の後続マクロブロックMB607、MB707の処理でのイントラ・フレーム予測にメモリ3_0_Reg、3_1_Reg、4_0_Reg、4_1_Reg、5_0_Reg、3_5_Regに格納されたマクロブロックMB606、MB706の処理結果と関係するデータを使用する。従って、イントラ・フレーム予測で使用される予測モードが図3のモード1(水平予測)であれば、後続マクロブロックMB607、MB707の処理においてイントラ・フレーム予測にメモリ3_0_Reg、3_1_Reg、4_0_Reg、4_1_Reg、5_0_Reg、3_5_Regに格納されたマクロブロックMB606、MB706の処理結果と関係するデータを使用することができる。尚、これらのメモリ3_0_Reg、3_1_Reg、4_0_Reg、4_1_Reg、5_0_Reg、3_5_Regのそれぞれは、複数のビットを格納するレジスタ、フリップフロップ、SRAM等により構成されることができる。また、図1に示すように、メモリ3_0_Reg、3_1_Reg、4_0_Reg、4_1_Reg、5_0_Reg、3_5_Regのそれぞれは、2面で構成されている。この2面の一方の面が他方の動画処理ユニットへデータを供給している間に、他方の面が自己の動画処理ユニットによる処理結果と関係するデータを格納することができる。
更に、図1に示すように、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)のそれぞれは、動画符号化と動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット3_0、4_0、5_0;3_1、4_1、5_1のパイプライン接続とにより構成されている。
第1の機能サブユニット3_0、3_1は、H.264のコンテキストベース適応可変長符号化処理とその逆のコンテキストベース適応可変長復号処理とを行う可変長処理部VLCである。この可変長処理部VLCである第1の機能サブユニット3_0、3_1は、マクロブロックパラメータや、動きベクトル情報や、周波数変換情報の符号化処理や復号処理を行い、図1では後者の復号処理を行う。
第2の機能サブユニット4_0、4_1は、H.264の量子化とDCT(ディスクリートコサイン変換)の周波数変換との処理とその逆の逆量子化と逆DCTの逆周波数変換の処理とを行う周波数変換部TRFで、図1では後者の逆量子化と逆DCTと逆周波数変換の処理と周波数係数予測の処理とを行う。
第3の機能サブユニット5_0、5_1は、H.264の動き予測処理とその逆の動き補償処理とを行う動き処理部MCで、図1では後者の動き補償処理とデブロッキングフィルタ処理とを行う。
また、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の複数の機能サブユニット3_0、4_0、5_0;3_1、4_1、5_1のパイプラインは、制御信号線13を介してコントローラCNTのマクロブロックパイプライン制御部MBLCnt(1_1)によって制御される。
図4は、図1に示した機能ブロックFBの第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の複数の機能サブユニット3_0、4_0、5_0;3_1、4_1、5_1のパイプライン動作を説明する図である。
図4に示すように、第2動画像処理ユニットCodec_EL_1(2_1)のパイプライン動作の開始タイミングは、第1動画像処理ユニットCodec_EL_0(2_0)のパイプライン動作の開始タイミングよりもパイプライン動作の2つのタイムスロット2TS分遅延している。この遅延は、3つのタイムスロット3TSまたはそれ以上とすることもできる。
図4に示すように、パイプライン動作の1つ目のタイムスロットTSで第1動画像処理ユニットCodec_EL_0(2_0)の機能サブユニット(VLC)3_0による6行目に配列された第1の複数のマクロブロックMB600…MB606、MB607、MB608…MB611の1つのマクロブロックMB608の処理が実行されて、処理結果と関係するデータ90(マクロブロックパラーメータ90)が機能サブユニット(VLC)3_0のメモリ3_0_RegとメモリユニットLMとに格納される。このマクロブロックパラーメータ90は、後に図8を用いて詳述するインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列されたデータである。1つ目のタイムスロットTSで、このデータ90は、第1動画像処理ユニットCodec_EL_0(2_0)の機能サブユニット(VLC)3_0から第1動画像処理ユニットCodec_EL_0(2_0)の従属接続された3つの入出力インターフェース(I/O Int)10_30、10_40、10_50とデータパス9_0と第2動画像処理ユニットCodec_EL_1(2_1)の従属接続された3つの入出力インターフェース(I/O Int)10_31、10_41、10_51とデータパス9_1とを介してメモリユニットLMに格納されることができる。
図5は第1動画像処理ユニットCodec_EL_0(2_0)および第2動画像処理ユニットCodec_EL_1(2_1)の従属接続された3つの入出力インターフェース(I/O Int)10_30、10_40、10_50;10_31、10_41、10_51との構成を示す図である。例えば、入出力インターフェース(I/O Int)10_31では、データパス9_0に接続された入力信号線103から供給されたアドレス信号とデータ信号とイネーブル信号とがレジスタ100に供給される。入出力インターフェース(I/O Int)10_30、10_40、10_50、10_31、10_41、10_51のそれぞれには、ユニークなデバイス番号が付与されている。従って、入出力インターフェース(I/O Int)10_31のアドレスデコーダ101にユニークなデバイス番号に対応するアドレス信号が供給されると、アドレスデコーダ101の出力により出力信号線104のアドレス信号とデータ信号とイネーブル信号とが第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1に供給される。もし、アドレス信号がユニークなデバイス番号に対応しなければ、アドレス信号とデータ信号とイネーブル信号とはマルチプレクサ102と出力信号線106とを介して次段の入出力インターフェース(I/O Int)10_41の入力信号線103に供給される。また、第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1から生成されたアドレス信号とデータ信号とイネーブル信号も、マルチプレクサ102と出力信号線106とを介して次段の入出力インターフェース(I/O Int)10_41の入力信号線103に供給されることができる。
また、図4に示すように、パイプライン動作の2つ目のタイムスロットTSで、メモリユニットLMから上述の処理結果と関係するデータ90を読み出す。更に、この読み出された処理結果と関係するデータ90をデータパス9_2と第1動画像処理ユニットCodec_EL_0(2_0)の従属接続された3つの入出力インターフェース(I/O Int)10_30、10_40、10_50とデータパス9_0と第2動画像処理ユニットCodec_EL_1(2_1)の1つの入出力インターフェース(I/O Int)10_31とを介して第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1へ転送することが可能である。
その結果、パイプライン動作の3つ目のタイムスロットTSでの第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1による7行目に配列された第2の複数のマクロブロックMB700…MB706、MB707、MB708…MB711の1つのマクロブロックMB707の処理でのイントラ・フレーム予測に際して、7行目に配列されたこの1つのマクロブロックMB707の近傍に位置する6行目に配列された複数の近傍マクロブロックMB606、MB607、MB608から選択された1つの近傍マクロブロックMB608の第1動画像処理ユニットCodec_EL_0(2_0)の機能サブユニット(VLC)3_0による処理結果と関係するデータ90(マクロブロックパラーメータ90)を使用することができる。
以上説明したパイプライン動作の3つのタイムスロット3TSの間に、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の複数の入出力インターフェース10_30、10_40、10_50;10_31、10_41、10_51と、メモリユニットLMと、データパス9_0、9_1、9_2とで構成されたリングデータパスを用いることにより、第1動画像処理ユニットCodec_EL_0(2_0)の機能サブユニット(VLC)3_0による6行目に配列された第1の複数のマクロブロックの1つのマクロブロックMB608の処理の実行と処理結果と関係するデータ90のメモリユニットLMへの格納と、上述の処理結果と関係するデータ90のメモリユニットLMからの読み出しと第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1への転送と、この転送されたデータ90を使用した第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1による7行目に配列された第2の複数のマクロブロックの1つのマクロブロックMB707の処理でのイントラ・フレーム予測とが可能となっている。
従って、上述のリングデータパスは、実際には長い信号伝達経路を持っているが、第1動画像処理ユニットCodec_EL_0(2_0)の機能サブユニット(VLC)3_0と第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1との間で双方向に一方の処理結果と関係するデータ90を他方に伝達する図1と図4とに示した仮想高速信号伝送線90_Vtlを提供していると見做すことができる。
更に図4に示すように、第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0は、第1動画像処理ユニットCodec_EL_0(2_0)の1段目のパイプラインの機能サブユニット(VLC)3_0で生成されたマクロブロックMB608の処理結果と関係するデータ90と周波数変換情報とを利用して、6行目に配列されたマクロブロックMB608の逆量子化と逆DCTと逆周波数変換の処理と周波数係数予測の処理とを行う。この処理によって得られた処理結果から、第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0は、イントラ予測用の画素データ91を第2動画像処理ユニットCodec_EL_0(2_1)で7行目に配列されたマクロブロックMB707を処理する2段目のパイプラインの機能サブユニット(TRF)4_1へ転送する。このイントラ予測用の画素データ91も、後に図8を用いて詳述するインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列されたデータである。このイントラ予測用の画素データ91の第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0から第2動画像処理ユニットCodec_EL_0(2_1)の2段目のパイプラインの機能サブユニット(TRF)4_1への転送は、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の複数の入出力インターフェース10_30、10_40、10_50;10_31、10_41、10_51と、メモリユニットLMと、データパス9_0、9_1、9_2とで構成された上述のリングデータパスを経由して実行される。従って、第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0と第2動画像処理ユニットCodec_EL_1(2_1)の2段目のパイプラインの機能サブユニット(TRF)4_1との間で双方向に一方のイントラ予測用の画素データ91を他方に伝達する図1と図4とに示した仮想高速信号伝送線91_Vtlを提供していると見做すことができる。このリングデータパスを用いることにより、第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0による6行目に配列された第1の複数のマクロブロックの1つのマクロブロックMB608の処理の実行と処理結果と関係するイントラ予測用の画素データ91のメモリユニットLMへの格納と、上述の処理結果と関係するイントラ予測用の画素データ91のメモリユニットLMからの読み出しと第2動画像処理ユニットCodec_EL_1(2_1)の機能サブユニット(VLC)3_1への転送と、この転送されたイントラ予測用の画素データ91を使用した第2動画像処理ユニットCodec_EL_1(2_1)の2段目のパイプラインの機能サブユニット(TRF)4_1による7行目に配列された第2の複数のマクロブロックの1つのマクロブロックMB707の処理でのイントラ・フレーム予測とが可能となっている。
また、第1動画像処理ユニットCodec_EL_0(2_0)の2段目のパイプラインの機能サブユニット(TRF)4_0は、1段目のパイプラインの機能サブユニット(VLC)3_0で生成された6行目に配列されたマクロブロックMB608の処理結果と関係するデータ90を3段目のパイプラインの機能サブユニット(MC)5_0である動き処理部へ転送する。
この動き処理に関係して、H.264/AVCのビデオコーディング層VCLは、複数のピクチャーの間の予測であるインターピクチャー予測(インターフレーム予測)を行う動き補償予測MCPの機能も有している。
図8は、H.264/AVCの動き補償予測MCPのために、1つのマクロブロックが更に小さな領域に分割されることを示す図である。図8の上段は輝度で16×16、16×8、8×16、8×8のサンプルのブロックサイズのセグメンテーションを示し、図8の下段は輝度で8×8、8×4、4×8、4×4のサンプルのブロックサイズのセグメンテーションを示している。図8の上段と下段との動き補償予測のためのブロックは、動き補償予測のためのシンタックスを含んでいる。このシンタックスを利用することによって、1つ以上の以前に符号化されたピクチャーが動き補償予測のための参照に使用されるマルチピクチャー動き補償予測が可能となる。また、本発明の実施形態による複数のマクロブロックの並列処理においては、図8に示したいずれのブロックの最終行に配列されたデータが複数の処理ユニットの間で転送される。
図9は、H.264/AVCのマルチピクチャー動き補償予測を示す図である。現在のピクチャーCPは以前に符号化されたピクチャーから動きベクトルとピクチャー参照パラメータΔ(=1、2、4)とを伝達することによって予測されることができる。
図4に示すように、第1動画像処理ユニットCodec_EL_0(2_0)の3段目のパイプラインの機能サブユニット(MC)5_0である動き処理部は、2段目のパイプラインの機能サブユニット(TRF)4_0から転送された1段目のパイプラインの機能サブユニット(VLC)3_0で生成された6行目に配列されたマクロブロックMB608の処理結果と関係するデータ90を使用して、図9に示すようなH.264/AVCのマルチピクチャー動き補償予測を6行目に配列されたマクロブロックMB608に対して実行する。その結果、得られた処理結果の中から第1動画像処理ユニットCodec_EL_0(2_0)の3段目のパイプラインの機能サブユニット(MC)5_0である動き処理部は、図8で説明したインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列された4から8ラインの画素データ92を第2動画像処理ユニットCodec_EL_1(2_1)の3段目のパイプラインの機能サブユニット(MC)5_1である動き処理部へ転送する。このインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列された4から8ラインの画素データ92の第1動画像処理ユニットCodec_EL_0(2_0)の3段目のパイプラインの機能サブユニット(MC)5_0である動き処理部から第2動画像処理ユニットCodec_EL_0(2_1)の3段目のパイプラインの機能サブユニット(MC)5_1である動き処理部への転送は、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の複数の入出力インターフェース10_30、10_40、10_50;10_31、10_41、10_51と、メモリユニットLMと、データパス9_0、9_1、9_2とで構成された上述のリングデータパスを経由して実行される。従って、第1動画像処理ユニットCodec_EL_0(2_0)の3段目のパイプラインの機能サブユニット(MC)5_0と第2動画像処理ユニットCodec_EL_1(2_1)の3段目のパイプラインの機能サブユニット(MC)5_1である動き処理部との間で双方向に一方の画素データ92を他方に伝達する図1と図4とに示した仮想高速信号伝送線92_Vtlを提供していると見做すことができる。このリングデータパスを用いることにより、第1動画像処理ユニットCodec_EL_0(2_0)の3段目のパイプラインの機能サブユニット(MC)5_1である動き処理部による6行目に配列された第1の複数のマクロブロックの1つのマクロブロックMB608の処理の実行と処理結果と関係する画素データ92のメモリユニットLMへの格納と、上述の処理結果と関係する画素データ92のメモリユニットLMからの読み出しと3段目のパイプラインの機能サブユニット(MC)5_1への転送と、この転送された画素データ92を使用した3段目のパイプラインの機能サブユニット(MC)5_1による7行目に配列された第2の複数のマクロブロックの1つのマクロブロックMB707の処理でのイントラ・フレーム予測とが可能となっている。
また以上の動作により、1つのピクチャーの複数のマクロブロックを含む2つの行を同時に並列処理することが可能になる。すなわち、同一動作周波数の単一動作と比較すると、2つの並列処理は2倍の処理性能を有していることに相当する。また単一動作で2倍の処理性能を達成する場合と比較すると、動作周波数を1/2にすることが可能になり、モバイル機器のバッテリー動作に好適となる。また、ラインメモリのメモリユニットLM(6)は第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とで共有するため、処理性能当りのメモリ容量は1/2になっている。 図4に示した時間差2TSの並列パイプライン動作は、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれにも対応することができる。
≪フィールド・ピクチャへの対応≫
図13は、H.264/AVCのフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することができる機能ブロックFBの並列パイプライン動作を説明する図である。
図13の並列パイプライン動作でも、時間差は2TSとなっている。従って、フィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれの時間帯でもパイプライン動作の1つ目のタイムスロットTSで第1動画像処理ユニットCodec_EL_0(2_0)による0行目に配列された第1の複数のマクロブロックMB000、MB001、MB002…MB006、MB007、MB008…MB011の1つのマクロブロックMB002の処理が実行されて、処理結果と関係するデータがメモリユニットLMに格納される。また、パイプライン動作の2つ目のタイムスロットTSで、メモリユニットLMから処理結果と関係するデータを第2動画像処理ユニットCodec_EL_1(2_1)へ転送することが可能である。その結果、パイプライン動作の3つ目のタイムスロットTSで第2動画像処理ユニットCodec_EL_1(2_1)による1行目に配列された第2の複数のマクロブロックMB100、MB101、MB102…MB106、MB107、MB108…MB111の1つのマクロブロックMB101の処理でのイントラ・フレーム予測に際して、1つのマクロブロックMB101の近傍に位置する複数の近傍マクロブロックMB000、MB001、MB002から選択された1つの近傍マクロブロックMB002の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータを使用することができる。このようにして、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することが可能となる。
≪マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャへの対応≫
図10は、H.264/AVCのマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャPMに対応する機能ブロックFBを示す図である。
この機能ブロックFBでは、図7に示すように、第1動画像処理ユニットCodec_EL_0(2_0)は1つのピクチャーの0行目に配列された第1の複数のマクロブロックMB000…MB006、MB007、MB008…MB011と0行目の直後の1行目に配列された第2の複数のマクロブロックMB100…MB106、MB107、MB108…MB111との同一列の一対のマクロブロックペアMBPをデータ単位として処理する一方、第2動画像処理ユニットCodec_EL_1(2_1)は1行目の直後の2行目に配列された第3の複数のマクロブロックMB200…MB206、MB207、MB208…MB211と2行目の直後の3行目に配列された第4の複数のマクロブロックMB300…MB306、MB307、MB308…MB311との同一列の一対のマクロブロックペアMBPをデータ単位として処理する。
図10の前記機能ブロックFBでは、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)のそれぞれは、動画符号化と動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット(3_0、4_0、5_0;3_1、4_1、5_1)のパイプライン接続とにより構成されている。第2動画像処理ユニットCodec_EL_1(2_1)のパイプライン動作の開始タイミングは、第1動画像処理ユニットCodec_EL_0(2_0)のパイプライン動作の開始タイミングよりもパイプライン動作の4つのタイムスロット(4TS)またはそれ以上遅延している。
従って、パイプライン動作の1つ目のタイムスロットTSで1つのピクチャーの0行目に配列された第1の複数のマクロブロックMB000…MB006、MB007、MB008…MB011の第1動画像処理ユニットCodec_EL_0(2_0)による1つのマクロブロックMB000の処理が実行されて、パイプライン動作の2つ目のタイムスロットTSで1行目に配列された第2の複数のマクロブロックMB100…MB106、MB107、MB108…MB111の第1動画像処理ユニットCodec_EL_0(2_0)による1つのマクロブロックMB100の処理が実行されて、2つのマクロブロックMB000、MB100からなる1つのマクロブロックペアMBPの処理が完了する。パイプライン動作の3つ目のタイムスロットTSで0行目に配列された第1の複数のマクロブロックMB000…MB006、MB007、MB008…MB011の第1動画像処理ユニットCodec_EL_0(2_0)による1つの後続マクロブロックMB001の処理が実行されて、パイプライン動作の4つ目のタイムスロットTSで1行目に配列された第2の複数のマクロブロックMB100…MB106、MB107、MB108…MB111の第1動画像処理ユニットCodec_EL_0(2_0)による1つの後続マクロブロックMB101の処理が実行されて、2つのマクロブロックMB001、MB101からなる1つのマクロブロックペアMBPの処理が完了して、更にこれらの処理に関係するデータがメモリユニットLMに格納される。パイプライン動作の5つ目のタイムスロットTSで1行目の直後の2行目に配列された第3の複数のマクロブロックMB200…MB206、MB207、MB208…MB211の1つのマクロブロックMB200を含むマクロブロックペアMBPの処理でのイントラ・フレーム予測に際して、このマクロブロックペアMBPの近傍に位置する複数の近傍マクロブロックペアMB000、MB100、MB001、MB101の第1動画像処理ユニットCodec_EL_0(2_0)による処理結果と関係するデータを第2動画像処理ユニットCodec_EL_1(2_1)が使用することができる。その結果、H.264/AVCのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャにも対応することが可能となる。
≪符号化装置≫
図14は、本発明の1つの実施形態による機能ブロックFBが符号化装置(エンコーダ)として動作することを示す図である。
システム初期化のシーケンスに機能ブロックFBを符号化装置として動作させることを指示するレベルもしくはビットパターンの動作モード信号ENが供給されると、第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)とを構成する共通ハードウェア・リソース3_0、4_0、5_0、3_1、4_1、5_1が符号化装置(エンコーダ)として動作する。
また、CCD等の撮像装置20からの動画データが機能ブロックFBの動画信号処理部21に供給され、動画信号処理部21で動画データが分離されて第1動画像処理ユニットCodec_EL_0(2_0)の第3の機能サブユニット5_0の動き処理部MCと第2動画像処理ユニットCodec_EL_1(2_1)の第3の機能サブユニット5_1の動き処理部MCとに供給される。第3の機能サブユニット5_0の動き処理部MCの出力と第3の機能サブユニット5_1の動き処理部MCの出力とは、それぞれ第1動画像処理ユニットCodec_EL_0(2_0)の第2の機能サブユニット4_0の周波数変換部TRFの入力と第2動画像処理ユニットCodec_EL_1(2_1)の第2の機能サブユニット4_1の周波数変換部TRFの入力とに供給される。第2の機能サブユニット4_0の周波数変換部TRFの出力と第2の機能サブユニット4_1の周波数変換部TRFの出力とは、それぞれ第1動画像処理ユニットCodec_EL_0(2_0)の第1の機能サブユニット3_0の可変長処理部VLCの入力と第2動画像処理ユニットCodec_EL_1(2_1)の第1の機能サブユニット3_1の可変長処理部VLCの入力とに供給される。第1の機能サブユニット3_0の可変長処理部VLCの出力と第1の機能サブユニット3_1の可変長処理部VLCの出力のH.264/AVCに準拠したビデオ符号化データは、コントローラCNTのストリーム・マルチプレクサ(St_MPX)1_0と記憶制御部22とを介してHDD、光ディスク、大容量不揮発性フラッシュメモリ等の記憶装置23に格納される。
≪並列度を向上した復号装置≫
図15は、本発明の他の1つの実施形態により並列度を向上した機能ブロックFBが復号装置(デコーダ)として動作することを示す図である。
機能ブロックFBは、第1動画像処理ユニットCodec_EL_0(2_0)、第2動画像処理ユニットCodec_EL_1(2_1)、第3動画像処理ユニットCodec_EL_2(2_2)、第4動画像処理ユニットCodec_EL_3(2_3)の4つから構成され、複数のマクロブロックのデータ並列処理度が向上されている。また、システム初期化のシーケンスに機能ブロックFBを符号化装置として動作させることを指示するレベルもしくはビットパターンの動作モード信号ENが供給されると、図14と同様に図15の機能ブロックFBは符号化装置(エンコーダ)として動作することは言うまでもない。
≪機能ブロックFBの具体例≫
図16は、本発明の1つの実施形態による機能ブロックFBの具体例を示す図である。
図16に示すように、機能ブロックFBとしてのコアVPU(Video Processing Unit)は、可変長符号化復号部(ストリーム同期処理)VLC_S(図1のコントローラCNTに相当)と、共通ハードウェア・リソースVLC_F、TRF、FME、DEB、CME、PMDを含む第1動画像処理ユニットCodec_EL_0(2_0)および第2動画像処理ユニットCodec_EL_1(2_1)と、動き検出・イントラ予測用メモリ制御部MECと、VPU全体制御部CTRLと、ラインメモリコントローラLMC(図1のラインメモリコントローラLMC(11)に相当)と、ダイレクトメモリアクセスコントローラDMACとから構成されている。VPU全体制御部CTRLとダイレクトメモリアクセスコントローラDMACとは、パケットデータを転送可能な64ビットのスーパーハイウェイバスSHwyに接続されている。
特に、ダイレクトメモリアクセスコントローラDMACは、スーパーハイウェイバスSHwyに接続される外部SDRAMと第1動画像処理ユニットCodec_EL_0(2_0)および第2動画像処理ユニットCodec_EL_1(2_1)との間の大量のマクロブロックを含むビットストリームの高速データ転送に使用される。
また、第1動画像処理ユニットCodec_EL_0(2_0)および第2動画像処理ユニットCodec_EL_1(2_1)の共通ハードウェア・リソースは、下記のような機能サブユニットVLC_F、TRF、FME、DEB、CME、PMDを含んでいる。
VLC_Fは可変長符号化復号部(マクロブロック同期処理)、TRFは周波数変換・係数予測部、FMEは密探索動き検出・動き補償部、DEBはデブロッキングフィルタ・動き補償部、CME疎探索動き検出部、PMDはイントラ予測部である。復号また、可変長符号化復号部(ストリーム同期処理)VLC_Sは、シンタックス解析部STXとH.264算術符号化・復号部CABACとを含んでいる。これらの全てのサブブロックは、リング型バスSBUSを介して互いに接続され、各サブブロックが固有のIDを持つことで、イントラ・フレーム予測やインター・フレーム予測のデータを含む全てのデータ転送を行うことができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、マクロブロックを処理する第1動画像処理ユニットCodec_EL_0(2_0)と第2動画像処理ユニットCodec_EL_1(2_1)の内部構成は、プロセッサタイプでも、ハードワイヤード専用回路でも構成することができる。すなわち、図1における機能サブユニット3_0、3_1、4_0、4_1、5_0、5_1のそれぞれは、ソフト処理のプロセッサでも、専用回路によるハードウェア処理でも構成することができる。
本発明は、動画処理用半導体集積回路以外にも、アナログとディジタルとが混載したミックスドシグナルシステムLSIに搭載するH.264に準拠する動画符号化と動画復号とを実行するIPコアとして広く採用することができる。
図1は、本発明の1つの実施形態によるH.264に準拠する動画符号化と動画復号とのいずれも実行する機能ブロックを示す図である。 図2は、H.264/AVCに準拠した1つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。 図3は、H.264/AVCに準拠したイントラ・フレーム予測で4×4サンプルの1つのブロックが空間的に近傍のサンプルから予測される予測モードPMの様子を示す図である。 図4は、図1に示した機能ブロックの第1動画像処理ユニットと第2動画像処理ユニットの複数の機能サブユニットのパイプライン動作を説明する図である。 図5は、第1動画像処理ユニットおよび第2動画像処理ユニットの従属接続された3つの入出力インターフェースとの構成を示す図である。 図6はH.264/AVCのVCLの符号化ビデオシーケンスで規定されたマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとを示す図である。 図7はH.264/AVCのVCLの符号化ビデオシーケンスがマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの場合に複数のマクロブロックを並列動作する第1動画像処理ユニットと第2動画像処理ユニットとが処理する様子を示す図である。 図8は、H.264/AVCの動き補償予測MCPのために、1つのマクロブロックが更に小さな領域に分割されることを示す図である。 図9は、H.264/AVCのマルチピクチャー動き補償予測を示す図である。 図10は、H.264/AVCのマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャに対応する機能ブロックを示す図である。 図11は、H.264/AVCのVCLの符号化ビデオシーケンスがフィールド・ピクチャの場合に偶数番号の行のみを含むトップフィールドの時間帯で複数のマクロブロックを並列動作する第1動画像処理ユニットと第2動画像処理ユニットとが処理する様子を示す図である。い 図12は、H.264/AVCのVCLの符号化ビデオシーケンスがフィールド・ピクチャの場合に奇数番号の行のみを含むボトムフィールドの時間帯で複数のマクロブロックを並列動作する第1動画像処理ユニットと第2動画像処理ユニットとが処理する様子を示す図である。 図13は、H.264/AVCのフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することができる機能ブロックFBの並列パイプライン動作を説明する図である。 図14は、本発明の1つの実施形態による機能ブロックが符号化装置として動作することを示す図である。 図15は、本発明の他の1つの実施形態により並列度を向上した機能ブロックが復号装置として動作することを示す図である。 図16は、本発明の1つの実施形態による機能ブロックの具体例を示す図である。
符号の説明
FB 機能ブロック
Codec_EL_0;2_0 第1動画像処理ユニット
Codec_EL_1;2_1 第2動画像処理ユニット
CNT コントローラ
LM(6) メモリユニット
3_0、3_1(VLC) 可変長処理部
4_0、4_1(TRF) 周波数変換部
5_0、5_1(MC) 動き処理部
10_30、10_40、10_50、10_31、10_41、10_51 入出力インターフェース
11 ラインメモリコントローラ
12 SRAM

Claims (26)

  1. H.264/AVCに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロックであって、
    並列動作可能な少なくとも第1動画像処理ユニットと第2動画像処理ユニットとを具備するものであり、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットとが前記並列動作するに際して、前記第1動画像処理ユニットと前記第2動画像処理ユニットとが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものであり、
    前記第1動画像処理ユニットは1つのピクチャーの1つの行に配列された第1の複数のマクロブロックをシーケンシャルに処理して、前記第2動画像処理ユニットは前記1つのピクチャーの前記1つの行と異なる他の行に配列された第2の複数のマクロブロックをシーケンシャルに処理するものであり、
    前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの1つのマクロブロックの処理でのイントラ・フレーム予測に際して、前記第1の複数のマクロブロックのうちから前記1つのマクロブロックの近傍に位置する複数の近傍マクロブロックの前記第1動画像処理ユニットによる処理結果と関係するデータが使用され、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットとに接続され、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロックの前記第1動画像処理ユニットによる処理結果と関係するデータを格納するメモリユニットを更に具備するものであり、
    前記メモリユニットに格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロックの前記第1動画像処理ユニットによる前記処理結果に関係する前記データが、前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニットから前記第2動画像処理ユニットへ転送される機能ブロック。
  2. 前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理での前記イントラ・フレーム予測の前記処理開始に先立って前記メモリユニットから転送された前記複数の近傍マクロブロックの前記第1動画像処理ユニットによる前記処理結果に関係する前記データの中から前記1つのマクロブロックの前記イントラフレーム予測で使用される予測モードに従って前記複数の近傍マクロブロックの1つのマクロブロックの処理結果が選択され、当該選択された処理結果を使用して前記第2動画像処理ユニットは前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理を実行する請求項1に記載の機能ブロック。
  3. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、マクロブロックの処理結果と関係するデータを格納するメモリを含み、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記マクロブロックの直後の後続マクロブロックの処理でのイントラ・フレーム予測に前記メモリに格納された前記マクロブロックの前記処理結果と関係する前記データを使用する請求項1と請求項2とのいずれかに記載の機能ブロック。
  4. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続により構成され、
    前記第2動画像処理ユニットのパイプライン動作の開始タイミングは、前記第1動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の2つのタイムスロットまたはそれ以上遅延している請求項1から請求項3までのいずれかに記載の機能ブロック。
  5. インターレース画像におけるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応する請求項4に記載の機能ブロック。
  6. 前記第1動画像処理ユニットは1つのピクチャーの1つの行に配列された第1の複数のマクロブロックと前記1つの行の直後の第1後続行に配列された第2の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理する一方、前記第2動画像処理ユニットは前記第1後続行の直後の第2後続行に配列された第3の複数のマクロブロックと前記第2後続行の直後の第3後続行に配列された第4の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理して、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続とにより構成され、
    前記第2動画像処理ユニットのパイプライン動作の開始タイミングは、前記第1動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の4つのタイムスロットまたはそれ以上遅延している請求項1からから請求項3までのいずれかに記載の機能ブロック。
  7. インタレース画像におけるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理に対応する請求項6に記載の機能ブロック。
  8. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続と、
    前記複数の機能サブユニットに接続された複数の入出力インターフェースの従属接続とにより構成され、
    前記複数の入出力インターフェースは、前記第1動画像処理ユニットと前記第2動画像処理ユニットとのいずれかによるマクロブロックの処理結果と関係するデータを転送するものであり、
    前記第1動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第1データパスを介して前記第2動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続され、
    前記第2動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第2データパスを介して前記メモリユニットの入力に接続され、
    前記メモリユニットの出力は第3データパスを介して前記第1動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続される請求項4と請求項6とのいずれかに記載の機能ブロック。
  9. 前記複数の入出力インターフェースのそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニットが使用するか否かを判別して、使用する場合は前記対応するサブユニットへ前記データを供給するものである請求項8に記載の機能ブロック。
  10. 前記第1の複数のマクロブロックと前記第2の複数のマクロブロックとを含むビットストリームを解析して、前記第1の複数のマクロブロックを前記第1動画像処理ユニットへ供給して、前記第2の複数のマクロブロックを前記第2動画像処理ユニットへ供給するコントローラを更に具備する請求項4と請求項6とのいずれかに記載の機能ブロック。
  11. 記憶装置と前記第1動画像処理ユニットおよび前記第2動画像処理ユニットとの間で前記ビットストリームを転送するダイレクトメモリアクセスコントローラを更に具備する請求項10に記載の機能ブロック。
  12. 前記第1動画像処理ユニットと前記第2動画像処理ユニットの前記複数の機能サブユニットは前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成され、
    システム初期化のシーケンスに前記機能ブロックを符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号が供給され、前記動作モード信号による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号により指示された装置として動作する請求項1から請求項11までのいずれかに記載の機能ブロック。
  13. 前記メモリユニットは、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロックの前記第1動画像処理ユニットによる前記処理結果と関係する前記1つの行分の前記データを格納するラインメモリである請求項1から請求項11までのいずれかに記載の機能ブロック。
  14. H.264/AVCに準拠したH.264/AVCに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロックをコアとして含む半導体集積回路であって、
    並列動作可能な少なくとも第1動画像処理ユニットと第2動画像処理ユニットとを具備するものであり、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットとが前記並列動作するに際して、前記第1動画像処理ユニットと前記第2動画像処理ユニットとが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものであり、
    前記第1動画像処理ユニットは1つのピクチャーの1つの行に配列された第1の複数のマクロブロックをシーケンシャルに処理して、前記第2動画像処理ユニットは前記1つのピクチャーの前記1つの行と異なる他の行に配列された第2の複数のマクロブロックをシーケンシャルに処理するものであり、
    前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの1つのマクロブロックの処理でのイントラ・フレーム予測に際して、前記第1の複数のマクロブロックのうちから前記1つのマクロブロックの近傍に位置する複数の近傍マクロブロックの前記第1動画像処理ユニットによる処理結果と関係するデータが使用され、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットとに接続され、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロックの前記第1動画像処理ユニットによる処理結果と関係するデータを格納するメモリユニットを更に具備するものであり、
    前記メモリユニットに格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロックの前記第1動画像処理ユニットによる前記処理結果に関係する前記データが、前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニットから前記第2動画像処理ユニットへ転送される半導体集積回路。
  15. 前記第2動画像処理ユニットによる前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理での前記イントラ・フレーム予測の前記処理開始に先立って前記メモリユニットから転送された前記複数の近傍マクロブロックの前記第1動画像処理ユニットによる前記処理結果に関係する前記データの中から前記1つのマクロブロックの前記イントラフレーム予測で使用される予測モードに従って前記複数の近傍マクロブロックの1つのマクロブロックの処理結果が選択され、当該選択された処理結果を使用して前記第2動画像処理ユニットは前記第2の複数のマクロブロックの前記1つのマクロブロックの前記処理を実行する請求項14に記載の半導体集積回路。
  16. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、マクロブロックの処理結果と関係するデータを格納するメモリを含み、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記マクロブロックの直後の後続マクロブロックの処理でのイントラ・フレーム予測に前記メモリに格納された前記マクロブロックの前記処理結果と関係する前記データを使用する請求項15と請求項16のいずれかに記載の半導体集積回路。
  17. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続により構成され、
    前記第2動画像処理ユニットのパイプライン動作の開始タイミングは、前記第1動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の2つのタイムスロットまたはそれ以上遅延している請求項14から請求項16までのいずれかに記載の半導体集積回路。
  18. インターレース画像におけるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応する請求項17に記載の半導体集積回路。
  19. 前記第1動画像処理ユニットは1つのピクチャーの1つの行に配列された第1の複数のマクロブロックと前記1つの行の直後の第1後続行に配列された第2の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理する一方、前記第2動画像処理ユニットは前記第1後続行の直後の第2後続行に配列された第3の複数のマクロブロックと前記第2後続行の直後の第3後続行に配列された第4の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理して、
    前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続とにより構成され、
    前記第2動画像処理ユニットのパイプライン動作の開始タイミングは、前記第1動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の4つのタイムスロットまたはそれ以上遅延している請求項14から請求項16までのいずれかに記載の半導体集積回路。
  20. インタレース画像におけるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理に対応する請求項19に記載の半導体集積回路。
  21. 前記第1動画像処理ユニットと前記第2動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続と、
    前記複数の機能サブユニットに接続された複数の入出力インターフェースの従属接続とにより構成され、
    前記複数の入出力インターフェースは、前記第1動画像処理ユニットと前記第2動画像処理ユニットとのいずれかによるマクロブロックの処理結果と関係するデータを転送するものであり、
    前記第1動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第1データパスを介して前記第2動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続され、
    前記第2動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第2データパスを介して前記メモリユニットの入力に接続され、
    前記メモリユニットの出力は第3データパスを介して前記第1動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続される請求項17と請求項19とのいずれかに記載の半導体集積回路。
  22. 前記複数の入出力インターフェースのそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニットが使用するか否かを判別して、使用する場合は前記対応するサブユニットへ前記データを供給するものである請求項21に記載の半導体集積回路。
  23. 前記第1の複数のマクロブロックと前記第2の複数のマクロブロックとを含むビットストリームを解析して、前記第1の複数のマクロブロックを前記第1動画像処理ユニットへ供給して、前記第2の複数のマクロブロックを前記第2動画像処理ユニットへ供給するコントローラを更に具備する請求項17と請求項19とのいずれかに記載の半導体集積回路。
  24. 記憶装置と前記第1動画像処理ユニットおよび前記第2動画像処理ユニットとの間で前記ビットストリームを転送するダイレクトメモリアクセスコントローラを更に具備する請求項23に記載の半導体集積回路。
  25. 前記第1動画像処理ユニットと前記第2動画像処理ユニットの前記複数の機能サブユニットは前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成され、
    システム初期化のシーケンスに前記機能ブロックを符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号が供給され、前記動作モード信号による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号により指示された装置として動作する請求項14から請求項24までのいずれかに記載の半導体集積回路。
  26. 前記メモリユニットは、前記1つのピクチャーの前記1つの行に配列された前記第1の複数のマクロブロックの前記第1動画像処理ユニットによる前記処理結果と関係する前記1つの行分の前記データを格納するラインメモリである請求項14から請求項24までのいずれかに記載の半導体集積回路。
JP2006214869A 2006-08-07 2006-08-07 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路 Active JP4789200B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006214869A JP4789200B2 (ja) 2006-08-07 2006-08-07 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
US11/834,449 US8223838B2 (en) 2006-08-07 2007-08-06 Parallel processing circuit for intra-frame prediction
US13/533,570 US20120263233A1 (en) 2006-08-07 2012-06-26 Data processing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006214869A JP4789200B2 (ja) 2006-08-07 2006-08-07 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路

Publications (2)

Publication Number Publication Date
JP2008042571A true JP2008042571A (ja) 2008-02-21
JP4789200B2 JP4789200B2 (ja) 2011-10-12

Family

ID=39029142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006214869A Active JP4789200B2 (ja) 2006-08-07 2006-08-07 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路

Country Status (2)

Country Link
US (2) US8223838B2 (ja)
JP (1) JP4789200B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063646A1 (ja) * 2007-11-16 2009-05-22 Panasonic Corporation 画像復号装置及び画像復号方法
JP2011023995A (ja) * 2009-07-16 2011-02-03 Renesas Electronics Corp 動画像処理装置およびその動作方法
CN102385743A (zh) * 2010-08-30 2012-03-21 富士通半导体股份有限公司 图像处理装置、图像处理方法和调度装置
WO2012035728A1 (ja) 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US8442333B2 (en) 2008-03-27 2013-05-14 Renesas Electronics Corporation Parallel processing image encoding device with variable length coding
JP2015073178A (ja) * 2013-10-02 2015-04-16 ルネサスエレクトロニクス株式会社 動画像復号処理装置およびその動作方法
EP3073378A1 (en) 2015-03-25 2016-09-28 Renesas Electronics Corporation Processing apparatus and control method thereof
US10116936B2 (en) 2014-09-24 2018-10-30 Hitachi Information & Telecommunication Engineering, Ltd. Moving image coding device, moving image decoding device, moving image coding method, and moving image decoding method

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101439848B1 (ko) * 2008-01-08 2014-09-17 삼성전자주식회사 움직임 보상 방법 및 장치
CN101668203A (zh) * 2008-09-05 2010-03-10 扬智科技股份有限公司 图像处理装置与其存储器配置方法
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
KR101292668B1 (ko) * 2009-10-08 2013-08-02 한국전자통신연구원 멀티프로세서기반의 영상 복호화 장치 및 방법
KR20110055022A (ko) * 2009-11-19 2011-05-25 한국전자통신연구원 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법
US8988531B2 (en) 2010-07-08 2015-03-24 Texas Instruments Incorporated Method and apparatus for sub-picture based raster scanning coding order
US9307260B2 (en) * 2010-07-30 2016-04-05 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, image decoding method, image coding apparatus, and image coding method
CN105959706B (zh) * 2011-01-12 2021-01-08 三菱电机株式会社 图像编码装置和方法、以及图像译码装置和方法
WO2012167418A1 (en) * 2011-06-07 2012-12-13 Technicolor (China) Technology Co., Ltd. Method for encoding and/or decoding images on macroblock level using intra-prediction
US8560719B2 (en) * 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
WO2013109123A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US9456213B2 (en) * 2013-07-17 2016-09-27 Hangzhou Danghong Technology Co., Ltd. Method for simultaneously encoding macroblock groups of frame
JP6127964B2 (ja) * 2013-12-26 2017-05-17 ソニー株式会社 信号切換装置および信号切換装置の動作制御方法
US9788078B2 (en) * 2014-03-25 2017-10-10 Samsung Electronics Co., Ltd. Enhanced distortion signaling for MMT assets and ISOBMFF with improved MMT QoS descriptor having multiple QoE operating points
CN104038766A (zh) * 2014-05-14 2014-09-10 三星电子(中国)研发中心 用于以图像帧为基础执行并行视频编码的装置及其方法
KR102273670B1 (ko) 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
US20160360234A1 (en) 2015-06-03 2016-12-08 Apple Inc. Techniques For Resource Conservation During Performance Of Intra Block Copy Prediction Searches
CN112422983B (zh) * 2020-10-26 2023-05-23 眸芯科技(上海)有限公司 通用多核并行解码器系统及其应用

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05308622A (ja) * 1992-04-28 1993-11-19 Mitsubishi Electric Corp 画像符号化・復号化装置
JPH0984004A (ja) * 1995-09-08 1997-03-28 Mitsubishi Electric Corp 画像処理装置
JP2004140473A (ja) * 2002-10-15 2004-05-13 Sony Corp 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム
JP2005191690A (ja) * 2003-12-24 2005-07-14 Toshiba Corp 動画像復号化装置および動画像復号化方法
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006129285A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2006165699A (ja) * 2004-12-02 2006-06-22 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0837662A (ja) * 1994-07-22 1996-02-06 Hitachi Ltd 画像符号化復号化装置
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
JP4335516B2 (ja) * 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
JP2005005844A (ja) * 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
KR100647295B1 (ko) * 2004-11-10 2006-11-23 삼성전자주식회사 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05308622A (ja) * 1992-04-28 1993-11-19 Mitsubishi Electric Corp 画像符号化・復号化装置
JPH0984004A (ja) * 1995-09-08 1997-03-28 Mitsubishi Electric Corp 画像処理装置
JP2004140473A (ja) * 2002-10-15 2004-05-13 Sony Corp 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム
JP2005191690A (ja) * 2003-12-24 2005-07-14 Toshiba Corp 動画像復号化装置および動画像復号化方法
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006129285A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2006165699A (ja) * 2004-12-02 2006-06-22 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565315B2 (en) 2007-11-16 2013-10-22 Panasonic Corporation Image decoding device and image decoding method
JPWO2009063646A1 (ja) * 2007-11-16 2011-03-31 パナソニック株式会社 画像復号装置及び画像復号方法
WO2009063646A1 (ja) * 2007-11-16 2009-05-22 Panasonic Corporation 画像復号装置及び画像復号方法
US8442333B2 (en) 2008-03-27 2013-05-14 Renesas Electronics Corporation Parallel processing image encoding device with variable length coding
JP2011023995A (ja) * 2009-07-16 2011-02-03 Renesas Electronics Corp 動画像処理装置およびその動作方法
US8483279B2 (en) 2009-07-16 2013-07-09 Renesas Electronics Corporation Moving image parallel processor having deblocking filters
CN102385743A (zh) * 2010-08-30 2012-03-21 富士通半导体股份有限公司 图像处理装置、图像处理方法和调度装置
US8648934B2 (en) 2010-08-30 2014-02-11 Fujitsu Semiconductor Limited Image processing apparatus, image processing method and scheduling apparatus
WO2012035728A1 (ja) 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
WO2012035730A1 (ja) 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US8982964B2 (en) 2010-09-16 2015-03-17 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
US9185406B2 (en) 2010-09-16 2015-11-10 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
JP2015073178A (ja) * 2013-10-02 2015-04-16 ルネサスエレクトロニクス株式会社 動画像復号処理装置およびその動作方法
US10158869B2 (en) 2013-10-02 2018-12-18 Renesas Electronics Corporation Parallel video decoding processing apparatus and operating method thereof
US10116936B2 (en) 2014-09-24 2018-10-30 Hitachi Information & Telecommunication Engineering, Ltd. Moving image coding device, moving image decoding device, moving image coding method, and moving image decoding method
EP3073378A1 (en) 2015-03-25 2016-09-28 Renesas Electronics Corporation Processing apparatus and control method thereof
KR20160115680A (ko) 2015-03-25 2016-10-06 르네사스 일렉트로닉스 가부시키가이샤 처리 장치 및 처리 장치의 제어 방법
JP2016181870A (ja) * 2015-03-25 2016-10-13 ルネサスエレクトロニクス株式会社 処理装置及び処理装置の制御方法
US10452587B2 (en) 2015-03-25 2019-10-22 Renesas Electronics Coproration Processing apparatus and control method thereof

Also Published As

Publication number Publication date
JP4789200B2 (ja) 2011-10-12
US20080031329A1 (en) 2008-02-07
US8223838B2 (en) 2012-07-17
US20120263233A1 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
JP4789200B2 (ja) 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
JP6281851B2 (ja) 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
JP2009544225A (ja) ビデオ圧縮用並列処理装置
US10986373B2 (en) Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device
JP4879269B2 (ja) 復号化方法及び装置
US8483279B2 (en) Moving image parallel processor having deblocking filters
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
CN104521234B (zh) 合并去区块处理和取样自适应偏移处理的视频处理方法和装置
JP5275454B2 (ja) 画像復号装置
JP2012175424A (ja) 符号化処理装置および符号化処理方法
JP5580541B2 (ja) 画像復号化装置および画像復号化方法
JP2008141782A (ja) 復号化回路、復号化装置、及び復号化システム
JP5265984B2 (ja) 画像符号化装置及び復号装置
JP2006166308A (ja) 復号化装置及び復号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090727

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110119

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

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4789200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350