JP6708127B2 - 画像処理装置、画像処理方法、及び、プログラム - Google Patents

画像処理装置、画像処理方法、及び、プログラム Download PDF

Info

Publication number
JP6708127B2
JP6708127B2 JP2016550107A JP2016550107A JP6708127B2 JP 6708127 B2 JP6708127 B2 JP 6708127B2 JP 2016550107 A JP2016550107 A JP 2016550107A JP 2016550107 A JP2016550107 A JP 2016550107A JP 6708127 B2 JP6708127 B2 JP 6708127B2
Authority
JP
Japan
Prior art keywords
frame image
blocks
control unit
image
pixel data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016550107A
Other languages
English (en)
Other versions
JPWO2016047472A1 (ja
Inventor
俊明 志野
俊明 志野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2016047472A1 publication Critical patent/JPWO2016047472A1/ja
Application granted granted Critical
Publication of JP6708127B2 publication Critical patent/JP6708127B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

本技術は、画像処理装置、画像処理方法、及び、プログラムに関し、特に、動画像の各フレームの画像の変形を行う場合に用いて好適な画像処理装置、画像処理方法、及び、プログラムに関する。
従来、動画像の各フレームの画像(以下、フレーム画像と称する)の回転処理の高速化や処理コストの削減が検討されている(例えば、特許文献1、2参照)。
特開2004−242212号公報 特開2005−102168号公報
動画像の各フレーム画像を回転する場合、例えば、1フレーム分のフレーム画像を全てメモリに書き込み、書き込み順と異なる順序で画素データを読み出すことにより、各フレーム画像の回転が行われる。また、回転処理を高速化する場合、書き込み処理と読み出し処理が並行して実行される。
一方、回転処理の実行時に書き込み処理と読み出し処理を並行して実行する場合、読み出し対象となるフレーム画像、及び、書き込み対象となるフレーム画像の2フレーム分のフレーム画像を記憶するだけのメモリ容量が最低限必要になる。そのため、回転処理を行うLSI等のチップ上に大容量のメモリを設けたり、外部メモリを接続したりする必要が生じ、コストアップにつながっていた。
そこで、本技術は、動画像の各フレームの画像の回転等の変形処理に必要なメモリ容量を削減できるようにするものである。
本技術の一側面の画像処理装置は、入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込む書き込み制御部と、前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成する読み出し制御部とを備え、前記書き込み制御部と前記読み出し制御部は、前記画素データの書き込みと前記画素データの読み出しを並行して行い、前記書き込み制御部は、前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記読み出し制御部により前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、前記書き込み制御部は、前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、前記読み出し制御部は、直前に前記書き込み制御部により前記記憶部に書き込まれたN個の前記ブロックを読み出し、前記書き込み制御部は、直前に前記読み出し制御部によりN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む。
前記入力フレーム画像における前記第1の方向と、前記出力フレーム画像における前記第2の方向とを同じ方向にすることができる。
前記入力フレーム画像の回転を行う場合、前記書き込み制御部は、前記入力フレーム画像をN行×N列(N≧2)の前記ブロックに分割し、前記書き込み制御部、iフレーム目(i≧2)の前記入力フレーム画像のj−1番目(j≧2)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込ませるのと並行して、前記読み出し制御部に、i−1フレーム目の前記出力フレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出させ、前記書き込み制御部に、前記読み出し制御部によりi−1フレーム目の前記出力フレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記入力フレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込ませることができる。
前記入力フレーム画像の回転を行う場合、前記書き込み制御部には、1フレーム目の前記入力フレーム画像のN行×N列の前記ブロックをN×N個の前記記憶領域に1つずつ書き込ませることができる。
N×N+N個の前記記憶領域を、前記記憶部に設けることができる。
前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、前記書き込み制御部、iフレーム目(i≧1)の前記入力フレーム画像のj−1番目(j≧3)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込ませるのと並行して、前記読み出し制御部に、iフレーム目の前記出力フレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出させ、前記書き込み制御部に、前記読み出し制御部によりiフレーム目の前記出力フレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記入力フレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込ませることができる。
本技術の一側面の画像処理方法は、画像処理装置が、入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込み、前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成するとともに、前記画素データの書き込みと前記画素データの読み出しを並行して行い、前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、直前に前記記憶部に書き込まれたN個の前記ブロックを読み出し、直前にN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む。
本技術の一側面のプログラムは、入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込み、前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成するとともに、前記画素データの書き込みと前記画素データの読み出しを並行して行い、前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、直前に前記記憶部に書き込まれたN個の前記ブロックを読み出し、直前にN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む処理をコンピュータに実行させる。
本技術の一側面においては、入力された動画像の各フレームの画像である入力フレーム画像の画素データが、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込まれ、前記記憶部に書き込まれた前記入力フレーム画像の前記画素データが、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出されることにより、前記出力フレーム画像が生成されるとともに、前記画素データの書き込みと前記画素データの読み出しが並行して行われ、前記入力フレーム画像が2行×2列以上のブロックに分割され、前記ブロックが各前記記憶領域に1つずつ書き込まれるとともに、直前に前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックが書き込まれ、前記入力フレーム画像の反転、拡大、又は、縮小が行われる場合、前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データが書き込まれ、直前に前記記憶部に書き込まれたN個の前記ブロックが読み出され、直前にN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックが書き込まれる。
本技術の一側面によれば、動画像の各フレームの画像の変形処理に必要なメモリ容量を削減することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した画像処理装置の一実施の形態を示すブロック図である。 フレーム画像の分割方法の例を示す図である。 タグレジスタの構成例を示す図である。 画像回転処理を説明するためのフローチャートである。 入力フレーム画像の例を示す図である。 出力フレーム画像の例を示す図である。 書き込み処理の詳細を説明するためのフローチャートである。 プライオリティエンコーダの入出力特性の例を示す表である。 入力フレーム画像の画素データの書き込み順の例を示す図である。 ブロック内の画素データの書き込み順の例を示す図である。 タグレジスタの値の例を示す図である。 読み出し、書き込み処理の詳細を説明するためのフローチャートである。 出力フレーム画像の画素データの読み出し順の例を示す図である。 出力フレーム画像におけるブロックの配置の例を示す図である。 ブロック内の画素データの読み出し順の例を示す図である。 タグレジスタの値の例を示す図である。 タグレジスタの値の例を示す図である。 読み出し処理の詳細を説明するためのフローチャートである。 画像拡大/縮小処理を説明するためのフローチャートである。 画像拡大/縮小処理を説明するためのフローチャートである。 タグレジスタの値の例を示す図である。 フレーム画像の拡大時の画素データの読み出し順の例を示す図である。 フレーム画像の縮小時の画素データの読み出し順の例を示す図である。 タグレジスタの値の例を示す図である。 コンピュータの構成例を示すブロック図である。
以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
{画像処理装置1の構成例}
図1は、本技術を適用した画像処理装置の一実施の形態である画像処理装置1の構成例を示している。
画像処理装置1は、外部から入力される動画像(以下、入力動画像と称する)の各フレーム画像の変形を行う。そして、画像処理装置1は、変形後の各フレーム画像からなる動画像(以下、出力動画像と称する)を出力する。画像処理装置1が行うフレーム画像の変形には、例えば、フレーム画像の回転、反転、拡大、縮小等が含まれる。
なお、以下、入力動画像のフレーム画像と出力動画像のフレーム画像を区別する場合、前者を入力フレーム画像と称し、後者を出力フレーム画像と称する。
画像処理装置1は、書き込み制御部11、読み出し制御部12、タグ制御部13、タグレジスタ14、及び、RAM15−1乃至15−72を含むように構成される。書き込み制御部11、読み出し制御部12、及び、RAM15−1乃至15−72は、バス16を介して相互に接続されている。
なお、以下、RAM15−1乃至15−72を個々に区別する必要がない場合、単にRAM15と称する。
書き込み制御部11は、入力動画像の各入力フレーム画像のRAM15への書き込みを制御する。より具体的には、書き込み制御部11は、各入力フレーム画像を所定の大きさのブロックに分割し、ブロック単位で各RAM15に書き込む。すなわち、書き込み制御部11は、各入力フレーム画像の各ブロックを各RAM15に1つずつ書き込むように制御する。
読み出し制御部12は、出力動画像の各出力フレーム画像のRAM15からの読み出しを制御する。また、読み出し制御部12は、各RAM15からの各ブロックの画素データの読み出し順等を制御することにより、フレーム画像の変形を行う。そして、読み出し制御部12は、変形したフレーム画像からなる出力動画像を出力する。
タグ制御部13は、書き込み制御部11によるフレーム画像の書き込み、及び、読み出し制御部12によるフレーム画像の読み出しに連動して、タグレジスタ14の更新を行う。また、タグ制御部13は、タグレジスタ14の内容を書き込み制御部11及び読み出し制御部12に通知する。
タグレジスタ14は、各RAM15に対して1つずつ設けられ、図2を参照して後述するように、各RAM15の状態を表す。
RAM15−1乃至15−72には、上述したように各入力フレーム画像のブロックが書き込まれる記憶領域である。
なお、RAM15−1乃至15−72は、1つ又は複数のRAMの領域を複数の小領域に分割することにより実現してもよいし、或いは、それぞれ物理的に異なるRAMにより実現するようにしてもよい。
なお、以下、RAM15−1乃至15−72に、それぞれ1から72の識別番号が割り当てられるものとする。例えば、RAM15−1には、番号1が割り当てられ、RAM15−72には、番号72が割り当てられる。
{フレーム画像の分割方法の例}
図2は、フレーム画像の分割方法の例が示されている。このフレーム画像においては、縦544行×横960列の画素が並んでいる。そして、フレーム画像が、縦8行×横8列の64個の同じ大きさの矩形のブロックに分割されている。
なお、以下、図2に示されるようにフレーム画像を分割した場合の処理を具体例として挙げて説明する。また、左上隅のブロックに1番のブロック番号が割り当てられ、以下、左から右方向、及び、上から下方向の順に各ブロックにブロック番号が割り当てられるものとする。さらに、以下、各行のブロックのうち左端のブロックを各行の先頭のブロックとし、右端のブロックを各行の末尾のブロックとする。例えば、図2のフレーム画像の1行目において、左端のブロック1が先頭のブロックとなり、右端のブロック8が末尾のブロックとなる。
{タグレジスタ14の構成例}
図3は、タグレジスタ14の構成例を示している。タグレジスタ14は、10ビットのレジスタであり、上述したようにRAM15毎に設けられる。
タグレジスタ14の0から5ビット目までには、対象となるRAM15に書き込まれている入力フレーム画像のブロックのブロック番号が設定される。
タグレジスタ14の6から7ビット目には、1又は2のフレーム識別フラグが設定される。各RAM15には、連続する2つの入力フレーム画像のブロックが同時期に書き込まれるため、このフレーム識別フラグにより、各ブロックが属する入力フレーム画像が識別される。
タグレジスタ14の8ビット目には、対応するRAM15が書き込み可能であるか否かを示すフラグである書き込みレディが設定される。書き込みレディは、例えば、対応するRAM15が書き込み不可である場合、0に設定され、対応するRAM15が書き込み可能である場合、1に設定される。
タグレジスタ14の9ビット目には、対応するRAM15が読み出し可能であるか否かを示すフラグである読み出しレディが設定される。読み出しレディは、例えば、対応するRAM15が読み出し不可である場合、0に設定され、対応するRAM15が読み出し可能である場合、1に設定される。
{画像回転処理}
次に、図4のフローチャートを参照して、画像処理装置1により実行される画像回転処理について説明する。この処理では、入力動画像の各フレーム画像が右方向に90度回転して出力される。例えば、図5に示されるフレーム画像が、図6に示されるように右方向に90度回転して出力される。
ステップS1において、書き込み制御部11及び読み出し制御部12は、変数iに1を代入する。
ステップS2において、書き込み制御部11は、書き込み処理を実行する。ここで、図7のフローチャートを参照して、書き込み処理の詳細について説明する。
ステップS51において、書き込み制御部11は、変数jに1を代入する。
ステップS52において、書き込み制御部11は、1フレーム目の入力フレーム画像のj行目のブロックの書き込みを行う。いまの場合、変数jの値が1に設定されているので、入力フレーム画像の1行目のブロック1乃至8がRAM15に書き込まれる。
具体的には、書き込み制御部11は、まず1フレーム目の入力フレーム画像の1行目の先頭のブロック1の書き込み位置を決定する。ここで、書き込み制御部11は、図8に示される入出力特性を有する72ビットのプライオリティエンコーダを備えている。なお、図8の入出力特性表のうちxで示される欄は、0でも1でも構わないことを示している。
このプライオリティエンコーダは、72ビットのデータが入力され、入力データの値が1のビットのうち最も下位のビットの位置を示すデータを出力する。例えば、プライオリティエンコーダは、最も下位の0ビット目が1に設定されたデータが入力された場合、1ビット目から72ビット目までの値に関わらず、0ビット目のみが1に設定されたデータを出力する。また、例えば、プライオリティエンコーダは、最も下位の0ビット目が0に設定され、1ビット目が1に設定されたデータが入力された場合、2ビット目から71ビット目までの値に関わらず、1ビット目のみが1に設定されたデータを出力する。
例えば、書き込み制御部11は、タグ制御部13を介して、各RAM15のタグレジスタ14の書き込みレディの値を読み出す。そして、書き込み制御部11は、各RAM15のタグレジスタ14の書き込みレディの値からなる72ビットのデータをプライオリティエンコーダに入力する。
この入力データにおいては、例えば、各RAM15の書き込みレディの値が、番号の若いRAM15から順に下位ビットから上位ビットの方向に並べられる。例えば、RAM15−1の書き込みレディの値が入力データの0ビット目に設定され、RAM15−2の書き込みレディの値が入力データの1ビット目に設定され、RAM15−72の書き込みレディの値が入力データの71ビット目に設定される。
そして、書き込み制御部11は、プライオリティエンコーダから出力されたデータにおいて値が1に設定されているビットに対応するRAM15を、ブロック1の書き込み位置に決定する。これにより、書き込み可能なRAM15のうち最も若い番号のRAM15が、ブロック1の書き込み位置に決定される。いまの場合、いずれのRAM15にもブロックが書き込まれていないので、RAM15−1がブロック1の書き込み位置に決定される。
次に、書き込み制御部11は、ブロック1の画素データをRAM15−1に書き込む。ここで、図9に示されるように、入力フレーム画像の各画素データは、いちばん上の行から順に左から右方向に向かうラスタ順にスキャンされ、RAM15に書き込まれる。そこで、書き込み制御部11は、まずブロック1の1行目の画素データをRAM15−1に書き込む。
次に、書き込み制御部11は、ブロック1の場合と同様の方法により、ブロック2の書き込み位置をRAM15−2に決定する。そして、書き込み制御部11は、ブロック2の1行目の画素データをRAM15−2に書き込む。
以下、同様にして、書き込み制御部11は、ブロック3乃至8の書き込み位置をRAM15−3乃至15−8に決定し、ブロック3乃至8の1行目の画素データをRAM15−3乃至15−8に書き込む。
次に、書き込み制御部11は、ブロック1乃至8の2行目の画素データをRAM15−1乃至15−8に書き込む。
以下同様にして、書き込み制御部11は、ブロック1乃至8の3行目から68行目までの画素データをRAM15−1乃至15−8に書き込む。
これにより、図10に示されるように、ブロック1乃至8の画素データは、ラスタ順にRAM15−1乃至15−8にそれぞれ個別に書き込まれる。なお、1つのブロックのサイズは、縦68行×横120列となる。
そして、書き込み制御部11は、1フレーム目の入力フレーム画像のブロック1乃至8の書き込み完了をタグ制御部13に通知する。タグ制御部13は、ブロック1乃至8が書き込まれたRAM15−1乃至15−8のタグレジスタ14の値を更新する。
図7に戻り、ステップS53において、書き込み制御部11は、変数jの値を1つインクリメントする。
ステップS54において、書き込み制御部11は、変数jが定数Nより大きいか否かを判定する。定数Nは、入力フレーム画像におけるブロックの行数であり、この例では、8に設定される。そして、変数jが定数N以下であると判定された場合、すなわち、1フレーム目の入力フレーム画像の全ての行のブロックの書き込みがまだ終了していない場合、処理はステップS52に戻る。
その後、ステップS54において、変数jが定数Nより大きいと判定されるまで、ステップS52乃至S54の処理が繰り返し実行される。これにより、1フレーム目の入力フレーム画像のブロックが、行方向に並ぶ8個単位でRAM15−1乃至15−64に書き込まれる。また、ブロック1乃至64が書き込まれたRAM15−1乃至15−64のタグレジスタ14の値が更新される。
図11は、1フレーム目の入力フレーム画像の書き込み終了後の各RAM15のタグレジスタ14の値の例が示されている。なお、この例においては、読み出しレディの値は示されていない。
例えば、ブロックの書き込みが行われたRAM15−1乃至15−64のタグレジスタ14のブロック番号は、1乃至64に設定されている。書き込みレディは、書き込み不可を示す0に設定されている。フレーム識別フラグは、1に設定されている。
一方、ブロックの書き込みが行われていないRAM15−64乃至15−72のタグレジスタ14のブロック番号は、初期値(例えば、0)に設定されている。書き込みレディは、書き込み可能を示す1に設定されている。フレーム識別フラグは、初期値(例えば、0)に設定されている。
一方、ステップS54において、変数jが定数Nより大きいと判定された場合、すなわち、1フレーム目の入力フレーム画像の全ての行のブロックの書き込みが終了した場合、書き込み処理は終了する。
図4に戻り、ステップS3において、書き込み制御部11は、次の入力フレーム画像があるか否かを判定する。まだ未処理の入力フレーム画像がある場合、次の入力フレーム画像があると判定され、処理はステップS4に進む。
ステップS4において、書き込み制御部11及び読み出し制御部12は、変数iの値を1つインクリメントする。
ステップS5において、画像処理装置1は、読み出し、書き込み処理を実行する。ここで、図12のフローチャートを参照して、読み出し、書き込み処理の詳細について説明する。
ステップS101において、書き込み制御部11及び読み出し制御部12は、変数jに1を代入する。
ステップS102において、書き込み制御部11は、図7のステップS52と同様の処理により、iフレーム目の入力フレーム画像のj行目のブロックの書き込みを行う。例えば、最初のステップS102の処理では、2フレーム目の入力フレーム画像の1行目のブロック1乃至8が、RAM15−65乃至15−72に書き込まれる。また、ブロック1乃至8が書き込まれたRAM15−65乃至15−72のタグレジスタ14の値が更新される。
ステップS103において、読み出し制御部12は、i−1フレーム目の出力フレーム画像のj行目のブロックの読み出しを行う。例えば、最初のステップS103の処理では、1フレーム目の出力フレーム画像の1行目のブロックの読み出しが行われる。ここで、1フレーム目の出力フレーム画像の1行目のブロックを読み出す場合の処理について具体的に説明する。
例えば、図9に示される入力フレーム画像が入力され、RAM15に書き込まれた場合、読み出し制御部12は、図9のフレーム画像を右方向に90度回転した図13の出力フレーム画像の各画素データをラスタ順に読み出す。
図14は、図13の出力フレーム画像におけるブロックの配置を示している。この図に示されるように、出力フレーム画像の1行目のブロックは、左から順にブロック57、49、41、33、25、17、9、1となり、この順に各ブロックの画素データが読み出される。
まず、読み出し制御部12は、タグ制御部13にブロック57の書き込み位置の検索を依頼する。タグ制御部13は、タグレジスタ14を用いて、ブロック57の書き込み位置を検索し、検索結果を読み出し制御部12に通知する。上述した図11に示されるように、ブロック57は、RAM15−57に書き込まれており、タグ制御部13は、RAM15−57を検索結果として、読み出し制御部12に通知する。
そして、読み出し制御部12は、出力フレーム画像におけるブロック57の1行目の画素データをRAM15−57から読み出す。ここで、図13に示されるように、出力フレーム画像の画素データの読み出し順は、図9の入力フレーム画像の画素データの書き込み順と異なっている。従って、各ブロックの画素データの読み出し順も、書き込み順とは異なる。具体的には、図15に示されるように、ブロックの左端の列から順に下から上方向に画素データが読み出される。
従って、まず、読み出し制御部12は、ブロック57の左端の1列目の画素データを下から上方向にRAM15−57から読み出し、外部に出力する。
次に、読み出し制御部12は、ブロック57の場合と同様の方法により、ブロック49の書き込み位置(RAM15−49)をタグ制御部13から取得する。そして、読み出し制御部12は、ブロック49の左端の1列目の画素データを下から上方向にRAM15−49から読み出し、外部に出力する。
以下同様にして、読み出し制御部12は、ブロック41、33、25、17、9、1の左端の1列目の画素データを下から上方向にRAM15−41、15−33、15−25、15−17、15−9、15−1から順番に読み出し、出力する。
次に、読み出し制御部12は、ブロック57、49、41、33、25、17、9、1の2列目の画素データを下から上方向にRAM15−57、15−49、15−41、15−33、15−25、15−17、15−9、15−1から順番に読み出し、出力する。
以下同様にして、読み出し制御部12は、ブロック57、49、41、33、25、17、9、1の3列目から120列目までの画素データを下から上方向にRAM15−57、15−49、15−41、15−33、15−25、15−17、15−9、15−1から順番に読み出し、出力する。
これにより、図13に示される出力フレーム画像の1行目から120行目までの画素データがラスタ順に読み出される。
そして、読み出し制御部12は、1フレーム目の出力フレーム画像のブロック57、49、41、33、25、17、9、1の読み出し完了をタグ制御部13に通知する。タグ制御部13は、ブロック57、49、41、33、25、17、9、1が読み出されたRAM15−57、15−49、15−41、15−33、15−25、15−17、15−9、15−1のタグレジスタ14の値を更新する。
図16は、2フレーム目の入力フレーム画像の1行目のブロックがRAM15に書き込まれ、1フレーム目の出力フレーム画像の1行目のブロックがRAM15から読み出された後の各RAM15のタグレジスタ14の値の例が示されている。なお、この例においては、読み出しレディの値は示されていない。
図16を図11と比較すると、2フレーム目の入力フレーム画像の1行目のブロック1乃至8が書き込まれたRAM15−65乃至15−72のタグレジスタ14の値が変更されている。具体的には、ブロック番号が、1乃至8に設定されている。書き込みレディが、書き込み不可を示す0に設定されている。フレーム識別フラグが、1フレーム目の入力フレーム画像のブロックと区別するために2に設定されている。
また、1フレーム目の出力フレーム画像の1行目のブロック57、49、41、33、25、17、9、1が読み出されたRAM15−57、15−49、15−41、15−33、15−25、15−17、15−9、15−1のタグレジスタ14の値が変更されている。具体的には、ブロック番号及びフレーム識別フラグがリセットされ、初期値に設定されている。書き込みレディが、書き込み可能を示す1に設定されている。
なお、ステップS102とステップS103の処理は並行して実行される。ただし、必ずしも、ステップS102とステップS103の処理をきっちり同時に行う必要はなく、例えば、ステップS102の処理とステップS103の処理の開始タイミングや終了タイミングに時間差があってもよい。
ステップS102及びS103の処理が終了した後、処理はステップS104に進む。
ステップS104において、書き込み制御部11及び読み出し制御部12は、変数jの値を1つインクリメントする。
ステップS105において、図7のステップS54の処理と同様に、変数jが定数Nより大きいか否かが判定される。変数jが定数N以下であると判定された場合、すなわち、2フレーム目の入力フレーム画像の全ての行のブロックの書き込み、及び、1フレーム目の出力フレーム画像の全ての行のブロックの読み出しがまだ終了していない場合、処理はステップS102及びS103に戻る。
その後、ステップS105において、変数jが定数Nより大きいと判定されるまで、ステップS102乃至S105の処理が繰り返し実行される。
例えば、2回目のステップS102及びS103の処理において、2フレーム目の入力フレーム画像の2行目のブロック9乃至16がRAM15に書き込まれるとともに、1フレーム目の出力フレーム画像の2行目のブロック58、50、42、34、26、18、10、2がRAM15から読み出される。このとき、2フレーム目の入力フレーム画像の2行目のブロック9乃至16は、直前に(1つ前のステップS103の処理で)1フレーム目の出力フレーム画像の1行目のブロックが読み出されることにより空いたRAM15−1、15−9、15−17、15−25、15−33、15−41、15−49、15−57に書き込まれる。
図17は、2フレーム目の入力フレーム画像の2行目のブロックがRAM15に書き込まれ、1フレーム目の出力フレーム画像の2行目のブロックがRAM15から読み出された後の各RAM15のタグレジスタ14の値の例が示されている。なお、この例においては、読み出しレディの値は示されていない。
図17を図16と比較すると、2フレーム目の入力フレーム画像の2行目のブロック9乃至16が書き込まれたRAM15−1、15−9、15−17、15−25、15−33、15−41、15−49、15−57のタグレジスタ14の値が変更されている。具体的には、ブロック番号が、9乃至16に設定されている。書き込みレディが、書き込み不可を示す0に設定されている。フレーム識別フラグが、1フレーム目の入力フレーム画像のブロックと区別するために2に設定されている。
また、1フレーム目の出力フレーム画像の2行目のブロック58、50、42、34、26、18、10、2が読み出されたRAM15−58、15−50、15−42、15−34、15−26、15−18、15−10、15−2のタグレジスタ14の値が変更されている。具体的には、ブロック番号及びフレーム識別フラグがリセットされ、初期値に設定されている。書き込みレディが、書き込み可能を示す1に設定されている。
以後、同様にして、2フレーム目の入力フレーム画像の3乃至8行目のブロックがRAM15に書き込まれるととともに、1フレーム目の出力フレーム画像の3乃至8行目のブロックが読み出される。なお、2フレーム目の入力フレーム画像のj行目のブロックは、直前に(1つ前のステップS103の処理で)1フレーム目の出力フレーム画像のj−1行目のブロックが読み出されることにより空いたRAM15に書き込まれる。
一方、ステップS105において、変数jが定数Nより大きいと判定された場合、すなわち、2フレーム目の入力フレーム画像の全ての行のブロックの書き込み、及び、1フレーム目の出力フレーム画像の全ての行のブロックの読み出しが終了した場合、読み出し、書き込み処理は終了する。
図4に戻り、読み出し、書き込み処理の後、処理はステップS3に戻る。その後、ステップS3において、次の入力フレーム画像がないと判定されるまで、ステップS3乃至S5の処理が繰り返し実行される。
これにより、フレーム順に入力フレーム画像を、行方向に並ぶ8個のブロック単位でRAM15に1つずつ書き込みながら、書き込み中の入力フレーム画像より1つ前のフレームの出力フレーム画像を、行方向に並ぶ8個のブロック単位でRAM15から読み出す処理が繰り返し実行される。また、iフレーム目の入力フレーム画像のj行目のブロックは、直前にi−1フレーム目の出力フレーム画像のj−1行目のブロック(或いは、i−2フレーム目の出力フレーム画像のN行目のブロック)が読み出されることにより空いたRAM15に書き込まれる。
一方、ステップS3において、入力動画像の最後の入力フレーム画像がRAM15に書き込まれた場合、次の入力フレーム画像がないと判定され、処理はステップS6に進む。
ステップS6において、読み出し制御部12は、読み出し処理を行い、画像回転処理は終了する。ここで、図18のフローチャートを参照して、読み出し処理の詳細について説明する。
ステップS151において、読み出し制御部12は、変数jに1を代入する。
ステップS152において、上述した図12のステップS103と同様の処理により、最後の出力フレーム画像のj行目のブロックの読み出しが行われる。
ステップS153において、読み出し制御部12は、変数jの値を1つインクリメントする。
ステップS154において、上述した図7のステップS54の処理と同様に、変数jが定数Nより大きいか否かが判定される。変数jが定数N以下であると判定された場合、処理はステップS152に戻る。
その後、ステップS154において、変数jが定数Nより大きいと判定されるまで、ステップS152乃至S154の処理が繰り返し実行される。これにより、最後の出力フレーム画像の各行のブロックがRAM15から読み出され、出力される。
一方、ステップS154において、変数jが定数Nより大きいと判定された場合、読み出し処理が終了し、画像回転処理は終了する。
以上のようにして、動画像の各フレーム画像を回転する場合に使用するRAM15の容量を削減することができる。具体的には、必要なメモリ容量を、1フレーム分のフレーム画像と1行分のブロックの合計72ブロックの画素データを書き込めるだけの容量に削減することができる。また、フレーム画像の書き込み処理と読み出し処理が並行して実行されるので、使用するメモリ容量を削減しても、回転処理の処理速度の低下を抑制することができる。
なお、画素データの読み出し順を変更することにより、フレーム画像を180度回転したり、左方向に90度回転したりすることも可能である。同様に、フレーム画像の読み出し順を変更することにより、フレーム画像を左右反転したり、上下反転したりすることも可能である。これらのいずれの画像変形処理も、1フレーム分のフレーム画像と1行分のブロックの画素データを書き込めるだけのメモリ容量で実現することができる。ただし、フレーム画像の左右反転については、後述するように、さらにメモリ容量を削減することが可能である。
{画像拡大/縮小処理}
次に、図19及び図20のフローチャートを参照して、画像処理装置1により実行される画像拡大/縮小処理について説明する。この処理では、入力動画像の各フレーム画像が拡大又は縮小されて出力される。
なお、以下、メモリ容量の削減効果を強調するために、RAM15−1乃至15−72のうちRAM15−1乃至15−16のみを使用する場合を例に挙げて説明する。
ステップS201において、書き込み制御部11及び読み出し制御部12は、変数i及び変数jに1を代入する。
ステップS202において、上述した図7のステップS52と同様の処理により、1フレーム目の入力フレーム画像の1行目のブロックの書き込みが行われる。
図21は、1フレーム目の入力フレーム画像の1行目のブロックの書き込み終了後の各RAM15のタグレジスタ14の値の例が示されている。なお、この例においては、読み出しレディの値は示されていない。
例えば、ブロックの書き込みが行われたRAM15−1乃至15−8のタグレジスタ14のブロック番号は、1乃至8に設定されている。書き込みレディは、書き込み不可を示す0に設定されている。フレーム識別フラグは、1に設定されている。
一方、ブロックの書き込みが行われていないRAM15−9乃至15−16のタグレジスタ14のブロック番号は、初期値に設定されている。書き込みレディは、書き込み可能を示す1に設定されている。フレーム識別フラグは、初期値に設定されている。
ステップS203において、変数jの値が1つインクリメントされる。
ステップS204において、上述した図7のステップS54の処理と同様に、変数jが定数Nより大きいか否かが判定される。変数jが定数N以下であると判定された場合、処理はステップS205及びS206に進む。
ステップS205において、上述した図12のステップS102の処理と同様に、iフレーム目の入力フレーム画像のj行目のブロックの書き込みが行われる。例えば、最初のステップS205の処理では、1フレーム目の入力フレーム画像の2行目のブロック8乃至16が、RAM15−9乃至15−16に書き込まれる。
ステップS206において、読み出し制御部12は、iフレーム目の出力フレーム画像のj−1行目のブロックの読み出しを行う。例えば、最初のステップS206の処理では、1フレーム目の出力フレーム画像の1行目のブロックが読み出される。
ここで、図22及び図23を参照して、ステップS206の処理の詳細について説明する。なお、図22及び図23の四角の各マスは入力フレーム画像の画素を示し、各丸は出力フレーム画像の各画素データの読み出し位置(サンプル位置)を示している。
フレーム画像の拡大時も縮小時も、各画素データは、基本的に書き込み時と同じ順序で読み出される。従って、1フレーム目の出力フレーム画像の1行目のブロックは、ブロック1,2,3,4,5,6,7,8の順に、RAM15−1、15−2、15−3、15−4、15−15、15−6、15−7、15−8から読み出される。また、ブロック1乃至8の1行目の画素データが左から右方向に読み出され、ブロック1乃至8の2行目の画素データが左から右方向に読み出され、以後同様に、ブロック1乃至8の3乃至68行目の画素データが左方向から右方向に読み出される。
ただし、図22に示されるように、フレーム画像の拡大時において、特にフィルタ処理を行わない場合、拡大率に応じて画素数が増やされるため、複数回読み出される画素データが存在する。例えば、図22の例では、1行目の2列目の画素データは、2回読み出され、2行目の2列目の画素データは、4回読み出される。
一方、図23に示されるように、フレーム画像の縮小時において、特にフィルタ処理を行わない場合、縮小率に応じて画素データの間引きが行われるため、読み出されない画素データが存在する。例えば、図23の例において、3列目の画素データや3行目の画素データは読み出されない。
なお、これらの画素データの読み出し位置の重複及び間引きは、画素データの書き込み位置には影響するものではない。
図24は、1フレーム目の入力フレーム画像の2行目のブロックがRAM15に書き込まれ、1フレーム目の出力フレーム画像の1行目のブロックがRAM15から読み出された後の各RAM15のタグレジスタ14の値の例が示されている。なお、この例においては、読み出しレディの値は示されていない。
図24を図21と比較すると、1フレーム目の入力フレーム画像の2行目のブロック9乃至16が書き込まれたRAM15−9乃至15−16のタグレジスタ14の値が変更されている。具体的には、ブロック番号が、9乃至16に設定されている。書き込みレディが、書き込み不可を示す0に設定されている。フレーム識別フラグが、1に設定されている。
また、1フレーム目の出力フレーム画像の1行目のブロック1乃至8が読み出されたRAM15−1乃至15−8のタグレジスタ14の値が変更されている。具体的には、ブロック番号及びフレーム識別フラグがリセットされ、初期値に設定されている。書き込みレディが、書き込み可能を示す1に設定されている。
なお、ステップS205とステップS206の処理は並行して実行される。ただし、必ずしも、ステップS205とステップS206の処理をきっちり同時に行う必要はなく、例えば、ステップS205の処理とステップS206の処理の開始タイミングや終了タイミングに時間差があってもよい。
ステップS205及びS206の処理が終了した後、処理はステップS203に戻る。
その後、ステップS204において、変数jが定数Nより大きいと判定されるまで、ステップS203乃至S206の処理が繰り返し実行される。
これにより、1フレーム目の入力フレーム画像のj行目のブロックをRAM15に書き込みながら、1フレーム目の出力フレーム画像のj−1行目のブロックを読み出す処理が、1フレーム目の入力フレーム画像のN行目(8行目)のブロックを読み出し、1フレーム目の出力フレームのN−1行目(7行目)のブロックを読み出すまで繰り返される。また、1フレーム目の入力フレーム画像のj行目のブロックは、直前に(1つ前のステップS206の処理で)1フレーム目の出力フレーム画像のj−2行目のブロックが読み出されることにより空いたRAM15に書き込まれる。
一方、ステップS204において、変数jが定数Nより大きいと判定された場合、処理はステップS207に進む。
ステップS207において、上述した図4のステップS3の処理と同様に、次の入力フレーム画像があるか否かが判定される。次の入力フレーム画像があると判定された場合、処理はステップS208に進む。
ステップS208において、書き込み制御部11及び読み出し制御部12は、変数iの値を1つインクリメントするとともに、変数jに1を代入する。
ステップS209において、上述した図7のステップS52の処理と同様に、iフレーム目の入力フレーム画像の1行目のブロックの書き込みが行われる。例えば、最初のステップS209の処理により、2フレーム目の入力フレーム画像の1行目のブロック1乃至8がRAM15に書き込まれる。
ステップS210において、上述したステップS206の処理と同様に、i−1フレーム目の出力フレーム画像のN行目のブロックの読み出しが行われる。例えば、最初のステップS210の処理により、1フレーム目の出力フレーム画像のN行目(8行目)のブロック57乃至64がRAM15から読み出される。
なお、ステップS209とステップS210の処理は並行して実行される。ただし、必ずしも、ステップS209とステップS210の処理をきっちり同時に行う必要はなく、例えば、ステップS209の処理とステップS210の処理の開始タイミングや終了タイミングに時間差があってもよい。
ステップS209及びS210の処理が終了した後、処理はステップS203に戻る。
その後、ステップS207において、次の入力フレーム画像がないと判定されるまで、ステップS203乃至S210の処理が繰り返し実行される。
これにより、iフレーム目の入力フレーム画像のj行目のブロックをRAM15に書き込みながら、iフレーム目の出力フレーム画像のj−1行目(又は、i−1フレーム目の出力フレーム画像のN行目)のブロックの読み出しを行う処理が繰り返し実行される。従って、各入力フレーム画像のブロックを、行方向に並ぶ8個単位でRAM15に書き込みながら、その直前に書き込まれた8個のブロックがRAM15から読み出される。また、iフレーム目の入力フレーム画像のj行目のブロックは、直前にiフレーム目の出力フレーム画像のj−2行目(或いは、i−1フレーム目の出力フレーム画像のN行目)のブロックが読み出されることにより空いたRAM15に書き込まれる。
一方、ステップS207において、次の入力フレーム画像がないと判定された場合、処理はステップS211に進む。
ステップS211において、上述したステップS206の処理と同様に、最後の出力フレーム画像のN行目のブロックの読み出しが行われる。
その後、画像拡大/縮小処理は終了する。
以上のようにして、動画像の各フレーム画像を拡大又は縮小する場合に使用するRAM15の容量を削減することができる。具体的には、必要なメモリ容量を、フレーム画像の2行分の16ブロックの画素データを書き込めるだけの容量に削減することができる。また、フレーム画像の書き込み処理と読み出し処理が並行して実行されるので、使用するメモリ容量を削減しても、拡大又は縮小処理の処理速度の低下を抑制することができる。
なお、この図19及び図20の処理は、入力フレーム画像の画素データを書き込む方向と、出力フレーム画像の画素データを読み出す方向が一致する変形処理を行う場合に適用することができる。また、この図19及び図20の処理は、入力フレーム画像の画素データを書き込む方向と、出力フレーム画像の画素データを読み出す方向が逆になる変形処理を行う場合に適用することができる。例えば、前者は、上述したフレーム画像の拡大又は縮小処理が該当し、後者は、例えば、フレーム画像の左右反転処理が該当する。
<2.変形例>
以下、上述した本技術の実施の形態の変形例について説明する。
{画素データの書き込み順及び読み出し順に関する変形例}
以上の説明では、入力フレーム画像におけるラスタ順に画素データを書き込み、出力フレーム画像におけるラスタ順に画素データを読み出す例を示したが、本技術は、他の書き込み順及び読み出し順の場合にも適用することができる。例えば、画素データの書き込み順及び読み出し順を、フレーム画像の行の右から左方向に設定したり、フレーム画像の上から下方向に設定したりした場合にも本技術は適用することができる。
また、入力フレーム画像における書き込み順と、出力フレーム画像における読み出し順の方向は、必ずしも一致していなくてもよい。例えば、入力フレーム画像においてラスタ順に画素データを書き込み、出力フレーム画像において列の上から下方向に画素データを読み出すようにすることも可能である。
{フレーム画像の分割方法に関する変形例}
また、図2に示したフレーム画像の分割方法は、その一例であり、2行×2列以上であれば、任意の数のブロックに分割することが可能である。
また、行方向のブロック数Nと列方向のブロック数Mとは、必ずしも一致させる必要はない。ただし、行方向のブロック数Nと列方向のブロック数Mとが異なる場合、書き込みを行うブロックの単位数と読み出しを行うブロックの単位数とが一致しない場合がある。例えば、上述したように、フレーム画像を右方向に90度回転させる場合、N個のブロック単位で画素データが書き込まれ、M個のブロック単位で画素データが読み出されることになる。
ここで、例えば、N>Mである場合、出力フレーム画像における1行分のM個のブロックを読み出しただけでは、入力フレーム画像における1行分のN個のブロックを書き込むだけのRAM15を空けることができない。そこで、例えば、N個以上のRAM15が空くまで、出力フレーム画像における複数行のブロックを読み出し、N個以上のRAM15が空く毎に、入力フレーム画像のN個のブロックをRAM15に書き込むようにすればよい。
{本技術の適用範囲}
本技術は、動画像のフレーム画像の変形処理を行う各種の装置やシステムに適用することができる。それらのシステムや装置は、単独の装置であってもよいし、あるいはLSI等の装置内の部品であってもよいし、複数の装置からなるシステムであってもよい。
{コンピュータの構成例}
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図25は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
さらに、例えば、本技術は以下のような構成も取ることができる。
(1)
入力された動画像の各フレームの画像である第1のフレーム画像の画素データを所定の書き込み順で記憶部の所定の複数の記憶領域に書き込む書き込み制御部と、
前記記憶部に書き込まれた前記第1のフレーム画像の前記画素データを所定の読み出し順で読み出すことにより、前記第1のフレーム画像を変形した第2のフレーム画像を生成する読み出し制御部と
を備え、
前記書き込み制御部と前記読み出し制御部は、前記画素データの書き込みと前記画素データの読み出しを並行して行い、
前記書き込み制御部は、前記第1のフレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記読み出し制御部により前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込む
画像処理装置。
(2)
前記書き込み順は、前記第1のフレーム画像の所定の第1の方向に沿った順序であり、
前記読み出し順は、前記第2のフレーム画像の前記第1の方向と同じ第2の方向に沿った順序である
前記(1)に記載の画像処理装置。
(3)
前記書き込み制御部は、前記第1のフレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、
前記読み出し制御部は、前記第2のフレーム画像において前記第2の方向に並ぶ2以上のM個の前記ブロック単位で前記画素データを前記記憶部から読み出し、
前記書き込み制御部は、前記読み出し制御部により前記画素データが読み出されることによりN個以上の前記記憶領域が空く毎に、空いた前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
前記(2)に記載の画像処理装置。
(4)
N=Mであり、
前記書き込み制御部は、直前に前記読み出し制御部によりN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
前記(3)に記載の画像処理装置。
(5)
前記書き込み制御部が、iフレーム目(i≧2)の前記第1のフレーム画像のj−1番目(j≧2)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込むのと並行して、前記読み出し制御部が、i−1フレーム目の前記第2のフレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出し、
前記書き込み制御部は、前記読み出し制御部によりi−1フレーム目の前記第2のフレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記第1のフレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込む
前記(4)に記載の画像処理装置。
(6)
前記書き込み制御部は、前記第1のフレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、
前記読み出し制御部は、直前に前記書き込み制御部により前記記憶部に書き込まれたN個の前記ブロックを読み出し、
前記書き込み制御部は、直前に前記読み出し制御部によりN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
前記(2)に記載の画像処理装置。
(7)
前記書き込み制御部が、iフレーム目(i≧1)の前記第1のフレーム画像のj−1番目(j≧3)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込むのと並行して、前記読み出し制御部が、iフレーム目の前記第2のフレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出し、
前記書き込み制御部は、前記読み出し制御部によりiフレーム目の前記第2のフレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記第1のフレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込む
前記(6)に記載の画像処理装置。
(8)
前記第1のフレーム画像の変形は、回転、反転、拡大、及び、縮小のうちの少なくとも1つである
前記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)
入力された動画像の各フレームの画像である第1のフレーム画像の画素データを所定の書き込み順で記憶部の所定の複数の記憶領域に書き込み、前記記憶部に書き込まれた前記第1のフレーム画像の前記画素データを所定の読み出し順で読み出すことにより、前記第1のフレーム画像を変形した第2のフレーム画像を生成する画像処理装置が、
前記画素データの書き込みと前記画素データの読み出しを並行して行い、
前記第1のフレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データを読み出すことにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込む
画像処理方法。
(10)
入力された動画像の各フレームの画像である第1のフレーム画像の画素データを所定の書き込み順で記憶部の所定の複数の記憶領域に書き込み、前記記憶部に書き込まれた前記第1のフレーム画像の前記画素データを所定の読み出し順で読み出すことにより、前記第1のフレーム画像を変形した第2のフレーム画像を生成するコンピュータに、
前記画素データの書き込みと前記画素データの読み出しを並行して行い、
前記第1のフレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データを読み出すことにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込む
処理を実行させるためのプログラム。
1 画像処理装置, 11 書き込み制御部, 12 読み出し制御部, 13 タグ制御部, 14 タグレジスタ, 15−1乃至15−72 RAM

