JP2006042364A - ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法 - Google Patents

ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法 Download PDF

Info

Publication number
JP2006042364A
JP2006042364A JP2005218214A JP2005218214A JP2006042364A JP 2006042364 A JP2006042364 A JP 2006042364A JP 2005218214 A JP2005218214 A JP 2005218214A JP 2005218214 A JP2005218214 A JP 2005218214A JP 2006042364 A JP2006042364 A JP 2006042364A
Authority
JP
Japan
Prior art keywords
memory
data
partitions
address
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005218214A
Other languages
English (en)
Other versions
JP5301761B2 (ja
Inventor
Daisei Cho
趙 大 星
Sang-Jo Lee
李 相 祚
Doohyun Kim
斗 ▲玄▼ 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006042364A publication Critical patent/JP2006042364A/ja
Application granted granted Critical
Publication of JP5301761B2 publication Critical patent/JP5301761B2/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/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System (AREA)

Abstract

【課題】 独立的にアクセス可能なメモリバンク構造を利用して、メモリに映像データを記録し、またはメモリから映像データを再生するのにかかる総サイクル数を減少させるビデオデコーダ/エンコーダでのメモリマッピング装置及びその方法を提供する。
【解決手段】 映像データを符号化の基本単位であるマクロブロックに分け、それぞれのマクロブロックを所定サイズのパーティションに分割する分割部1100と、それぞれ独立的にアクセス可能な少なくとも一つ以上のメモリバンクを備える保存部1120と、パーティションのうち互いに隣接したパーティションを、メモリバンクのうち相異なるメモリバンクに対応させるメモリ割り当て部1110と、を備える。
【選択図】 図11A

Description

本発明は、ビデオデコーダ/エンコーダでのメモリマッピング装置及びその方法に係り、より詳細には、独立的にアクセス可能なメモリバンク構造を利用したメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法に関する。
H.264/AVCは、国際標準化機構であるISO/IEC MPEG及びITU−T VCEGの協力プロジェクトであるJVT(Joint Video Team)の標準化技術である(‘Text of ISO/IEC FDIS 14496−10:Information Techonology−Coding of audio−visual objects−Part 10:Advanced Video Coding’、ISO/IEC JTC 1/SC 29/WG 11.n5555、March 2003)。
図1は、H.264/AVC標準によるデコーダの概略的なブロック図である。
図1に示すように、デコーダの速度を向上させるために、エントロピー復号化器(P1)105、予測部(P2)110及びデブロックフィルタ(P3)115が、マクロブロック単位のパイプラインを通じて動作する。マクロブロック単位のパイプライン動作のコントロールと、映像データのヘッダ情報の解析は、RISCコア(P0)100が担当する。
コデック(codec)には、2つのバスが存在する。一つは、外部バッファ(図示せず)、RISCコア100、予測部110及びデブロックフィルタ115を連結する外部バス135であり、他の一つは、それぞれのモジュール(P0ないしP3)100、105、110、115とオンチップ(on−chip)SRAM 120とを連結する内部バス130である。そして、パーサバッファ(parser buffer)140とPCIユニット145とが、内部バス130に連結される。
RISCコア100をはじめとする各モジュール105、110、115は、バスマスタとして動作するので、連結されたバスに対するマスタを持つラッパー(wrapper)が必要である。RISCコア100はインストラクションSRAM155に直接連結される。
以下、H.264/AVC規格に従ったデコーダの操作を説明する。
PCIスレーブインターフェースを通じてNAL(Network Abstraction Layer)ビデオビットストリームが入力される。このストリームは、RISCコア100により必要なデータ単位に分離され、エントロピー復号化器(P1)105でエントロピーデコーディングされて、パーサバッファ140に保存される。速い処理を実現するために、RISCコア100とエントロピー復号化器105とは、別途のパーサバッファにデータを保存する。
パーサバッファ140は、一つのマクロブロックをデコーディングするために必要な程度の大きさを持つ。パーサバッファ140に保存されたデータは、一つのマクロブロック単位でエントロピー復号化器105により読み取られ、シンタックス(syntax)別にパージングが進む。
パージングでは、CAVLD(Context Adaptive Variable Length Decoding)とCABAD(Context Adaptive Binary Arithmetic Decoding)とが主な計算である。CAVLDユニットは、RISCコア100におけるパージング過程でExp−Golomb code演算を助けることもある。エントロピー復号化器105でデコーディングされたデータは、予測部(P2)110に伝えられる。エントロピー復号化器105と予測部110とは、両者間に位置したデュアルオンチップSRAM107を通じてデータを送受信することによって、両者間のデータ伝達時に内部バス130を使用しない。エントロピー復号化器105は、エントロピーデコーディングを行う途中に必要な情報を、内部バス130を通じてオンチップSRAM120にアクセスして得る。一般的に、オンチップSRAM120の大きさは、約16KB程度である。
予測部110は、デュアルオンチップSRAM107に保存されたデータを伝達され、外部バッファから参照するデータを、メモリコントローラ125を通じて得る。予測部110は、外部バス135を通じて外部バッファのデータにアクセスする場合、帯域幅がかなり広い。すなわち、予測部110は、リアルタイム処理のために同時にアクセスしなければならないデータ量がかなり多い。特に、H.264/AVCコデックの場合、従来の他のビデオ標準に比べてアクセスしなければならないデータ量が多い。
予測が終わってデュアルオンチップSRAM112に保存されたデータが、デブロックフィルタ115に伝送される。デブロックフィルタ115は、予測部110で得た復元されたデータのブロック効果を減らすためのフィルタ計算を行い、その結果をSRAMに保存する。SRMAに保存された結果は、外部バッファに保存される。SRAMに保存された計算結果を外部バッファに伝送する部分を、一つのパイプラインステップに独立させて進める。
図2は、予測に必要な基本単位であるマクロブロック及びサブマクロブロックのパーティションを示す図面である。
図1及び図2に示すように、予測部110は、最小4×4バイトサイズのパーティションから16×16バイトサイズのパーティションまで、多様なブロックの大きさ単位で予測を行う。例えば、サブマクロブロックは、マクロブロックを8×8バイトサイズ単位のパーティションに分割した場合に、それぞれの8×8単位ブロックを示し、必要に応じて予測部110は、サブマクロブロックを8×4、4×8または4×4バイトサイズに分けて予測に利用する。
H.264コデックで、予測部110は、lumaデータの場合には6タップフィルタを使用し、chromaデータの場合には二進補間フィルタを使用するので、パーティションデータだけでなく周囲のデータをさらに外部バッファで読み取らなければならない。
予測部110が4×4ブロック単位で動き予測する場合は、16×16または8×8ブロック単位を利用する他のコデックよりデータアクセス量が多くなる。したがって、相互予測(inter−prediction)の場合、外部バッファでデータを読み取るとき、効果的なメモリ管理が非常に重要である。
図3Aないし図3Cは、バーストモードのタイムダイヤグラムを示す図面である。
バーストモード(連続記録/再生方法)は、DMA(Direct Memory Access)を通じて外部バッファで1回に多量のデータを読み取ることによって、バスの使用効率を向上させる方法である。
64ビット(8バイト)のデータバスを使用する場合、図3Aでは、1回に64ビットのデータ(DATA)にアクセスし、図3Bでは、64ビットのデータに4回同時にアクセスし、図3Cでは、64ビットのデータに8回同時にアクセスする。図3B及び図3Cの場合に、バーストモードを使用するためには、記録/再生しようというデータが互いに連続した位置にある必要がある。
データが保存される外部のバッファのアドレスが要求される場合には、メモリコントローラ125は、要求されたアドレスに対応するデータにアクセスして、連続して要求されたアドレスと64ビットである次のアドレスに対応する次のデータにアクセスする。この次のアドレスに対応する次のデータと要求されたアドレスに対応するデータは連続した位置にあるので、64ビットサイズに増加したアドレスを通じて、該当するデータに連続的にアクセスする。
図3Aないし図3Cの場合に、メモリコントローラ125は、アクセスするデータが保存されたアドレスを要請されれば、一定時間が遅延した後、該当データにアクセスする。したがって、同じ量のデータにアクセスする場合に、図3Aに比べて図3B及び図3Cの場合の方が、はるかに短時間で済む。これは、アドレスを要請してデータを得るまでの遅延時間が、いろいろなデータに同時にアクセスする場合には色々なデータにその都度アクセスする場合に比べはるかに短くて済むからである。
もし、特定外部バッファの遅延時間が6サイクルかかり、64ビットのデータにアクセスするのに1サイクルかかると仮定すれば、図3Aの場合には、64ビットのデータにアクセスするのに7サイクルかかり、図3Bの場合には、256ビット(64×4ビット)のデータにアクセスするのに10サイクルかかり、図3Cの場合には、512ビット(64×8ビット)のデータにアクセスするのに14サイクルかかる。もし、512ビットのデータに図3Aの方法でアクセスするとすれば、56サイクル(7×8サイクル)かかり、図3Bの方法でアクセスするとすれば、20サイクル(10×2サイクル)かかる。したがって、1回のアドレスを要請し、いろいろなデータに同時にアクセスできれば、バスの使用率を高めることができる。
一般的に、DMAを通じて外部バッファでデータを読み取るとき、バーストモードを使用すれば、1回に多くのデータを読み取ることができて、同じサイクルの間にさらに多くのデータを読み取ることができて、効率的である。しかし、1回のアドレス割り当て後、連続的に読み取れるデータ量には限界があるので、バーストモードを使用するとしても、データにアクセスするのに発生する遅延問題が依然としてバスの使用効率を落とす。また、ブロック単位のデータにアクセスするので、データの連続性が保証されず、バーストモードの効率的使用が困難である。
図4ないし図6は、従来の映像データをメモリに保存してアクセスする方法を示す図面である。
図4は、映像(PICTURE)データをメモリ(MEMORY)に保存する方法を示す図面である。図4に示す映像データをメモリに保存する方法は、M×Nサイズの映像データを順次走査の順に読みとってメモリに順次に保存する。
図5は、図4の映像マップで映像の特定領域をアクセスする過程を示す図面である。最初のブロックをアクセスしようとする場合に、ブロックの各ラインはメモリで互いに隣接した位置に存在していないので、各ラインを読み取る度に新たなアドレスを要請するので、多くの遅延が発生する。
図6は、図5のピクチャーマップで映像の特定領域をアクセスする場合のタイムダイヤグラムを示す図面である。図6に示すピクチャーマップで映像の特定領域をアクセスする場合には、それぞれのラインを読み取る度に遅延が発生し、16×16マクロブロックのデータにアクセスしようとする場合には、16回の遅延が発生する。
本発明が解決しようとする技術的課題は、独立的にアクセス可能なメモリバンク構造を利用して、メモリに映像データを記録し、またはメモリから映像データを再生するのにかかる総サイクル数を減少させるビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法を提供するところにある。
本発明が解決しようとする他の技術的課題は、映像データの符号化方法によって、フレーム単位メモリマッピング及びフィールド単位メモリマッピングをそれぞれ区分して適用することによって、メモリに映像データを記録し、またはメモリから映像データを再生するのにかかる総サイクル数を減少させるビデオコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法を提供するところにある。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング装置の一実施形態は、映像データを符号化の基本単位であるマクロブロックに分け、前記それぞれのマクロブロックを所定サイズのパーティションに分割する分割部と、それぞれ独立的にアクセス可能な少なくとも一つ以上のメモリバンクを備える保存部と、前記パーティションのうち互いに隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させるメモリ割り当て部と、を備える。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング装置の他の実施形態は、それぞれ独立的にアクセス可能な少なくとも一つ以上のメモリバンクで構成される保存部と、映像データのマクロブロックを構成するパーティションのうち、隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させ、前記パーティションと前記メモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理するメモリ割り当て部と、前記映像データの所定位置のデータが属するマクロブロック及びパーティション位置を把握し、前記把握されたマクロブロック及びパーティション位置情報に基づいて前記アドレス対応参照表を参照して、前記所定位置のデータが保存された前記メモリバンクのアドレスを生成するアドレス発生部と、を備える。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング装置の他の実施形態は、映像データの符号化方式がフレーム単位であるか、フィールド単位であるかを把握する符号化方法把握部と、前記データを符号化の基本単位であるマクロブロックに分割し、前記符号化方式がフレーム単位であれば、前記それぞれのマクロブロックをフレーム単位パーティションに分割し、前記符号化方式がフィールド単位であれば、前記それぞれのマクロブロックを前記フィールド単位パーティションに分割する分割部と、それぞれ独立的にアクセス可能な少なくとも一つ以上のメモリバンクを備える保存部と、前記パーティションのうち互いに隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させるメモリ割り当て部と、を備える。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング方法の一実施形態は、映像データを符号化の基本単位であるマクロブロックに分けるステップと、前記それぞれのマクロブロックを所定サイズのパーティションに分割するステップと、前記パーティションのうち隣接したパーティションを、それぞれ独立的にアクセス可能な少なくとも一つ以上のメモリバンクのうち、相異なるメモリバンクに対応させるステップと、前記パーティションと対応するメモリバンクのアドレスと、前記パーティションの対応関係を表すアドレス対応参照表と、を生成し、かつ管理するステップと、を含む。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング方法の他の実施形態は、映像データのマクロブロックを構成するパーティションのうち隣接したパーティションを、それぞれ独立的にアクセス可能なメモリバンクのうち、相異なるメモリバンクに保存するステップと、前記パーティションと対応する前記メモリバンクのアドレスと、前記パーティション間の対応関係を表すアドレス対応参照表とを生成し、かつ管理するステップと、前記映像データの所定位置のデータが属するマクロブロック及びパーティション位置を把握し、前記把握されたパーティション位置情報に基づいて、前記所定位置のデータを含むパーティションが位置したメモリバンクのアドレスを、前記アドレス対応参照表を参照して生成するステップと、を含む。
前記の技術的課題を達成するための、本発明によるビデオデコーダ/エンコーダでのメモリマッピング方法の他の実施形態は、映像データの符号化方式がフレーム単位であるか、フィールド単位であるかを把握するステップと、前記データを符号化の基本単位であるマクロブロックに分割し、前記符号化方式がフレーム単位であれば、前記それぞれのマクロブロックをフレーム単位でパーティションし、前記符号化方式がフィールド単位であれば、前記それぞれのマクロブロックを前記フィールド単位にパーティションするステップと、前記パーティションのうち互いに隣接したパーティションを、それぞれ独立的にアクセス可能なメモリバンクのうち、相異なるメモリバンクに対応させるステップと、を含む。
これにより、映像データの記録/再生にかかる総サイクル数を減少できる。
本発明によれば、メモリバンク構造を利用して、デコーダ/エンコーダが動き予測補償に必要なデータをメモリに記録し、またはメモリから再生する場合にかかる総サイクル数を、従来技術より約2倍程度減少できる。また、本発明は、フレーム単位の動き予測補償またはフィールド単位の動き予測補償によって、マクロブロックをそれぞれフレーム単位またはフィールド単位のパーティションに分割して、それぞれ隣接しないようにメモリバンクに保存することによって、動き予測補償のためにデコーダがメモリからデータを再生するのにかかる総サイクル数を減少できる。
以下、添付された図面を参照して、本発明によるビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法について詳細に説明する。
図7及び図8は、本発明によるメモリマッピング方法の一実施形態を示す図面である。
図7に示すように、映像は、エンコーディングの基本単位であるマクロブロックに分けられる。マクロブロックは、一般的に16×16バイトのサイズを持つ。本発明によるメモリマッピング方法は、映像をそれぞれのマクロブロック単位にスキャンした後、マクロブロック単位で順次にメモリにマッピングする。言い換えれば、最初のマクロブロック内の映像をスキャンして得たデータをメモリの最初の位置にマッピングし、2番目のマクロブロック内の映像をスキャンして得たデータをメモリの2番目の位置にマッピングする。このような方法で、映像の最後のマクロブロックまでメモリマッピングを行う。
図8に示すように、図7の示したメモリマッピング方法は、従来のメモリ保存方法(図4及び図5)と違って、1回の遅延(LATENCY)だけで一つのマクロブロック内の映像データをメモリから読み取ることができる。したがって、本発明によるメモリマッピング方法は、効率的なバス活用が可能であり、同一時間に従来のメモリマッピング方法より多くのデータのアクセスが可能である。すなわち、図8は、1回のバーストモード演算で一つのマクロブロックをいずれもアクセスできる。
しかし、バーストモードが64ビットのバスを使用し、図3B及び図3Cに示したバーストモード方法を通じて、メモリから16×16バイトサイズのマクロブロックを読み取る場合には、追加的な遅延が発生する。
まず、図3Bのバーストモードを使用する場合を説明すれば、1回のバーストモードで読み取れるデータのサイズは、32バイト(8バイト(64ビット)×4)であるので、マクロブロック(16×16バイト)をすべて読み取るのに8回((16×16)/32)の遅延が発生する。
図3Cのバーストモードを使用する場合を説明すれば、1回のバーストモードで読み取れるデータのサイズは64バイト(8バイト(64ビット)×8)であるので、マクロブロックをすべて読み取るのに4回((16×16)/64)の遅延が発生する。このような、追加的な遅延を防止するための構成が図9、図10A及び図10Bに図示されている。
図9、図10A及び図10Bは、インターリービングされたメモリ構造を利用して、メモリをマッピングしてアクセスする方法を示す図面である。
図9に示すように、メモリ(MEMORY)920は互いに独立したアドレスアクセス構造を持つ4個のメモリバンク(BANK)922、924、926、928で構成される。デコーダコア900とメモリコントローラ910とは、mビットサイズのバスで連結され、メモリコントローラ910とメモリ920とは、nビットサイズのバスで連結される。メモリとしてSDRAMを使用する場合に、mとnとは同じ値を持ち、DDR(Doble Data Rate)SDRAMを使用する場合、mはnの2倍である。なぜなら、DDR SDRAMは、一クロックサイクルに2回のデータアクセスが可能であるからである。
図10A及び図10Bには、図9に示したメモリ920にアクセスする具体的な過程が図示されている。デコーダコア900が、メモリ920のそれぞれのメモリバンク922、924、926、928で、それぞれ一定サイズのデータ1000、1002、1004、1006をアクセスしようとする場合に、メモリコントローラ910は、アクセスしようとするデータが位置した場所のアドレス(ADDR0〜3)1020、1022、1024、1026を、アドレスバス1008を通じてそれぞれのメモリバンク922、924、926、928に伝送する。
メモリコントローラ910は、メモリバンク0 922のデータ1000をアクセスするために、アドレスバス1008を通じてアドレス1020を伝送し、データ1000のアクセスまでの遅延時間の間に、メモリバンク1 924、メモリバンク2 926、メモリバンク3 928に対するそれぞれのアドレス1022、1024、1026を順にアドレスバス1008を通じてそれぞれのメモリバンク924、926、928に伝送する。したがって、順次にメモリバンク0 922からメモリバンク3 928に位置したデータ1000、1002、1004、1006をアクセスできる。すなわち、メモリバンク構造を使用しない場合には4回の遅延が発生するが、インターリービングされたメモリバンク構造を使用すれば、1回の遅延で4個のメモリバンクに位置したデータにアクセスできる。
したがって、インターリービングされたメモリバンク構造のメモリを使用すれば、図8で説明した追加的な遅延を防止し、1回の遅延でメモリに保存されたマクロブロックのデータをアクセスできる。
図11Aは、本発明によるメモリマッピング装置の構成を示す図面である。
図11Aに示すように、メモリマッピング装置は、分割部1100、メモリ割り当て部1110及び保存部1120で構成される。
分割部1100は、映像データを符号化の基本単位であるマクロブロックに分割する。一般的に、マクロブロックのサイズは16×16バイトである。なお、マクロブロックについては、図2で説明した。また分割部1100は、それぞれのマクロブロックを所定サイズのパーティションに分割する。パーティションのサイズは、バーストモードで1回のアドレス要請後、連続してアクセス可能なデータのサイズである。例えば、64ビット(8バイト)のデータバスを使用して、図3Aに示したバーストモード方法を使用する場合に、パーティションのサイズは8バイトであり、図3Bの場合には、32バイト(8×4)であり、図3Cの場合には、64バイト(8×8)である。
そして、分割部1100は、映像データの複数のマクロブロック及び複数のパーティションを区分するために、それぞれのマクロブロック及びパーティションにインデックス番号を付与する。例えば、分割部1100は、映像データをマクロブロックに分割した後、上方から下方に、左側から右側にそれぞれのマクロブロックに0〜nまで順次にインデックス番号を割り当て、それぞれのマクロブロック内のパーティションも、メモリバンクに対応する順序によって、0〜nまで順次にインデックス番号を割り当てる。
また、分割部1100は、映像データの符号化方式がフレーム単位であるか、フィールド単位であるかによって、フレーム単位またはフィールド単位で映像データを分割する。フレーム単位またはフィールド単位の映像データ分割については、図22A及び図22Bを参照して後述する。
保存部1120は、それぞれ独立的にアクセス可能ないろいろなメモリバンクで構成される。なお、メモリバンクの構造は図9及び図10Aで説明した。図10Aで説明したように、それぞれのメモリバンクはそれぞれ独立的にアドレスを伝送されて、アドレスに該当する位置のデータを出力する。したがって、図10Bに示すように、1回の遅延で複数のメモリバンクに位置したデータをアクセスできる。一方、保存部1120は、それぞれのメモリバンクにパーティション単位でデータを保存する。
メモリ割り当て部1110は、それぞれのマクロブロックのパーティションを、保存部1120のそれぞれのメモリバンクに割り当てる。このとき、メモリ割り当て部1110は、マクロブロック内の複数のパーティションのうち隣接したパーティションを、相異なるメモリバンクに割り当てる。例えば、図14に示すように、パーティション0は、パーティション1、2と隣接するので、パーティション0をメモリバンク0に割り当てれば、パーティション1、2をメモリバンク0以外の他のメモリバンクに割り当てる。これについては、図14ないし図21を参照して後述する。
一方、メモリ割り当て部1110は、パーティションとそれぞれのメモリバンクとの対応関係を表すアドレス対応参照表を生成し、かつ管理する。すなわち、メモリ割り当て部1110は、マクロブロック及びパーティションのインデックス番号とメモリバンクのアドレスとを対応させたアドレス対応参照表を生成し、かつ管理する。これにより、デコーダまたはエンコーダが映像データの所定位置のデータをメモリバンクに記録し、またはメモリバンクを再生しようとする場合、該当するアドレス対応参照表を通じてメモリバンクの実際アドレスを把握できる。
なお、メモリマッピング装置は、パーティションとメモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理するアドレス対応部をさらに備えていてもよい。
図11Bは、本発明によるメモリマッピング装置の他の実施形態の構成を示す図面である。
図11Bを参照すれば、メモリマッピング装置は、メモリ割り当て部1150、アドレス発生部1160、保存部1170及びデータアクセス部1180で構成される。
メモリ割り当て部1150及び保存部1170は、図11Aで説明したメモリ割り当て部1110及び保存部1120とその機能及び構成が同一であるので、ここでは詳細な説明を省略する。
データアクセス部1180が映像データの所定位置(x,y)のデータを保存部1170に記録し、または再生しようとする場合に、データアクセス部1180は、アドレス発生部1160に、所定位置のデータに対応するメモリバンクのアドレスを要請する。
それにより、アドレス発生部1160は、所定位置(x,y)のデータを保存する保存部1170のメモリバンクのアドレスを生成する。バーストモードでは、ピクセル単位でデータにアクセスせずに、1回でアクセスできる基本データ単位であるパーティション単位でデータにアクセスするので、所定位置のピクセルデータが位置したパーティションが保存されたメモリバンクのアドレスを求めなければならない。
具体的に説明すれば、アドレス発生部1160は、所定位置(x,y)のピクセルデータを含むマクロブロックのインデックス番号を探す。そして、アドレス発生部1160は、所定位置(x,y)のピクセルデータを含むアクセス基本単位であるパーティション領域を求め、このパーティション領域が属するマクロブロックを把握する。例えば、パーティションのサイズが4×8バイトであれば、アドレス発生部1160は、(x,y)位置から水平方向に4バイト、垂直方向に8バイトのサイズからなる矩形の領域を求め、この領域が属するマクロブロック及びパーティションのインデックス番号を求める。そして、アドレス発生部1160は、把握したマクロブロック及びパーティションのインデックス番号に基づいて、メモリ割り当て部1150のアドレス対応参照表を参照して、実際のメモリバンクのアドレスを求める。
データアクセス部1180は、映像データの所定位置のデータが必要である場合、所定位置の実際のアドレスを、アドレス発生部1160を通じて求め、この求めた実際のアドレスに基づいて保存部1170にデータを要請して、データを受信する。この場合に、隣接したパーティションはそれぞれ他のメモリバンクに保存されるので、図10Bに示すように、1回の遅延で複数のメモリバンクに保存されたデータにアクセスできる。
データアクセス部1180は、映像データのエンコーディングまたはデコーディングを行うエンコーダまたはデコーダであり、その他に映像データを必要とする他のモジュールでもある。
図12は、本発明によるメモリマッピング方法の一実施形態を示すフローチャートである。
図12に示すように、分割部1100は、映像データをマクロブロックに区分する(S1200)。そして、分割部1100は、マクロブロックを、バーストモードでのデータ基本伝送単位であるパーティションに分割する(S1210)。
メモリ割り当て部1110は、隣接するパーティションが相異なるメモリバンクのアドレスに割り当てられるように、それぞれのパーティションをメモリバンクに割り当てる(S1220)。また、メモリ割り当て部1110は、パーティションとメモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理する(S1230)。
なお、映像データの所定位置のデータが必要ならば、所定位置の実際のアドレスを求め、この求めた実際のアドレスに基づいて保存部1120にデータを要請して、データを受信するステップを含んでいても良い。
また、ステップS1210は、それぞれのマクロブロックを奇数フィールド及び偶数フィールドに区分した後、奇数フィールド及び偶数フィールド別にマクロブロックを所定サイズのパーティションに分割してもよい。
図13は、本発明によるメモリマッピング方法の他の実施形態の一部を示すフローチャートである。
映像データをマクロブロックに区分する。そして、マクロブロックを、バーストモードでのデータ基本伝送単位であるパーティションに分割する。
メモリ割り当て部1150は、隣接するパーティションが相異なるメモリバンクのアドレスに割り当てられるように、それぞれのパーティションをメモリバンクに割り当てる。また、メモリ割り当て部1150は、パーティションとメモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理する。
そして、図13に示すように、アドレス発生部1160は、保存部1170に記録し、または再生しようとする映像データの所定位置のピクセルデータ(x,y)が属するマクロブロックの位置を求める(S1300)。アドレス発生部1160は、ピクセルデータ(x,y)が属するパーティションの水平位置及び垂直位置(xp,yp)を求める(S1310)。アドレス発生部1160は、マクロブロック内のパーティションのインデックスを求める(S1320)。メモリ割り当て部1110は、ピクセルデータ(x,y)が属するパーティションのメモリバンクのアドレスを、アドレス対応参照表を参照して求める(S1330)。
なお、データアクセス部1180は、映像データの所定位置のデータが必要ならば、所定位置の実際のアドレスを、アドレス発生部1160を通じて求め、この求めた実際のアドレスに基づいて保存部1170にデータを要請して、データを受信するステップを含んでいても良い。
以下、図14ないし図21では、映像データの基本符号化単位は16×16バイトサイズのマクロブロックであり、バーストモードの基本伝送単位であるパーティションのサイズは64ビット(8バイト、図3B)であり、メモリは、4個のメモリバンク(図9、図10A)からなる場合を仮定する。
図14は、フレームlumaデータをフレーム単位でメモリに割り当てる方法の一実施形態を示す図面である。
図14に示すように、バーストモードは64ビットのデータバスを使用し、図3Bのバーストモードを使用する。したがって、バーストモードのアクセス基本単位であるパーティションのサイズは4×8バイトである。したがって、マクロブロックは、8個のパーティションに分割される。
8個のそれぞれのパーティションは、4個のメモリバンク0〜3からなる保存部1120にそれぞれ対応する。このとき、隣接するパーティションは相異なるメモリバンク0〜3に対応する。すなわち、パーティション0はパーティション1及びパーティション2と隣接するので、パーティション0はメモリバンク0に対応し、パーティション1及びパーティション2はそれぞれメモリバンク1及びメモリバンク2に対応する。
図15は、フレームchromaデータをフレーム単位でメモリにマッピングする方法の一実施形態を示す図面である。
図15に示すように、4:2:0 chromaサンプリング方式により映像情報を表示する場合、8×8バイトサイズのCb及びCr成分の各ラインは互いに対をなして配置される。それにより、図15に示すように8×16バイトサイズのブロックが生成され、分割部1100は、このブロックを4×8バイトサイズのパーティションに分割する。そして、メモリ割り当て部1110は、隣接したパーティションを相異なるメモリバンク0〜3に対応させる。
図16は、本発明によるフレーム単位メモリマッピング方法で、フレーム単位の動き予測補償を行うために、ビデオデコーダが、4×4バイトサイズのパーティションに対してフレーム構造の参照ブロックをアクセスする一実施形態を示す図面である。
H.264標準は、6タップフィルタを使用するので、4×4バイトのパーティションに対する動き予測補償を行うために、デコーダが実際にアクセスするブロックのサイズは9×9バイトである。そして、動きベクトルによってアクセスしなければならない領域が、マクロブロックやパーティションの境界と正確に一致しないこともあり、最悪の場合、図16に示すように、6個のパーティションをいずれもアクセスしなければならない場合がある。
図16に示すように、デコーダは動き予測補償を行うためには、パーティション0〜6までのあらゆるパーティションをアクセスしなければならない。このとき、アクセスされるメモリバンクは、0、1、2、3、0、2の順序である。図14に示すように、隣接したパーティションは相異なるメモリバンクに対応するので、1回の遅延でメモリバンク0、1、2、3、0、2に保存されたデータをアクセスできる。したがって、図16の場合には、一つのメモリバンクを連続してアクセスしないので、1回の遅延だけであらゆるパーティションをアクセスできる。
例えば、遅延に6サイクルかかるとすれば、30サイクルが4×4ブロックの動き予測補償のために必要である。
図17は、本発明によるフレーム単位メモリマッピング方法で、フィールド単位の動き予測補償を行うために、ビデオデコーダが4×4サイズのパーティションに対してフィールド構造の参照ブロックをアクセスする方法の一実施形態を示す図面である。
デコーダはフィールド単位の動き予測補償のために映像データの偶数フィールド及び奇数フィールドのうちいずれか一つのフィールドデータだけにアクセスする。したがって、フィールド単位の動き予測補償のためには、9×9サイズではない垂直方向に2倍のサイズである9×18サイズの参照領域が必要である。最悪の場合、図17に示すように12個のパーティションをアクセスしなければならない。
図17に示すように、4×4サイズのパーティションに対する動き予測補償のために必要なパーティションは、0、1、2、3、4、6、0、1、2、3、4、6パーティションであり、そのためにアクセスされるメモリバンクは、0、1、2、3、0、2、0、1、2、3、0、2の順序である。フィールド単位の動き予測補償のために発生する遅延は1回であり、遅延に6サイクルかかるならば、動き予測補償のためにかかる総サイクルは、54サイクル(遅延6サイクル+12×4サイクル)である。
なお、分割部1100は、映像データを第1マクロブロックに分割し、第1マクロブロックを奇数フィールド及び偶数フィールドに区分した後、奇数フィールド及び偶数フィールドで構成される第2マクロブロックを、所定サイズのパーティションに分割する。
図18は、フィールドlumaデータをメモリにマッピングする方法を示す図面である。
図18に示すように、映像データをパリティのフィールドデータ同士で集束して4×8バイトサイズのパーティションに分ける。基本的にH.264の場合は、4×4ブロックの小さなブロックのアクセスも必要であるので、図18では、4×4より大きくて最も小さな基本単位の4×8サイズのブロックに分けた。この場合に、一つのマクロブロックは、8個のパーティションに分けられる。
隣接するパーティションを相異なるメモリバンクに位置させるために、メモリバンク0とメモリバンク2には偶数フィールドを対応させ、メモリバンク1とメモリバンク3には奇数フィールドを対応させる。
図19は、フィールドchromaデータをメモリにマッピングする方法を示す図面である。
図19に示すように、4:2:0 hromaサンプリング方式により映像情報を表示する場合、8×8バイトサイズのCb及びCrの各ラインを互いに対をなして図19のように構成する。この場合、1個のマクロブロックを4個のパーティションに分けることができ、4個のパーティションは4個のメモリバンクにそれぞれ対応する。Cb及びCrは常に同じ位置をアクセスするので、図19のように、Cb及びCr成分を飛越し走査方式で構成する。
図20は、本発明によるフィールド単位のメモリマッピング方法で、動き予測補償を行うために、ビデオデコーダが4×4サイズのパーティションに対してフレーム構造の参照ブロックをアクセスする一実施形態を示す図面である。
デコーダは、H.264の場合に6タップフィルタを使用するので、動き予測補償を行うために実際アクセスしなければならないブロックのサイズは9×9である。そして、動きベクトルによってアクセスしなければならない領域が、マクロブロックやパーティションの境界に正確に一致しないこともあり、最悪の場合、動き予測補償のために、図20に示すように12個のパーティションが必要である。
図16と違って、アクセスしなければならないパーティションの数が増加したことは、図18のようにフィールドデータ別にパーティションを分け、それぞれをメモリバンクで対応したからである。図20に示すように、4×4サイズのパーティションに対する動き予測補償のために必要なパーティションは、0、1、2、3、4、5、0、1、2、3、4、5のパーティションであり、そのためにアクセスされるメモリバンクは0、1、2、3、0、1、0、1、2、3、0、1の順序である。隣接したパーティションをアクセスする場合、相異なるメモリバンクをアクセスするので、図10のように遅延発生を減少させる。
図20では1回の遅延のみ発生するので、遅延が6サイクルかかるならば、動き予測補償のためにパーティションをアクセスするのにかかる総サイクルは、54サイクル(遅延6サイクル+12×4サイクル)である。
図21は、本発明によるフィールド単位のメモリマッピング方法で、動き予測補償を行うために、ビデオデコーダが4×4サイズのパーティションに対してフィールド構造の参照ブロックをアクセスする一実施形態を示す図面である。
デコーダは、フィールド単位の動き予測補償を行うために、映像データの偶数フィールド及び奇数フィールドのうちいずれか一つのフィールドデータのみをアクセスするので、9×9サイズではない垂直方向に二倍のサイズである9×18サイズの参照領域が必要である。動きベクトルによってアクセスしなければならない領域が、マクロブロックやパーティションの境界と正確に一致しないこともあり、最悪の場合、デコーダは、4×4サイズのパーティションに対して、動き予測補償のために図21に示すように6個のパーティションをアクセスしなければならない。
図21に示すように、偶数フィールドの動き予測補償のために必要なパーティションが0、2、4、0、2、4パーティションであれば、このときにアクセスされるメモリバンクは0、2、0、0、2、0の順序である。隣接したパーティションは相異なるメモリバンクに対応するので、図10に示すように遅延発生が減少する。図21では、パーティションにアクセスを始める時に1回の遅延が発生し、パーティションアクセス過程で0回のメモリバンクを連続してアクセスするので、1回の遅延がさらに発生する。したがって、1回の遅延に6サイクルかかるならば、4×4ブロックの動き予測補償のためにかかる総サイクルは、36サイクル(6×2+6×4)である。
もし、奇数フィールドをアクセスする場合には、パーティション1、3、5、1、3、5の順序でアクセスすれば、このときにアクセスされるメモリバンクは、1、3、1、1、3、1の順序からなる。偶数フィールドの場合と同じく、アクセスを始める時に1回の遅延が発生し、中間に1番メモリバンクの連続的なアクセスにより1回の遅延が発生する。したがって、偶数フィールドの場合と同じく、奇数フィールドの場合にも総36サイクルかかる。
図14ないし図21に示すように、フレーム単位のデータをアクセスしようとする場合には、フレーム単位でパーティションを分け、フィールド単位のデータをアクセスしようとする場合には、フィールド単位でパーティションを分けてそれぞれをメモリバンクに対応させることが効率的であるということが分かる。このような特徴を反映したメモリマッピング装置及びメモリマッピング方法の一実施形態を、図22A及び図22Bを参照して詳細に説明する。
図22Aは、本発明によるメモリマッピング装置の他の実施形態の構成を示す図面である。
図22Aに示すように、メモリマッピング装置は、符号化方法把握部2270、分割部2275、メモリ割り当て部2280、保存部2285で構成される。
保存部2285は、図11Aで説明した保存部1120とその構成と機能が同一であるので、ここで詳細な説明は省略する。
符号化方法把握部2270は、映像データの符号化方法を把握する。符号化方法には、フレーム単位の符号化方法及びフィールド単位の符号化方法がある。
分割部2275は、映像データをマクロブロックに分割する。そして、符号化方法把握部2270により映像データの符号化方法がフレーム単位の符号化方法と把握されれば、分割部2275は、マクロブロックをフレーム単位のパーティションに分割する(図14及び図15)。一方、符号化方法把握部2270により、映像データの符号化方法がフィールド単位の符号化方法と把握されれば、分割部2275は、マクロブロックをフィールド単位のパーティションに分割する(図18及び図19)。
メモリ割り当て部2280は、フレーム単位パーティションまたはフィールド単位パーティションを、保存部2285のメモリバンクに対応させる。このとき、メモリ割り当て部2280は、隣接したパーティションを相異なるメモリバンクに対応させる。
図22Bは、本発明によるメモリマッピング方法の他の実施形態を示すフローチャートである。
図22Bに示すように、符号化方法把握部2270は、映像データの符号化方法を解析する(S2200)。分割部2275は、ブロック単位のビデオ予測符号化器に適用するために、映像データを符号化の基本単位であるマクロブロックに区分する(S2205)。符号化方法把握部2270は、符号化された映像にフレームデータのみ存在しているかどうかを検査する(S2210)。ここで、フレームデータは、偶数フィールド及び奇数フィールドからなり、動き補償時、フレーム単位の予測のみ行われるとき、フレーム映像のみ存在するものとする。
フレームデータだけ存在する場合(S2210で「はい」)に、分割部2275は、図14及び図15のように、フレーム単位のパーティションにマクロブロックを分割する(S2220)。メモリ割り当て部2280は、フレーム単位のパーティションを複数のメモリバンクで構成された保存部に対応させる(S2230)。このとき、メモリ割り当て部2280は、隣接するパーティションを相異なるメモリバンクに対応させる。
また、映像データが、フレームデータ以外にフィールドデータ予測を行う場合(S2210で「いいえ」)に、分割部2275は、図18及び図19のように、フィールド単位のパーティションにマクロブロックを分ける(S2240)。メモリ割り当て部2280は、フィールド単位のパーティションを複数のメモリバンクに対応させる(S2250)。このとき、メモリ割り当て部2280は、隣接するパーティションを相異なるメモリバンクに対応させる。
また、メモリ割り当て部2280は、フレーム単位パーティションまたはフィールド単位パーティションに分けられたパーティションがメモリバンクに対応した後に、それぞれの対応関係を表すアドレス対応参照表を生成し、かつ管理する(S2260)。それにより、デコーダ/エンコーダは、生成したアドレス対応参照表を通じて映像データの所定位置のデータが保存されたメモリバンクの実際アドレスを把握できる。
図23は、デコーダのメモリバス構造を示す図面である。
図10に示した独立的にアクセス可能なメモリバンクを利用して遅延発生を減らすためには、特定ハードウェアモジュールが現在メモリをアクセスする途中で、他のモジュールがメモリをアクセスしてはならないという仮定が必要である。そのために、メモリアクセスが多く必要なデータと、そうでないデータとを分離して、独立したメモリに保存する必要がある。
図23を参照すれば、デコーダコア2300は、2つの独立したバス2330、2340を通じて、それぞれ独立したメモリ2310、2320に連結される。ここで、メモリアクセスが過度な動き予測補償に必要な以前復元映像データは、他のデータと別途のメモリ2310に保存する。それにより、デコーダコア2300が動き予測補償のために以前復元映像データにアクセスする間に、他の必要なデータのために他のメモリ2320をアクセスできる。
図24は、本発明によるメモリマッピング方法で動き予測補償に必要な総サイクルと、従来技術で動き予測補償に必要な総サイクルとを比較した図面である。
図24を参照すれば、4×4サイズのパーティションから16×16サイズのパーティションに対する動き予測補償にかかる総サイクルが図示されており、あらゆる場合において、本発明によるメモリマッピング方法で総サイクルが顕著に減少するということが分かる。
本発明によるメモリマッピング装置及び方法に関する技術分野に適用可能である。
H.264/AVC標準によるデコーダの概略的なブロック図である。 マクロブロック及びサブマクロブロックのパーティションを示す図面である。 バーストモードのタイムダイヤグラムを示す図面である。 バーストモードのタイムダイヤグラムを示す図面である。 バーストモードのタイムダイヤグラムを示す図面である。 従来の映像データをメモリに保存してアクセスする方法を示す図面である。 従来の映像データをメモリに保存してアクセスする方法を示す図面である。 従来の映像データをメモリに保存してアクセスする方法を示す図面である。 本発明によるメモリマッピング方法の一実施形態を示す図面である。 本発明によるメモリマッピング方法の一実施形態を示す図面である。 インターリービングされたメモリ構造を利用したメモリマッピング方法及びアクセス方法を示す図面である。 インターリービングされたメモリ構造を利用したメモリマッピング方法及びアクセス方法を示す図面である。 インターリービングされたメモリ構造を利用したメモリマッピング方法及びアクセス方法を示す図面である。 本発明によるメモリマッピング装置の一実施形態の構成を示す図面である。 本発明によるメモリマッピング装置の一実施形態の構成を示す図面である。 本発明によるメモリマッピング方法の一実施形態を示すフローチャートである。 本発明によるメモリマッピング方法の一実施形態の一部を示すフローチャートである。 フレームlumaデータをメモリにマッピングする方法の一実施形態を示す図面である。 フレームchromaデータをメモリにマッピングする方法の一実施形態を示す図面である。 本発明によるフレーム単位のメモリマッピング方法で、フレーム単位の動き予測補償を行うためにフレーム構造の参照ブロックをアクセスする方法の一実施形態を示す図面である。 本発明によるフレーム単位のメモリマッピング方法で、フィールド単位の動き予測補償を行うためにフィールド構造の参照ブロックをアクセスする方法の一実施形態を示す図面である。 フィールドlumaデータをメモリにマッピングする方法を示す図面である。 フィールドchromaデータをメモリにマッピングする方法を示す図面である。 本発明によるフィールド単位のメモリマッピング方法で、フレーム単位の動き予測補償を行うためにフレーム構造の参照ブロックをアクセスする方法の一実施形態を示す図面である。 本発明によるフィールド単位のメモリマッピング方法で、フィールド単位の動き予測補償を行うためにフィールド構造の参照ブロックをアクセスする方法の一実施形態を示す図面である。 本発明によるメモリマッピング装置の他の実施形態の構成を示す図面である。 本発明によるメモリマッピング方法の他の実施形態を示すフローチャートである。 デコーダのメモリバス構造を示す図面である。 本発明によるメモリマッピング方法で、動き予測補償に必要な総サイクル数と、従来技術で動き予測補償に必要な総サイクル数とを比較した図面である。
符号の説明
900 デコーダコア
910 メモリコントローラ
920 メモリ
922,924,926,928 メモリバンク
1008 アドレスバス
1100,2275 分割部
1110,1150 メモリ割り当て部
1120,1170,2285 保存部
1160 アドレス発生部
1180 データアクセス部
2270 符号化方法把握部
2280 メモリ割り当て部
2300 デコーダコア
2310,2310 メモリ
2330,2340 バス

Claims (23)

  1. 映像データを符号化の基本単位であるマクロブロックに分け、前記それぞれのマクロブロックを所定サイズのパーティションに分割する分割部と、
    それぞれ独立的にアクセス可能な一つ以上のメモリバンクを備える保存部と、
    前記パーティションのうち互いに隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させるメモリ割り当て部と、
    を備えることを特徴とするビデオデコーダ/エンコーダでのメモリマッピング装置。
  2. 前記メモリ割り当て部は、前記パーティションと前記メモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  3. 前記分割部は、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズのパーティションに前記マクロブロックを分割することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  4. 前記分割部は、映像を16×16バイトサイズのマクロブロックに分割し、このマクロブロックを4×8バイトサイズのパーティションに分割することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  5. 前記保存部は、4個のメモリバンクで構成され、それぞれのメモリバンクは、独立的にデータを記録/再生することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  6. 前記分割部は、chromaデータのCb及びCr成分を飛越し走査方法で配置した映像データを作った後、前記映像データをマクロブロックに分け、前記マクロブロックを所定サイズのパーティションに分割することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  7. 前記分割部は、前記映像データを第1マクロブロックに分割し、この第1マクロブロックを奇数フィールド及び偶数フィールドに区分した後、前記奇数フィールド及び前記偶数フィールドで構成される第2マクロブロックを、所定サイズのパーティションに分割することを特徴とする請求項1に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  8. それぞれ独立的にアクセス可能な一つ以上のメモリバンクで構成される保存部と、
    映像データのマクロブロックを構成するパーティションのうち、隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させ、前記パーティションと前記メモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理するメモリ割り当て部と、
    前記映像データの所定位置のデータが属するマクロブロック及びパーティション位置を把握し、前記把握されたマクロブロック及びパーティションの位置情報に基づいて前記アドレス対応参照表を参照して、前記所定位置のデータが保存された前記メモリバンクのアドレスを生成するアドレス発生部と、
    を備えることを特徴とするビデオデコーダ/エンコーダでのメモリマッピング装置。
  9. 前記映像データの所定位置のデータが位置したメモリバンクのアドレスが、前記アドレス発生部により生成されれば、この生成されたアドレスに基づいて前記保存部から該当するデータを読み出すデータアクセス部をさらに備えることを特徴とする請求項8に記載のデコーダ/エンコーダでのメモリマッピング装置。
  10. 前記メモリ割り当て部は、前記映像データを構成するそれぞれのマクロブロック及び前記マクロブロックを構成するパーティションに対して、それぞれ固有のインデックス番号を付与し、このインデックス番号と前記メモリバンクのアドレスとの関係を表すアドレス対応参照表を生成し、かつ管理することを特徴とする請求項8に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  11. 前記パーティションの大きさは、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズであることを特徴とする請求項8に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  12. 映像データの符号化方式がフレーム単位であるか、フィールド単位であるかを把握する符号化方法把握部と、
    前記映像データを符号化の基本単位であるマクロブロックに分割し、前記符号化方式がフレーム単位であれば、前記マクロブロックを前記フレーム単位のパーティションに分割し、前記符号化方式がフィールド単位であれば、前記マクロブロックを前記フィールド単位のパーティションに分割する分割部と、
    それぞれ独立的にアクセス可能な一つ以上のメモリバンクを備える保存部と、
    前記パーティションのうち互いに隣接したパーティションを、前記メモリバンクのうち相異なるメモリバンクに対応させるメモリ割り当て部と、
    を備えることを特徴とするビデオデコーダ/エンコーダでのメモリマッピング装置。
  13. 前記パーティションと前記メモリバンクのアドレスとの対応関係を表すアドレス対応参照表を生成し、かつ管理するアドレス対応部をさらに備えることを特徴とする請求項12に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  14. 前記分割部は、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズのパーティションに前記マクロブロックを分割することを特徴とする請求項12に記載のビデオデコーダ/エンコーダでのメモリマッピング装置。
  15. 映像データを符号化の基本単位であるマクロブロックに分けるステップと、
    前記マクロブロックを所定サイズのパーティションに分割するステップと、
    前記パーティションのうち隣接したパーティションを、それぞれ独立的にアクセス可能な一つ以上のメモリバンクのうち、相異なるメモリバンクに対応させるステップと、
    前記パーティションと対応するメモリバンクのアドレスと、前記パーティションの対応関係を表すアドレス対応参照表とを生成し、かつ管理するステップと、
    を含むことを特徴とするビデオデコーダ/エンコーダでのメモリマッピング方法。
  16. 前記パーティションの大きさは、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズであることを特徴とする請求項15に記載のビデオデコーダ/エンコーダでのメモリマッピング方法。
  17. 前記パーティション分割ステップは、前記マクロブロックを奇数フィールド及び偶数フィールドに区分した後、前記奇数フィールド及び偶数フィールド別に前記マクロブロックを所定サイズのパーティションに分割することを特徴とする請求項15に記載のビデオデコーダ/エンコーダでのメモリマッピング方法。
  18. 映像データのマクロブロックを構成するパーティションのうち隣接したパーティションを、それぞれ独立的にアクセス可能なメモリバンクのうち、相異なるメモリバンクに保存するステップと、
    前記パーティションと対応するメモリバンクのアドレスと、前記パーティション間の対応関係を表すアドレス対応参照表とを生成し、かつ管理するステップと、
    前記映像データの所定位置のデータが属するマクロブロック及びパーティションの位置を把握し、前記把握したパーティション位置情報に基づいて、前記所定位置のデータを含むパーティションが位置したメモリバンクのアドレスを、前記アドレス対応参照表を参照して生成するステップと、
    を含むことを特徴とするビデオデコーダ/エンコーダでのメモリマッピング方法。
  19. 前記映像データの所定位置のデータが位置した前記メモリバンクのアドレスが生成されれば、この生成したアドレスに基づいて、前記メモリバンクから該当するデータを読み出すステップをさらに含むことを特徴とする請求項18に記載のデコーダ/エンコーダでのメモリマッピング方法。
  20. 前記パーティションの大きさは、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズであることを特徴とする請求項18に記載のビデオデコーダ/エンコーダでのメモリマッピング方法。
  21. 映像データの符号化方式がフレーム単位であるか、フィールド単位であるかを把握するステップと、
    前記映像データを符号化の基本単位であるマクロブロックに分割し、前記符号化方式がフレーム単位であれば、前記マクロブロックをフレーム単位のパーティションに分割し、前記符号化方式がフィールド単位であれば、前記マクロブロックを前記フィールド単位のパーティションに分割するステップと、
    前記パーティションのうち互いに隣接したパーティションを、それぞれ独立的にアクセス可能なメモリバンクのうち、相異なるメモリバンクに対応させるステップと、
    を含むことを特徴とするビデオデコーダ/エンコーダでのメモリマッピング方法。
  22. 前記パーティションと対応される前記メモリバンクのアドレスと、前記パーティション間の対応関係を表すアドレス対応参照表とを生成し、かつ管理するステップをさらに含むことを特徴とする請求項21に記載のビデオデコーダ/エンコーダでのメモリマッピング方法。
  23. 前記パーティションの大きさは、バーストモードで1回のアドレス割り当て後、連続してアクセス可能なデータサイズであることを特徴とする請求項21に記載のビデオデコーダ/エンコーダでのメモリマッピング方法。
JP2005218214A 2004-07-28 2005-07-28 ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法 Expired - Fee Related JP5301761B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2004-0059193 2004-07-28
KR20040059193A KR100668302B1 (ko) 2004-07-28 2004-07-28 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법

Publications (2)

Publication Number Publication Date
JP2006042364A true JP2006042364A (ja) 2006-02-09
JP5301761B2 JP5301761B2 (ja) 2013-09-25

Family

ID=34940379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005218214A Expired - Fee Related JP5301761B2 (ja) 2004-07-28 2005-07-28 ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法

Country Status (4)

Country Link
US (1) US8442107B2 (ja)
EP (1) EP1622391A1 (ja)
JP (1) JP5301761B2 (ja)
KR (1) KR100668302B1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281630A (ja) * 2006-04-03 2007-10-25 Matsushita Electric Ind Co Ltd 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
JP2007312358A (ja) * 2006-04-17 2007-11-29 Matsushita Electric Ind Co Ltd 画像データ転送方法、画像処理装置、及び撮像システム
JP2008022134A (ja) * 2006-07-11 2008-01-31 Megachips Lsi Solutions Inc 整数画素動き予測機構、1/4画素輝度用動き予測機構、1/4画素色差用動き予測機構、組合せ輝度用動き予測機構、組合せ輝度・色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP2008048258A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 画像データ記憶装置、および記憶方法
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム
JP2011050113A (ja) * 2010-12-07 2011-03-10 Mega Chips Corp 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
US8279942B2 (en) 2006-04-27 2012-10-02 Sony Corporation Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
JP2016033818A (ja) * 2014-07-30 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司 データ処理方法、装置、およびシステム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK1400954T3 (da) 2002-09-04 2008-03-31 Microsoft Corp Entropi-kodning ved tilpasning af kodning mellem niveau- og runlængde/niveau-moduser
JP4570532B2 (ja) * 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
CN101031052B (zh) * 2006-02-28 2010-11-03 上海奇码数字信息有限公司 图像在存储器中的地址映射方法
US8787465B2 (en) * 2006-03-31 2014-07-22 Intel Corporation Method for neighboring block data management of advanced video decoder
KR100846791B1 (ko) * 2006-09-08 2008-07-16 삼성전자주식회사 비디오 데이터 저장 방법 및 장치
US7463267B2 (en) 2006-10-26 2008-12-09 Lsi Corporation System for interleaved storage of video data
KR101086434B1 (ko) 2007-03-28 2011-11-25 삼성전자주식회사 비디오 데이터 디스플레이 방법 및 장치
US8737469B1 (en) * 2007-04-03 2014-05-27 Mediatek Inc. Video encoding system and method
JP4695124B2 (ja) 2007-09-13 2011-06-08 日本電信電話株式会社 動画像符号化における動き探索装置
US8542725B1 (en) 2007-11-14 2013-09-24 Marvell International Ltd. Decision feedback equalization for signals having unequally distributed patterns
FR2925189A1 (fr) * 2007-12-14 2009-06-19 Thomson Licensing Sas Dispositif et procede de gestion de memoire
WO2009090163A1 (en) * 2008-01-17 2009-07-23 Edgeware Ab A method for data storage means and a system with data storage means
US8565325B1 (en) 2008-03-18 2013-10-22 Marvell International Ltd. Wireless device communication in the 60GHz band
GB0807803D0 (en) * 2008-04-29 2008-06-04 Imagination Tech Ltd An efficient apparatus for fast video edge filitering
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8498342B1 (en) 2008-07-29 2013-07-30 Marvell International Ltd. Deblocking filtering
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US9253496B2 (en) 2008-12-12 2016-02-02 Qualcomm Incorporated Intelligent decoded picture buffering
KR101060492B1 (ko) 2009-01-06 2011-08-30 주식회사 코아로직 픽셀의 버퍼링 방법 및 버퍼 시스템
US8520771B1 (en) 2009-04-29 2013-08-27 Marvell International Ltd. WCDMA modulation
WO2010124736A1 (en) * 2009-04-30 2010-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Efficient internal cache for hardware motion estimation
US9319880B2 (en) * 2010-09-15 2016-04-19 Intel Corporation Reformatting data to decrease bandwidth between a video encoder and a buffer
US20140086309A1 (en) * 2011-06-16 2014-03-27 Freescale Semiconductor, Inc. Method and device for encoding and decoding an image
US8819379B2 (en) 2011-11-15 2014-08-26 Memory Technologies Llc Allocating memory based on performance ranking
US9083977B2 (en) * 2012-11-27 2015-07-14 Omnivision Technologies, Inc. System and method for randomly accessing compressed data from memory
KR102135958B1 (ko) * 2013-08-06 2020-07-20 삼성전자주식회사 복수 개의 메모리 컨트롤러를 이용한 영상 데이터 저장 방법 및 장치
US9241169B2 (en) 2013-12-17 2016-01-19 Broadcom Corporation Raster to block conversion in a compressed domain
CN105681789B (zh) * 2014-11-20 2018-07-17 炬芯(珠海)科技有限公司 一种参考帧数据读取命令的重排方法及装置
GB2540227B (en) 2015-12-21 2018-01-17 Imagination Tech Ltd Allocation of tiles to processing engines in a graphics processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10191236A (ja) * 1996-12-25 1998-07-21 Nec Corp 画像処理装置及び画像データメモリ配置方法
JPH11298857A (ja) * 1998-02-13 1999-10-29 Matsushita Electric Ind Co Ltd 記憶装置において多くの領域を占めているフレ―ム領域に他の用途を与えるよう画像復号を行う画像復号装置及び画像復号プログラムを記録したコンピュ―タ読取可能な記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1568379A (en) * 1976-02-19 1980-05-29 Micro Consultants Ltd Video store
DE69227185T2 (de) * 1991-12-27 1999-04-01 Sony Corp Bilddatenkodier/dekodierverfahren und -vorrichtung
KR0122741B1 (ko) 1992-09-23 1997-11-17 배순훈 병렬 구조를 갖는 기억 장치
CA2145365C (en) 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5581310A (en) * 1995-01-26 1996-12-03 Hitachi America, Ltd. Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom
US6356962B1 (en) * 1998-09-30 2002-03-12 Stmicroelectronics, Inc. Network device and method of controlling flow of data arranged in frames in a data-based network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10191236A (ja) * 1996-12-25 1998-07-21 Nec Corp 画像処理装置及び画像データメモリ配置方法
JPH11298857A (ja) * 1998-02-13 1999-10-29 Matsushita Electric Ind Co Ltd 記憶装置において多くの領域を占めているフレ―ム領域に他の用途を与えるよう画像復号を行う画像復号装置及び画像復号プログラムを記録したコンピュ―タ読取可能な記録媒体

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281630A (ja) * 2006-04-03 2007-10-25 Matsushita Electric Ind Co Ltd 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
US8208541B2 (en) 2006-04-03 2012-06-26 Panasonic Corporation Motion estimation device, motion estimation method, motion estimation integrated circuit, and picture coding device
JP2007312358A (ja) * 2006-04-17 2007-11-29 Matsushita Electric Ind Co Ltd 画像データ転送方法、画像処理装置、及び撮像システム
US8279942B2 (en) 2006-04-27 2012-10-02 Sony Corporation Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
JP2008022134A (ja) * 2006-07-11 2008-01-31 Megachips Lsi Solutions Inc 整数画素動き予測機構、1/4画素輝度用動き予測機構、1/4画素色差用動き予測機構、組合せ輝度用動き予測機構、組合せ輝度・色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP4682384B2 (ja) * 2006-07-11 2011-05-11 株式会社メガチップス 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構
US8644380B2 (en) 2006-07-11 2014-02-04 Megachips Corporation Integer pixel motion estimation system, motion estimation system for quarter-pixel luminance, motion estimation system for quarter-pixel chrominance, motion estimation system for combined luminance, motion estimation system for combined luminance and chrominance, and motion estimation system for quarter-pixel luminance and chrominance
JP2008048258A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 画像データ記憶装置、および記憶方法
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム
JP2011050113A (ja) * 2010-12-07 2011-03-10 Mega Chips Corp 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP2016033818A (ja) * 2014-07-30 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司 データ処理方法、装置、およびシステム
US9727253B2 (en) 2014-07-30 2017-08-08 Huawei Technologies, Co., Ltd. Data processing method, apparatus, and system

Also Published As

Publication number Publication date
KR20060010474A (ko) 2006-02-02
KR100668302B1 (ko) 2007-01-12
US8442107B2 (en) 2013-05-14
JP5301761B2 (ja) 2013-09-25
US20060023792A1 (en) 2006-02-02
EP1622391A1 (en) 2006-02-01

Similar Documents

Publication Publication Date Title
JP5301761B2 (ja) ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
JP4824757B2 (ja) コンテキストベース適応型2値算術復号化システム及び装置
KR100230159B1 (ko) 신호 처리기
US8565308B2 (en) Interframe prediction processor with address management mechanism for motion vector storage
KR101127962B1 (ko) 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법
WO2009133671A1 (ja) ビデオ符号化・復号化装置
US9509992B2 (en) Video image compression/decompression device
US20130051462A1 (en) Memory Word Array Organization and Prediction Combination for Memory Access
JP2007312358A (ja) 画像データ転送方法、画像処理装置、及び撮像システム
JP3174996B2 (ja) スタートコード検出器
US20080158601A1 (en) Image memory tiling
JPH06225292A (ja) イメージデコーデングシステムのためのモジュールメモリ
JPH09205651A (ja) 画像データ復号方法およびこの方法を用いた画像データ復号装置
Bonatto et al. Multichannel SDRAM controller design for H. 264/AVC video decoder
TW202201958A (zh) 幀間預測方法、編碼器、解碼器以及電腦儲存媒介
JP2942497B2 (ja) 画像データ復号表示方法および装置
JPH07298264A (ja) 画像データの処理方法およびそれに用いる記憶装置ならびに画像データの処理装置
JP6221820B2 (ja) 符号化装置、符号化方法および符号化プログラム
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템
JPH11167518A (ja) 動画復号化装置におけるメモリの使用方法
Soares et al. Integration issues on the development of an H. 264/AVC video decoder SoC for SBTVD set top box
JP3599385B2 (ja) 信号処理装置及びその方法
JP3884830B2 (ja) 画像信号処理装置
JPH08163570A (ja) 低遅延モード画像復号方法および装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061026

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130620

R150 Certificate of patent or registration of utility model

Ref document number: 5301761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees