JP6679290B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6679290B2
JP6679290B2 JP2015232944A JP2015232944A JP6679290B2 JP 6679290 B2 JP6679290 B2 JP 6679290B2 JP 2015232944 A JP2015232944 A JP 2015232944A JP 2015232944 A JP2015232944 A JP 2015232944A JP 6679290 B2 JP6679290 B2 JP 6679290B2
Authority
JP
Japan
Prior art keywords
data
unit
arithmetic
compression
memory
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.)
Active
Application number
JP2015232944A
Other languages
English (en)
Other versions
JP2017102524A (ja
Inventor
勝重 松原
勝重 松原
誠二 望月
誠二 望月
亮司 橋本
亮司 橋本
俊之 加谷
俊之 加谷
公彦 中澤
公彦 中澤
入田 隆宏
隆宏 入田
哲治 津田
哲治 津田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015232944A priority Critical patent/JP6679290B2/ja
Priority to CN201610959313.9A priority patent/CN106980465B/zh
Priority to EP16199111.2A priority patent/EP3174294A1/en
Priority to US15/355,322 priority patent/US10459646B2/en
Priority to KR1020160158509A priority patent/KR20170063384A/ko
Publication of JP2017102524A publication Critical patent/JP2017102524A/ja
Application granted granted Critical
Publication of JP6679290B2 publication Critical patent/JP6679290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/544Indexing scheme relating to group G06F7/544

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、半導体装置、データ処理システム及び半導体装置の制御方法に関し、例えば、演算処理を行う半導体装置、データ処理システム及び半導体装置の制御方法に関する。
近年、画像処理などの様々な演算処理を行う半導体装置が広く利用されている。このような半導体装置では、画像などのデータをメモリへ書き込み及びメモリから読み出しを行う際に、所定の標準規格による符号化及び復号化や、圧縮及び伸張等を行っている。
圧縮及び伸張に関連する技術として、例えば特許文献1が知られている。特許文献1では、バスを介して演算器と記憶装置が接続されたデータ処理システムにおいて、バスと演算器の間に圧縮回路及び伸張回路を備えている。圧縮回路は演算器の処理結果のデータを圧縮し、圧縮されたデータを記憶装置に格納する。伸張回路は記憶装置から読み出した圧縮データを伸張し、伸張されたデータを演算器で処理する。
特開平10−27127号公報
様々な演算処理を行う半導体装置では、演算処理に対応して最適な構成で圧縮及び伸張を行うことが望まれる。このため、一実施の形態では、より適切に圧縮及び伸張を行うことを一つの課題とする。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、演算モジュールとメモリ制御モジュールとを備えている。演算モジュールは、演算処理部と圧縮部を備え、メモリ制御モジュールは、アクセス部と伸張部を備えている。演算モジュールでは、演算処理部が演算処理を実行し、圧縮部が演算処理結果のデータを圧縮する。メモリ制御モジュールでは、アクセス部が圧縮されたデータをメモリに書き込み、書き込まれたデータを前記メモリから読み出し、伸張部がメモリから読み出されたデータを伸張し、伸張されたデータを前記演算モジュールへ出力する。
前記一実施の形態によれば、より適切に圧縮及び伸張を行うことが可能となる。
基本例1に係るデータ処理システムの構成例を示す構成図である。 基本例2に係るデータ処理システムの構成例を示す構成図である。 基本例3に係るデータ処理システムの構成例を示す構成図である。 実施の形態1に係るデータ処理システムの概要構成を示す構成図である。 実施の形態1に係るデータ処理システムの概要構成を示す構成図である。 実施の形態1に係るデータ処理システムの構成例を示す構成図である。 実施の形態1に係る演算器の出力データを説明するための図である。 実施の形態1に係る演算器の出力データを説明するための図である。 実施の形態1に係るバッファの構成例を示す構成図である。 実施の形態1に係るバッファの入出力動作を説明するための図である。 実施の形態1に係るバッファの入出力動作を説明するための図である。 実施の形態1に係るバッファの入出力動作を説明するための図である。 実施の形態1に係るバッファの入出力動作を説明するための図である。 実施の形態1に係るバッファの入出力動作を説明するための図である。 データ長とメモリアクセス効率との関係を示すグラフである。 実施の形態2に係る圧縮データを説明するための図である。 実施の形態3に係るメモリ制御モジュールの構成例を示す構成図である。 実施の形態3に係るメモリアクセス動作を説明するため図である。 実施の形態4に係る圧縮データを説明するため図である。 実施の形態4に係るメモリアクセス動作を説明するため図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
(基本例1〜3)
まず、実施の形態の基本となる基本例1〜3について説明する。図1〜3は、それぞれ基本例1〜3に係るデータ処理システムの構成を示している。
図1〜3に示すように、基本例1〜3に係るデータ処理システム91〜93は、それぞれ半導体装置(LSI)901〜903と半導体装置のデータを記憶するSDRAM200を備えている。各半導体装置901〜903は、複数の演算モジュール110(例えば110_A〜110_C)とメモリ制御モジュール120を備えている。演算モジュール110とメモリ制御モジュール120は、例えばデータバス130を介して接続されている。
複数の演算モジュール110は、演算処理を行う演算部であり、その機能を実現するためそれぞれ演算器111(111_A〜111_C)を備えている。メモリ制御モジュール120は、演算モジュール110からの要求にしたがってSDRAM200の書き込み/読み出しを制御する制御部であり、その機能を実現するためアクセス回路121を備えている。複数の演算器111は、データバス130及びメモリ制御モジュール120を介して、SDRAM200へデータを格納し、SDRAM200からデータを読み出したりする。なお、SDRAM200は、半導体装置のデータを記憶するメモリの一例であり、その他の記憶装置であってもよい。
半導体装置901〜903は、さらに、演算結果のデータを圧縮する圧縮回路11、圧縮されたデータを伸張する伸張回路21を備えている。半導体装置901〜903は、この圧縮回路11と伸張回路21の配置が異なる例である。
図1に示すように、基本例1の半導体装置901では、圧縮回路11及び伸張回路21が演算モジュール110とデータバス130との間に設けられており、圧縮回路11及び伸張回路21とデータバス130とが1対1の関係にある。図2に示すように、基本例2の半導体装置902では、圧縮回路11及び伸張回路21がメモリ制御モジュール120の内部に設けられており、圧縮回路11及び伸張回路21とメモリ制御モジュール120とが1対1の関係にある。
各演算器111からは、その演算処理の特性に応じた出力データが出力される。つまり演算器毎に、出力データの転送開始のアドレス位置や、転送長、データのフォーマット(連続するのか、離散するのか)が異なる。基本例1や基本例2のように、圧縮回路11及び伸張回路21が、データバス130やメモリ制御モジュール120と1対1の関係にある場合、圧縮回路11はすべての演算器111の出力を圧縮する必要がある。そうすると、圧縮効率を高くすることができない。すなわち、演算器毎に出力の特性が異なるにもかかわらず同じ圧縮回路で圧縮するため、圧縮に適したデータ構造で圧縮することができず、圧縮効率が低くなるという問題がある。
また、図3に示すように、基本例3の半導体装置903では、圧縮回路11及び伸張回路21が各演算モジュール110の内部に設けられており、圧縮回路11及び伸張回路21と演算器111とが1対1の関係にある。基本例3のように、圧縮回路11及び伸張回路21が各演算器111と1対1にある場合でも、圧縮効率を高くすることができない。なぜならば、演算結果のデータを他の演算器で使用する場合、データを他の演算器で伸張できるようにするには、共通のデータ構造で圧縮する必要がある。そうすると、演算器毎の出力に合わせて圧縮することができないため、上記と同様の問題が発生する。
また、基本例3の構成では、圧縮を適用しない演算器111_Cも、他の演算器111で圧縮されたデータを読み込むためには、伸張回路21_Cが必要になる。このため、全ての演算器に伸張回路が必要となるため、回路面積が大きくなるという問題がある。
さらにまた、記憶装置としてSDRAM等が考えられるが、演算器111で発生したデータの特性によっては、連続するデータ構造とならないため、SDRAMの転送効率を高くすることが困難であるという問題もある。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。
<実施の形態1の概要>
図4は、本実施の形態に係るデータ処理システムの概要構成を示している。図4に示すように、本実施の形態に係るデータ処理システム1は、半導体装置100とSDRAM200を備えている。本実施の形態に係る半導体装置100は、基本例1〜3と同様に、複数の演算モジュール110(例えば110_A−110_C)とメモリ制御モジュール120を備えている。演算モジュール110は、演算器111(111_A〜111_C)を備えている。さらに、いくつかの演算モジュール110は、圧縮回路11(例えば11_A、11_B)を備えている。メモリ制御モジュール120は、アクセス回路121を備えており、さらに、伸張回路21を備えている。なお、本実施の形態に係る半導体装置100、図5のように、少なくとも図4の構成のうちの演算モジュール110とメモリ制御モジュール120を備えていてもよい。すなわち、少なくとも演算モジュール110は、演算処理を実行する演算器(演算処理部)111、演算処理結果のデータを圧縮する圧縮回路(圧縮部)11を備え、メモリ制御モジュール120は、圧縮されたデータをSRDAM(メモリ)200に書き込み、書き込まれたデータをSDRAM200から読み出すアクセス回路(アクセス部)121、SDRAM200から読み出されたデータを伸張し、伸張されたデータを演算モジュール110へ出力する伸張回路(伸張部)21を備えている。
このように、本実施の形態では、演算部(演算モジュール)とメモリ制御部(メモリ制御モジュール)から構成されるデータ処理システムにおいて、演算部は、データ出力時に圧縮を行う圧縮回路を有し、メモリ制御部は、メモリからリードされたデータを伸張する(データが圧縮データの場合に伸張する)伸張回路を有することを一つの特徴としている。演算部に圧縮回路を備えることで、演算器のデータに合わせて圧縮を行うことができる。メモリ制御部の伸張回路により、圧縮データを伸張してから各演算部に送信するため、全ての演算部がメモリに格納される圧縮データと非圧縮データの両方を利用することが可能となる。全ての演算部に伸張回路を備える必要がないため、回路面積の増大を抑えることができる。
<実施の形態1の構成>
図6は、本実施の形態に係るデータ処理システムのより具体的な構成例を示している。図6に示すように、本実施の形態に係る半導体装置100は、図4の概要構成に加えてさらに、いくつかの演算モジュール110にバッファ112を備えている。
半導体装置100は、各演算モジュール110側に、演算器111、バッファ112、圧縮回路11を備えている。バッファ112は、演算処理結果のデータを圧縮処理単位のデータに変換する変換部であり、演算器111からの演算結果である出力データを圧縮に適した圧縮データ構造となるように保持し、保持した圧縮データ構造のデータを圧縮回路11へ転送する。圧縮回路11は、入力されたデータを圧縮し、データバス130を通じて、メモリ制御モジュール120へ転送する。メモリ制御モジュール120は、転送された圧縮データ201を外部のSDRAM200へ保存する。メモリ制御モジュール120に伸張回路21が配置され、SDRAM200からリードされたデータが、圧縮データ201のときは伸張してから、データバス130へ送付する。リード要求元の演算モジュール110から、データが圧縮されているか、圧縮されていなかを示す制御信号が、メモリ制御モジュール120へ送付される。
図6の例では、半導体装置100は、演算モジュール110_A〜110_Dを備えている。例えば、演算モジュール110_A及び110_Bは、それぞれ演算器111_A及び111B、バッファ112_A及び112_B、圧縮回路11_A及び11Bを備え、演算モジュール110_C及び110_Dは、それぞれ演算器111_C及び111Dを備えている。
例えば、演算モジュール110_A(演算器111_A)は、画像データ(映像データ)をデコードするデコーダである。演算モジュール110_Aは、デコードを行った後、デコードしたデータを圧縮し、圧縮データ201としてSDRAM200に格納する。
演算モジュール110_B(演算器111_B)は、演算モジュール110_Aがデコードした画像データに対し拡大/縮小などの画像処理(映像処理)を行う画像処理装置(GPU)である。演算モジュール110_Bは、SDRAM200からデコード後の圧縮データ201を伸張回路21を介して取得し、画像処理を行った後、画像処理を行ったデータを圧縮し、圧縮データ201としてSDRAM200に格納する。
演算モジュール110_C(演算器111_C)は、演算モジュール110_Bが画像処理を行ったデータを用いて、メニューなどGUIを追加し、表示画面データを生成する。演算モジュール110_Cは、SDRAM200から画像処理後の圧縮データ201を伸張回路21を介して取得し、表示画面データを生成した後、非圧縮データ202としてSDRAM200に格納する。
演算モジュール110_D(演算器111_D)は、演算モジュール110_A〜110_Cの動作制御や、演算結果を利用して、アプリケーション処理を実行するCPUである。演算モジュール110_Cは、SDRAM200から表示画面データなどの非圧縮データ202を取得し、アプリケーション処理を実行した後、非圧縮データ202としてSDRAM200に格納する。
<実施の形態1の動作>
まず、本実施の形態に係る演算モジュール110(例えば演算モジュール110_A)の動作について説明する。
圧縮回路11は、データが持つ冗長性を利用してデータを圧縮し、データ量を削減している。例えば、画像データの圧縮では、対象画素と参照画素との差分を用いて圧縮を行うことから、近傍の画素群は差分が小さく圧縮率が高くなる傾向にある。そのため、圧縮によりデータ量を効率よく削減するためには、一定の長さの連続するデータ(アドレスが連続するデータ、ブロックデータ)単位で圧縮を実行することが望ましい。
しかし、演算器111から出力されるデータは、必ずしもデータ圧縮に適した構造になっているとは限らない。つまり、演算器111の処理の都合やデータの特性によって、演算器111から出力されるデータの順番がSDRAM200におけるバッファのアドレス順と一致しない場合がある。この場合、アドレスが不連続になる箇所でデータが細分化されてしまうため、効率よく圧縮することができない。そこで、本実施の形態では、演算器111の出力を直接圧縮するのではなく、一度バッファ112へ格納し、バッファ112において圧縮に適した構造(一定長でアドレスが連続する構造)に変換してから、圧縮回路11で圧縮を行う。
以下の例では、演算器111(例えば演算器111_A)を、動画像圧縮規格であるH.265で採用されているデブロックフィルタを有するデコーダとし、このデコーダの出力を、水平64画素×垂直4ラインの連続する256バイトデータの圧縮データ構造に変換する例を説明する。
動画像圧縮規格のH.265では、動画像は各画像(ピクチャ)単位に圧縮される。圧縮されたピクチャには、大別してI/P/Bの3種類が規定されている。
Iピクチャは、そのピクチャ自身のデータのみで圧縮されており、そのピクチャ単体で復号(デコード)できる。P/Bピクチャは、そのピクチャと、それ以前にデコードした結果(デコード画像)の差分を取って、そのピクチャを圧縮する。そのため、P/Bピクチャは、Iピクチャに比べて圧縮後のデータサイズを小さくすることができる。P/Bピクチャにおいて差分データを生成するとき、参照するデコード画像から任意の位置のデータを選択することができる。たとえば、圧縮後のデータ量が最小になるような位置のデータが選択される。
H.265規格では、動画像の圧縮効率や主観的な動画像品質の向上のため、デブロックフィルタが採用されており、演算器111は、このデブロックフィルタDFを備えている。デブロックフィルタ(デブロッキングフィルタ)DFは、画像復号時に生じるブロック歪みを低減するためのフィルタである。
例えば、演算器111は、エントロピー復号化、逆量子化・逆変換によりデコードを行い、ループ内フィルタとしてデブロックフィルタDFがデコードの最後に使用される。このため、演算器111から出力されるH.265のデコード画像はデブロックフィルタ処理後のデータとなる。つまり、デブロックフィルタ処理の終わったデータから順に、SDARM上のバッファに格納可能となる。デブロックフィルタDFが処理する画像上の位置の順番はH.265規格で定められており、その結果、演算器111がデータを出力する順番は、画像内の処理する位置に依存して変化する。
H.265では、CTB(Coding Tree Block)と呼ばれる正方画素ブロックの単位で、符号化処理及び復号化処理が行われる。CTBのサイズは選択可能であり、16×16、32×32、64×64画素の場合がある。以下ではCTBのサイズが64×64画素の場合を例に説明する。
図7は、CTBのサイズが64×64画素のときの輝度データの出力順序を示しており、図8は図7の一部を拡大した拡大図である。図7に示すように、演算器111は、水平方向16×1画素のデータを一単位として、処理する画像の位置に依存して、垂直方向に8/12/16画素の連続でデータを出力する。つまり、16×8画素、16×12画素、16×16顔の出力ブロックOBの単位で、図7及び図8の矢印の順に出力される。
H.265では、CTBをさらに階層的にブロック分割して符号化処理及び復号化処理が行われる。例えば、CTBを複数のCB(Coding Block)に分割し、さらにCBを複数のPB(Prediction Block)やTB(Transform Block)に分割する。CBは、イントラ・インター予測、変換・量子化処理/逆量子化・逆変換処理、エントロピー符号化/復号化処理などの一連の符号化/復号化を行う単位である。PBは、イントラ・インター予測処理を行う単位であり、TBは、変換・量子化処理/逆量子化・逆変換処理を行う単位である。デブロックフィルタDFは、PBやTB単位でフィルタ処理を行う。出力ブロックOBは、デブロックフィルタDFの処理単位のブロックであり、例えばPBやTBである。
デブロックフィルタDFは、ブロックに隣接する境界の画素を参照してフィルタ処理を行うため、隣接する次のブロック(水平方向または垂直方向に隣接するブロック)のフィルタ処理が完了した後でなければ、データを出力することができない。このため、CTBのサイズ単位ではなく、CTBよりずれた単位でデータが出力される。
図7の例では、演算器111から出力されるデータは、画像の64×64画素単位の位置からは、水平方向には左に16画素、垂直方向には上に4画素ずれている。すなわち、CTBの処理単位と同じではなく、水平方向には左端は48画素、中間は64画素、右端は80画素で、垂直方向には上端は60画素、中間は64画素、下端は68画素で、データが出力されることになる。
つまり、まず、48×60画素の出力ブロック群OBU1が出力され、次に水平方向に連続して64×60画素の出力ブロック群OBU2が出力された後、水平方向の最後に80×60画素の出力ブロック群OBU3が出力される。次の水平方向のデータは、48×64画素の出力ブロック群、64×64画素の出力ブロック群・・・80×64画素の出力ブロック群OBU6が順に出力される。出力ブロック群OBU4〜OBU6が垂直方向に続けて出力された後、垂直方向の最後に48×68画素の出力ブロック群OBU7が出力され、次に水平方向に連続して64×68画素の出力ブロック群OBU8が出力された後、水平方向の最後に80×68画素の出力ブロック群OBU9が出力される。
出力ブロック群OBU内の出力順の例を見ると、例えば図8に示すように、最初の出力ブロック群OBU1では、(出力ブロック)OB1、その下のOB11、その右上のOB2、その右のOB3、その左下のOB12、その右のOB13・・・の順に出力され、次の出力ブロック群OBU2では、(出力ブロック)OB4、その右のOB5、その左下のOB14、その右のOB15・・・の順に出力される。
このように、演算器111からは、図7及び図8の矢印のような順番でデータが出力されるため、そのままの順番では、本来の画像の位置関係と相違してしまう。つまり、図8のように、本来の画像では、水平方向に(出力ブロック)OB1、OB2、OB3、OB4・・・と連続した画像であるが、出力されたデータは、矢印の順で(出力ブロック)OB1、OB11、OB2、OB3・・・となり不連続なデータとなる。
本実施の形態では、図7及び図8のような出力データを、バッファ112によって、画像の64×4単位の連続したデータ構造に変換する。図9は、このようなバッファ112を実現するための構成例を示している。なお、本実施の形態に係るバッファはこのようなデータ構造を有していればよいため、データの入出力についてはいずれの構成で行ってもよい。バッファ112内のバッファ制御部が、バッファ112のデータの入力順/出力順を制御してもよいし、演算器がバッファ112へのデータの入力順を制御し、圧縮回路がバッファ112からのデータの出力順を制御してもよい。
図9に示すように、バッファ112は、2バンクで構成されおり、バンクBK0とバンクBK1を備えている。バンクBK0及びBK1は、物理的に2つに分かれている必要はなく、1つの物理的なバッファの前半/後半それぞれをバンクBK0及びBK1として使用してもよい。バンクBK0及びBK1はそれぞれ同じサイズであり、バンクあたり最大で64×68画素のデータを格納できる。
バンクBK0及びBK1は、水平方向に16画素の4つの領域を有し、垂直方向に32行の領域と36行の領域の2つの領域を有する。つまり、バンクBK0は、16×32画素用の領域AR01〜AR04、16×36画素用の領域AR05〜領域AR08を有し、バンクBK1は、16×32画素用の領域AR11〜AR14、16×36画素用の領域AR15〜領域AR18を有する。
水平方向の領域の16画素は、各出力ブロックOBと同じサイズであり、バンクの水平方向の64画素は出力ブロック群OBU2、OBU5、OBU8(またはCTB)と同じサイズである。垂直方向の領域の32行及び36行は、出力ブロック群OBU7、OBU8、OBU9の上側の2ブロック及び下側の3ブロックと同じサイズである。
以降、図10〜図14を用いて、演算器111が画像の左上からデータ出力を開始したときのバッファ112の格納動作について、詳細に説明する。
まず、最初のCTBに対応する出力データ(OBU1)は48×60画素分となる。図10に示すように、バッファ112のバンクBK0に矢印の順に出力ブロック群OBU1のデータが格納される。出力ブロック群OBU1の各ブロックは図7及び8で示した順に出力されるため、バッファ112は、出力ブロックOB1、OB11の順に領域AR01に格納し、出力ブロックOB2を領域AR02に格納し、出力ブロックOB3を領域AR03に格納し、出力ブロックOB12を領域AR02のOB2の後に格納し、出力ブロックOB13を領域AR03のOB3の後に格納する。その後、領域AR05〜AR07の順にデータが格納され、出力ブロック群OBU1がバンクBK0に格納される。この段階では、バンクBK0の領域AR04及び領域AR08が空いており、まだ圧縮単位64×4のデータがそろっていないため、バッファからデータは出力されない。
次に、2番目のCTBに対応する出力データ(OBU2)は64×60画素分となる。図11に示すように、バッファ112のバンクBK0及びBK1に矢印の順に出力ブロック群OBU2のデータが格納される。このとき、バンクBK0の領域AR01〜AR03、AR05〜AR07には出力ブロック群OBU1のデータが格納されているため、バンクBK0の空き領域(AR04及びAR08)とバンクBK1の領域を用いる。出力ブロック群OBU2の各ブロックは図7及び8で示した順に出力されるため、バッファ112は、出力ブロックOB4を領域AR04に格納し、出力ブロックOB5を領域AR11に格納し、出力ブロックOB14を領域AR04のOB4の後に格納し、出力ブロックOB15を領域AR11のOB5の後に格納される。その後、領域AR12〜AR14、AR08、AR15〜AR18の順にデータが格納される。
2番目のCTBに対応した出力データ(OBU2)がバッファ112に格納されると、図12に示すように、バンクBK0には多数の64×4単位(圧縮単位)の連続データOLがそろう。これらの連続データOLがバッファ112から読み出され、圧縮回路11に送付される。
圧縮回路11は、バッファ112から受け取った連続データOLを圧縮する。圧縮回路11の圧縮は、伸張回路21で伸張可能であれば任意の方式でよい。例えば、DPCM(differential pulse code modulation)や、可逆圧縮、非可逆圧縮でもよい。圧縮回路11は、データ圧縮後、データバス130を経由し、メモリ制御モジュール120に圧縮データを送付する。メモリ制御モジュール120は,受け取った圧縮データをSDRAM200上のバッファへ格納する。
バンクBK0から64×4単位の連続データOLを読み出した後は,バンクBK0は図13のように空きとなるため、データを格納可能な状態となる。次に、図14のように、バンクBK1の空き領域(AR14及びAR18)と空いたバンクBK0を用いて、次のCTBに対応した出力データを格納する。その後、バンクBK0とバンクBK1を交互に用いて、演算器111からのデータ格納と、64×4単位の読み出しを繰り返す。
なお、この例では、説明を簡易にするため、CTBに対応する全てのデータが格納されてから、64×4単位のデータが読み出されるとしたが、実際はこれに限定されない。つまり、64×4単位のデータがそろった時点で、読み出すことができる。
次に、本実施の形態に係るメモリ制御モジュール120の動作を説明する。本実施の形態では、主にメモリのリード動作に特徴があるため、リード動作を説明する。
図6に示したように、メモリ制御モジュール120には、圧縮データを伸張する伸張回路21が配置される。リード要求元の演算モジュール110は、メモリ制御モジュール120へ、リードのコマンドの他に、今から読むデータが圧縮されているか否かを示すフラグも送付する。メモリ制御モジュール120(アクセス回路121)は、リードコマンドにしたがってSDRAM200からデータをリードし、コマンドのフラグを参照して、圧縮データではない場合、SDRAM200からのリードデータを、そのまま演算モジュール110に送付する。また、コマンドのフラグにより圧縮データである場合、メモリ制御モジュール120内の伸張回路21にリードデータを送り、伸張後のデータを演算モジュール110に送付する。演算モジュール110(演算器)がフラグを指定することで、演算モジュール110(演算器)の制御に応じて圧縮データ201または非圧縮データ202をリードすることができる。
<実施の形態1の効果>
以上のように、本実施の形態では、演算モジュールに演算器の出力を受け付けるバッファを設置し、データをバッファリングした後に、圧縮処理を行う。これにより、圧縮に適したデータ構造に変換することができ、圧縮率を高くすることができる。
また、圧縮前のデータ長を長くすることで、圧縮後でも半導体装置とSDRAMとの間で高い転送効率を実現可能な圧縮データ長とすることができる。図15のグラフは、一回のデータ転送長に対するSDRAMの転送効率(アクセス効率)を示している。
たとえば、圧縮前のデータ長が128バイトで、圧縮後が半分の64バイトになったとする。データ長が128バイトのときは100%近い転送効率だが、64バイトのときは約50%の効率となる。50%の効率では、2回に1回は転送できない期間が発生するため、実質128バイト転送をしていることと等価となる。つまり、半導体装置とSDRAM間の転送量は実質的に削減されないことになる。そのため、データ圧縮後も効率のよい転送を実現できるデータ長にすることが望ましい。例えば256バイトを128バイトに圧縮するなど、圧縮後のデータ長がデータ転送長(転送レート)の128バイトに近いことが好ましい。
また、メモリ制御モジュールに伸張回路を備えることで、圧縮データを伸張してから各演算モジュールに送付できる。よって、演算モジュール側に伸張回路を持っていないモジュールでも、アクセスする対象が圧縮データであることを示すことで、SDRAMにある圧縮データと非圧縮データの両方を利用することができる。
(実施の形態2)
以下、図面を参照して実施の形態2について説明する。本実施の形態は、基本例1〜3または実施の形態1に適用可能であり、基本例1〜3または実施の形態1と圧縮データの格納方法のみが異なる。
図16は、本実施の形態における圧縮データの格納イメージを示している。図1〜図6の圧縮回路11において、図16のようにデータを圧縮し、SDRAMに格納する。
例えば、圧縮回路11は、演算器111から出力されたデータを256バイト単位に圧縮する。圧縮されたデータは、データ長が短くなるため、この圧縮データを連続してSDRAMに格納すると、データのアドレスがずれることになる。この場合、アドレスがずれたデータに直接アクセスするためには、変更前と変更後のアドレスを関連付けて記憶しておく必要がある。
そこで、本実施の形態では、図16に示すように、圧縮回路11は、圧縮後のデータを、非圧縮(圧縮前)と同じ256バイトの先頭アドレスから格納する。つまり、圧縮データをSDRAM200に格納するとき、圧縮単位である256バイト単位の先頭アドレスは変更せずに、圧縮データ分のみ格納する。
このように、本実施の形態では、圧縮データの格納されるアドレスが、非圧縮時のアドレスと256バイト単位では同一となる。これにより、圧縮前のアドレス、たとえばバッファの先頭アドレスなどを保持する必要がなくなる。また、圧縮後の任意のデータに順不同でアクセス(ランダムアクセス)することも可能になる。
(実施の形態3)
以下、図面を参照して実施の形態3について説明する。本実施の形態は、実施の形態1または2に適用可能であり、実施の形態1または2とメモリ制御モジュールの構成のみが異なる。
図17は、本実施の形態に係るメモリ制御モジュール120の構成例を示しており、図18は、本実施の形態におけるデータのリード動作例を示している。
図17に示すように、実施の形態1または2のメモリ制御モジュール120において、さらにアドレス変換器122、MMU(メモリ管理ユニット)123を備えている。アドレス変換器122は、演算モジュール110からコマンドで指定された論理アドレスを、(別の)変換後の論理アドレスに変換する。MMU123は、変換後の論理アドレスをSDRAM上の物理アドレスに変換する。アクセス回路121は、物理アドレスによってSDRAM200にアクセスする。また、アドレス変換器122(もしくは伸張回路21)は、変換後の論理アドレスによってデータの圧縮の有無を判断する。例えば、伸張回路21は、要求されたアドレスが第1のアドレス領域に含まれる場合にリードデータを伸張し、要求されたアドレスが第2のアドレス領域に含まれる場合にリードデータの伸張を行わない。例えば、第1のアドレス領域の変換後のアドレス領域と、第2のアドレス領域の変換後のアドレス領域を、SDRAM上の同じアドレス領域とすることで、メモリを有効活用することができる。
本実施の形態では、圧縮データが格納された論理アドレス領域(領域A)は、別の論理アドレス領域(領域B)に再マッピングされており、領域Bにきたアクセスは、アドレス変換器122で領域Aの論理アドレスに変換される。例えば、アドレス変換器122は、変換前の論理アドレスと変換後の論理アドレス(及び圧縮の有無)をマッピングするマッピングテーブルを有する。すなわち、アドレス変換器122は、マッピングテーブルを参照することにより、アドレスの変換/逆変換を行い、また、圧縮データ/非圧縮データを判断する。
図18のように、領域Aへのアクセスのリードデータは、アドレス変換器により領域Aからリードされる非圧縮データであると判断されるため、SDRAM200の領域Aのリードデータをそのまま演算モジュール110へ出力する。領域Bへのアクセスのリードデータは、アドレス変換器により領域Aからリードされる圧縮データであると判断されるため、SDRAM200の領域Aのリードデータを伸張回路21で伸張し、伸張したデータを領域Bのデータとして演算モジュール110へ出力する。
本実施の形態によれば、非圧縮データと圧縮データの切り替えを、リードするときのアドレス領域で指定できる。つまり、メモリからリードするときに,読み出すアドレス領域によって,圧縮データの伸張の有無を切り替えることができる。それにより演算モジュールから出力されるデータが圧縮されているか否かを示すフラグを削除できる。また、再マッピングする領域は複数持つことが可能で、領域毎に圧縮・非圧縮の切り替えの種別を変更することができる。
(実施の形態4)
以下、図面を参照して実施の形態4について説明する。本実施の形態は、実施の形態2または3に適用可能であり、実施の形態2または3と圧縮データのマッピングのみが異なる。
図19は、本実施の形態における圧縮データの格納イメージを示しており、図20は、本実施の形態におけるデータのリード動作例を示している。
図19に示すように、実施の形態2における256バイトから128バイトへの固定長の圧縮手法を用いて、圧縮単位の256バイトの前半128バイトと後半128バイトで、異なるマッピング(領域)の圧縮データを格納する。実施の形態3では領域Aと領域Bを定義したが、本実施の形態では、さらに3つ目の再マッピングした領域Cを定義する。例えば、領域Bを256バイトの前半128バイトにマッピングし、領域Cを256バイトの後半128バイトにマッピングする。つまり、領域Bへのアクセスは256バイト中前半128バイトの圧縮データを伸張し、領域Cへのアクセスは後半128バイトの圧縮データを伸張する。なお、この例では、圧縮単位の256バイトの前半と後半に2つのデータを格納しているが、これに限らず複数のデータを格納してもよい。
図20のように、領域Aへのアクセスのリードデータは、領域Aからリードされる通過データ(非圧縮データのように伸張しないデータ)であると判断されるため、SDRAM200の領域Aのリードデータをそのまま演算モジュール110へ出力する。領域Bへのアクセスのリードデータは、領域Aにおける256バイトの前半128バイトからリードされる圧縮データであると判断されるため、SDRAM200の領域Aにおける256バイトの前半128バイトのリードデータ(0〜125、256〜384、512〜640、768〜896のデータ)を伸張回路21で伸張し、伸張したデータを領域Bのデータ(1024〜2048のデータ)として演算モジュール110へ出力する。領域Cへのアクセスのリードデータは、領域Aにおける256バイトの後半128バイトからリードされる圧縮データであると判断されるため、SDRAM200の領域Aにおける256バイトの後半128バイトのリードデータ(128〜256、384〜512、640〜768、896〜1024のデータ)を伸張回路21で伸張し、伸張したデータを領域Cのデータ(2048〜3072のデータ)として演算モジュール110へ出力する。
本実施の形態によれば、複数の領域の圧縮データを、SDRAMの1つの領域に格納するため、伸張後のデータサイズでバッファサイズを2倍にすることができる。また、実施の形態2のようにランダムアクセスが可能であるとともに、実施の形態3のように演算モジュールから出力されるデータが圧縮されているか否かを示すフラグを削除することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 データ処理システム
11 圧縮回路
21 伸張回路
91〜93 データ処理システム
100 半導体装置
110 演算モジュール
111 演算器
112 バッファ
120 メモリ制御モジュール
121 アクセス回路
122 アドレス変換器
130 データバス
200 SDRAM
201 圧縮データ
202 非圧縮データ
901〜903 半導体装置
DF デブロックフィルタ

Claims (10)

  1. 第一の演算モジュールと第二の演算モジュールと第三の演算モジュールとメモリ制御モジュールとを備え、
    前記第一の演算モジュールは、
    演算処理を実行する第一の演算処理部と、
    前記第一の演算処理部の第一の演算処理結果のデータを圧縮する第一の圧縮部と、
    を備え、
    前記第二の演算モジュールは、
    演算処理を実行する第二の演算処理部と、
    前記第二の演算処理部の第二の演算処理結果のデータを圧縮する第二の圧縮部と、
    を備え、
    前記メモリ制御モジュールは、
    前記第一または第二の圧縮部により圧縮されたデータをメモリに書き込み、前記書き込まれたデータを前記メモリから読み出すアクセス部と、
    前記メモリから読み出されたデータを伸張し、前記伸張されたデータを前記第一の演算モジュールと前記第二の演算モジュールと前記第三の演算モジュールへ出力する伸張部と、
    を備え
    前記メモリ制御モジュールは、前記第一または第二の演算モジュールから要求されたアドレスを変換するアドレス変換部を備え、
    前記アクセス部は、前記変換されたアドレスで前記メモリへアクセスし、
    前記伸張部は、前記要求されたアドレスが第1のアドレス領域に含まれる場合に前記データを伸張し、前記要求されたアドレスが第2のアドレス領域に含まれる場合に前記データの伸張を行わず、
    前記第1のアドレス領域の変換後のアドレス領域と、前記第2のアドレス領域の変換後のアドレス領域は、前記メモリ上の同じアドレス領域に含まれる、
    半導体装置。
  2. 第一の演算モジュールと第二の演算モジュールと第三の演算モジュールとメモリ制御モジュールとを備え、
    前記第一の演算モジュールは、
    演算処理を実行する第一の演算処理部と、
    前記第一の演算処理部の第一の演算処理結果のデータを圧縮する第一の圧縮部と、
    を備え、
    前記第二の演算モジュールは、
    演算処理を実行する第二の演算処理部と、
    前記第二の演算処理部の第二の演算処理結果のデータを圧縮する第二の圧縮部と、
    を備え、
    前記メモリ制御モジュールは、
    前記第一または第二の圧縮部により圧縮されたデータをメモリに書き込み、前記書き込まれたデータを前記メモリから読み出すアクセス部と、
    前記メモリから読み出されたデータを伸張し、前記伸張されたデータを前記第一の演算モジュールと前記第二の演算モジュールと前記第三の演算モジュールへ出力する伸張部と、
    を備え
    前記メモリ制御モジュールは、前記第一または第二の演算モジュールから要求されたアドレスを変換するアドレス変換部を備え、
    前記アクセス部は、前記変換されたアドレスで前記メモリへアクセスし、
    前記第一または第二の圧縮部は、データを所定の圧縮単位で圧縮し、前記圧縮単位のデータを前記メモリへ書き込むよう要求し、
    前記アドレス変換部は、複数の前記圧縮単位のデータが前記メモリ上の同じアドレス領域に含まれるように前記アドレスを変換する、
    半導体装置。
  3. 前記第一または第二の演算処理結果のデータを圧縮処理単位のデータに変換する変換部を備え、
    前記第一または第二の圧縮部は、前記圧縮処理単位のデータを圧縮する、
    請求項1に記載の半導体装置。
  4. 前記変換部は、前記第一または第二の演算処理結果のデータを所定の長さでアドレスが連続する構造のデータに変換する、
    請求項に記載の半導体装置。
  5. 前記変換部は、前記第一または第二の演算処理結果のデータを前記圧縮処理単位に格納するバッファを備える、
    請求項に記載の半導体装置。
  6. 前記第一または第二の演算処理部は、前記第一または第二の演算処理部の演算処理の処理単位順にアドレスが不連続のデータを出力し、
    前記バッファは、前記出力されたデータのアドレスが連続するように前記データを格納する、
    請求項に記載の半導体装置。
  7. 前記伸張部は、前記メモリから読み出されたデータが圧縮されている場合、前記データを伸張する、
    請求項1又は2に記載の半導体装置。
  8. 前記第一または第二の演算処理部は、前記メモリからデータを読み出す場合、メモリ読み出しコマンドとともにデータの圧縮または非圧縮を示すフラグを出力し、
    前記伸張部は、前記メモリから読み出されたデータが圧縮されている場合、前記フラグに基づいて前記データを伸張する、
    請求項に記載の半導体装置。
  9. 前記第一または第二の圧縮部は、所定の圧縮単位で圧縮したデータを前記メモリ制御モジュールへ出力し、前記メモリ制御モジュールは、前記圧縮単位の先頭アドレスを圧縮前と同じアドレスとして前記圧縮したデータを前記メモリへ書き込む、
    請求項1に記載の半導体装置。
  10. 前記伸張部は、前記要求されたアドレスが第1のアドレス領域に含まれる場合に前記メモリ上のアドレス領域のうち第1のメモリ領域のデータを伸張し、前記要求されたアドレスが第2のアドレス領域に含まれる場合に前記メモリ上のアドレス領域のうち第2のメモリ領域のデータを伸張する、
    請求項に記載の半導体装置。
JP2015232944A 2015-11-30 2015-11-30 半導体装置 Active JP6679290B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015232944A JP6679290B2 (ja) 2015-11-30 2015-11-30 半導体装置
CN201610959313.9A CN106980465B (zh) 2015-11-30 2016-11-03 半导体装置、数据处理系统和半导体装置控制方法
EP16199111.2A EP3174294A1 (en) 2015-11-30 2016-11-16 Reference buffer compression
US15/355,322 US10459646B2 (en) 2015-11-30 2016-11-18 Semiconductor device, data processing system, and semiconductor device control method
KR1020160158509A KR20170063384A (ko) 2015-11-30 2016-11-25 반도체 장치, 데이터 처리 시스템 및 반도체 장치의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015232944A JP6679290B2 (ja) 2015-11-30 2015-11-30 半導体装置

Publications (2)

Publication Number Publication Date
JP2017102524A JP2017102524A (ja) 2017-06-08
JP6679290B2 true JP6679290B2 (ja) 2020-04-15

Family

ID=57754910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015232944A Active JP6679290B2 (ja) 2015-11-30 2015-11-30 半導体装置

Country Status (5)

Country Link
US (1) US10459646B2 (ja)
EP (1) EP3174294A1 (ja)
JP (1) JP6679290B2 (ja)
KR (1) KR20170063384A (ja)
CN (1) CN106980465B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324656B1 (en) * 2016-07-29 2019-06-18 EMC IP Holding Company LLC Application-aware control for data services
JP2019061631A (ja) * 2017-09-28 2019-04-18 ルネサスエレクトロニクス株式会社 半導体装置、及びメモリアクセス方法
JP7257772B2 (ja) * 2018-10-31 2023-04-14 ルネサスエレクトロニクス株式会社 半導体装置を用いるシステム
JP7142562B2 (ja) 2018-12-25 2022-09-27 ルネサスエレクトロニクス株式会社 半導体装置、および、データのアクセスを制御するための方法
CN114168085B (zh) * 2021-12-16 2024-02-20 潍柴动力股份有限公司 变量处理方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3037144B2 (ja) 1996-07-09 2000-04-24 神戸日本電気ソフトウェア株式会社 データ圧縮記憶演算装置
KR20060009256A (ko) * 2003-04-16 2006-01-31 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치 및 방법과, 컴퓨터 프로그램 제품
US8001294B2 (en) 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
US7801223B2 (en) * 2006-07-27 2010-09-21 Lsi Corporation Method for video decoder memory reduction
JP5194703B2 (ja) 2007-10-16 2013-05-08 ソニー株式会社 データ処理装置及び共有メモリのアクセス方法
WO2012039002A1 (en) * 2010-09-21 2012-03-29 Hitachi, Ltd. Semiconductor storage device and data control method thereof
US8781000B2 (en) 2010-12-30 2014-07-15 Vixs Systems, Inc. Dynamic video data compression

Also Published As

Publication number Publication date
KR20170063384A (ko) 2017-06-08
US10459646B2 (en) 2019-10-29
US20170153838A1 (en) 2017-06-01
EP3174294A1 (en) 2017-05-31
JP2017102524A (ja) 2017-06-08
CN106980465A (zh) 2017-07-25
CN106980465B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
JP6679290B2 (ja) 半導体装置
JP5969914B2 (ja) 動画像圧縮伸張装置
KR100668302B1 (ko) 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법
US8781000B2 (en) Dynamic video data compression
US20180227588A1 (en) Video decoder memory bandwidth compression
US20170365033A1 (en) Image processing device
JP2007293533A (ja) プロセッサシステム及びデータ転送方法
US20120147023A1 (en) Caching apparatus and method for video motion estimation and compensation
JP2007158550A (ja) 画像処理装置及び画像処理方法
JP5526641B2 (ja) メモリコントローラ
US10531125B2 (en) Video compression method and video compressor
US20190095338A1 (en) Semiconductor device, data processing system, and semiconductor device control method
CA2909216A1 (en) Information processing apparatus, method of controlling the same, program and storage medium
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP2009130599A (ja) 動画像復号装置
CN101754034B (zh) 透明属性的离散余弦转换压缩图数据的解压缩系统及方法
JPWO2010095181A1 (ja) 可変長復号化装置
JP2011097371A (ja) 画像処理装置
JP5359785B2 (ja) 画像処理装置
JP2015122584A (ja) 画像処理装置およびその制御方法
JP2014045290A (ja) 画像出力装置、画像処理装置、画像出力制御方法及び画像出力制御プログラム
JP2003244725A (ja) 画像処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6679290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150