Claims (8)

  1. 入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込む書き込み制御部と、
    前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成する読み出し制御部と
    を備え、
    前記書き込み制御部と前記読み出し制御部は、前記画素データの書き込みと前記画素データの読み出しを並行して行い、
    前記書き込み制御部は、前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記読み出し制御部により前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、
    前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、
    前記書き込み制御部は、前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、
    前記読み出し制御部は、直前に前記書き込み制御部により前記記憶部に書き込まれたN個の前記ブロックを読み出し、
    前記書き込み制御部は、直前に前記読み出し制御部によりN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
    画像処理装置。
  2. 前記入力フレーム画像における前記第1の方向と、前記出力フレーム画像における前記第2の方向とは同じ方向である
    請求項1に記載の画像処理装置。
  3. 前記入力フレーム画像の回転を行う場合、
    前記書き込み制御部は、前記入力フレーム画像をN行×N列(N≧2)の前記ブロックに分割し、
    前記書き込み制御部が、iフレーム目(i≧2)の前記入力フレーム画像のj−1番目(j≧2)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込むのと並行して、前記読み出し制御部が、i−1フレーム目の前記出力フレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出し、
    前記書き込み制御部は、前記読み出し制御部によりi−1フレーム目の前記出力フレーム画像のj−1番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記入力フレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込む
    請求項1又は2に記載の画像処理装置。
  4. 前記入力フレーム画像の回転を行う場合、
    前記書き込み制御部は、1フレーム目の前記入力フレーム画像のN行×N列の前記ブロックをN×N個の前記記憶領域に1つずつ書き込む
    請求項3に記載の画像処理装置。
  5. N×N+N個の前記記憶領域が、前記記憶部に設けられる
    請求項に記載の画像処理装置。
  6. 前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、
    前記書き込み制御部が、iフレーム目(i≧1)の前記入力フレーム画像のj−1番目(j≧3)の前記第1の方向のラインに並ぶN個の前記ブロックを書き込むのと並行して、前記読み出し制御部が、iフレーム目の前記出力フレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックを読み出し、
    前記書き込み制御部は、前記読み出し制御部によりiフレーム目の前記出力フレーム画像のj−2番目の前記第2の方向のラインに並ぶN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に、iフレーム目の前記入力フレーム画像のj番目の前記第1の方向のラインに並ぶN個の前記ブロックを書き込む
    請求項1乃至5のいずれかに記載の画像処理装置。
  7. 画像処理装置が、
    入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込み、
    前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成するとともに、
    前記画素データの書き込みと前記画素データの読み出しを並行して行い、
    前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、
    前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、
    前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、
    直前に前記記憶部に書き込まれたN個の前記ブロックを読み出し、
    直前にN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
    画像処理方法。
  8. 入力された動画像の各フレームの画像である入力フレーム画像の画素データを、前記入力フレーム画像の第1の方向に沿った書き込み順で記憶部の所定の複数の記憶領域に書き込み、
    前記記憶部に書き込まれた前記入力フレーム画像の前記画素データを、前記入力フレーム画像を変形した出力フレーム画像の第2の方向に沿った読み出し順で読み出すことにより、前記出力フレーム画像を生成するとともに、
    前記画素データの書き込みと前記画素データの読み出しを並行して行い、
    前記入力フレーム画像を2行×2列以上のブロックに分割し、前記ブロックを各前記記憶領域に1つずつ書き込むとともに、直前に前記画素データが読み出されることにより空いた前記記憶領域に次の書き込み対象となる前記ブロックを書き込み、
    前記入力フレーム画像の反転、拡大、又は、縮小を行う場合、
    前記入力フレーム画像において前記第1の方向に並ぶ2以上のN個の前記ブロック単位で前記記憶部に前記画素データを書き込み、
    直前に前記記憶部に書き込まれたN個の前記ブロックを読み出し、
    直前にN個の前記ブロックが読み出されることにより空いたN個の前記記憶領域に次の書き込み対象となるN個の前記ブロックを書き込む
    処理をコンピュータに実行させるためのプログラム。
JP2016550107A 2014-09-22 2015-09-14 画像処理装置、画像処理方法、及び、プログラム Expired - Fee Related JP6708127B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014192203 2014-09-22
JP2014192203 2014-09-22
PCT/JP2015/075946 WO2016047472A1 (ja) 2014-09-22 2015-09-14 画像処理装置、画像処理方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JPWO2016047472A1 JPWO2016047472A1 (ja) 2017-06-29
JP6708127B2 true JP6708127B2 (ja) 2020-06-10

Family

ID=55580999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016550107A Expired - Fee Related JP6708127B2 (ja) 2014-09-22 2015-09-14 画像処理装置、画像処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US10304415B2 (ja)
JP (1) JP6708127B2 (ja)
WO (1) WO2016047472A1 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128246A (ja) 1991-11-08 1993-05-25 Fuji Photo Film Co Ltd 画像回転の制御方法
JPH06103373A (ja) 1992-09-21 1994-04-15 Fuji Xerox Co Ltd 画像回転装置
JPH07146932A (ja) 1993-02-18 1995-06-06 Matsushita Electric Ind Co Ltd 画像表示装置
JP4012833B2 (ja) 2003-02-07 2007-11-21 株式会社リコー 画像回転処理装置、画像回転処理方法及び記憶媒体
JP4286192B2 (ja) 2003-08-25 2009-06-24 オリンパス株式会社 画像処理装置及び画像処理方法
US7307635B1 (en) * 2005-02-02 2007-12-11 Neomagic Corp. Display rotation using a small line buffer and optimized memory access
US7394465B2 (en) * 2005-04-20 2008-07-01 Nokia Corporation Displaying an image using memory control unit
KR101525874B1 (ko) * 2008-11-05 2015-06-04 삼성전자주식회사 회전 이미지용 버퍼 메모리, 이를 포함하는 이미지 촬상 장치 및 디스플레이 장치
JP5455213B2 (ja) 2009-11-17 2014-03-26 Necシステムテクノロジー株式会社 画像描画装置、画像描画方法およびプログラム

Also Published As

Publication number Publication date
JPWO2016047472A1 (ja) 2017-06-29
WO2016047472A1 (ja) 2016-03-31
US10304415B2 (en) 2019-05-28
US20170309256A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
US8904069B2 (en) Data processing apparatus and image processing apparatus
WO2022206556A1 (zh) 图像数据的矩阵运算方法、装置、设备及存储介质
JP2022508028A (ja) 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末
JP5548087B2 (ja) 演算装置および演算方法
JP6970827B2 (ja) 演算処理装置
JP5840451B2 (ja) メモリ制御装置
CN105427235A (zh) 一种图像浏览方法及***
US20200372332A1 (en) Image processing apparatus, imaging apparatus, image processing method, non-transitory computer-readable storage medium
JP5327482B2 (ja) 画像処理装置及び画像処理方法
JP6708127B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
TWI548988B (zh) 記憶體控制器及單一指令多重資料處理器
US20180108113A1 (en) Apparatus and Method for Parallel Polyphase Image Interpolation
US20200225877A1 (en) Information processing apparatus and memory control method
US8416252B2 (en) Image processing apparatus and memory access method thereof
JP6467940B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP3553376B2 (ja) 並列画像処理プロセッサ
JP2015138417A (ja) 画像処理装置および画像処理方法
TWI677853B (zh) 一種資料處理方法和執行該方法的儲存媒體、資料處理控制器及裝置
JP6543517B2 (ja) 画像処理方法、画像処理装置及びプログラム
JP2633251B2 (ja) 画像メモリ素子
JP2006285573A (ja) 画像処理方法、プログラム、並びに画像処理システム
JP2023082579A (ja) 画像処理装置
JP4538737B2 (ja) データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP5605225B2 (ja) メモリ制御装置、メモリマッピング方法、及び、プログラム
KR101586844B1 (ko) 영상 처리 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R151 Written notification of patent or utility model registration

Ref document number: 6708127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees