CN1253335A - 在计算机显示器上的图象的硬件旋转 - Google Patents

在计算机显示器上的图象的硬件旋转 Download PDF

Info

Publication number
CN1253335A
CN1253335A CN99126084A CN99126084A CN1253335A CN 1253335 A CN1253335 A CN 1253335A CN 99126084 A CN99126084 A CN 99126084A CN 99126084 A CN99126084 A CN 99126084A CN 1253335 A CN1253335 A CN 1253335A
Authority
CN
China
Prior art keywords
memory
signal
column
row
display
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
CN99126084A
Other languages
English (en)
Other versions
CN1130653C (zh
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1253335A publication Critical patent/CN1253335A/zh
Application granted granted Critical
Publication of CN1130653C publication Critical patent/CN1130653C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping
    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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/393Arrangements for updating the contents 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/123Frame memory handling using interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

显示控制器(16)的一个地址发生器(图6)包括一个加法器(62),它重复地增加图象行偏移值给该地址发生器的输出,以使从更新存储器(18)中顺序取得的数据更新显示器(20),适当地表示该图象数据,即使该显示扫描与更新存储器中图象数据的顺序是正交的。当取得该数据时,奥米伽网络(90)按照当前显示扫描在提取的数据字内部对这些比特再排序,以使该显示器接收适当的数据,即使每一个位置包含在正交方向图象行中的多个像素数据。

Description

在计算机显示器上的图象的硬件旋转
本发明涉及图象显示器,并且特别涉及用于按照更新存储器来更新显示装置的系统。
阴极射线管(CRT)、液晶显示器(LCD)、和其它类型的显示器机构采用周期性更新。就CRT显示器而言,例如,一电子束以快速速率扫描显示屏幕上的荧光体,以保持该图象是可见的。为此,一个更新存储器包含表示组成图象的画面单元的象素数据表示值,并且这些数据是从存储器中以屏幕位置需要被"描画的"次序而取得的。
特别是在某些小型的、手持显示器的情况下,能够改变图象显示器的方位是有价值的。其较长尺寸位于垂直方向的图象被称为具有"纵向"方位,而其较长尺寸位于水平方向的图象被称为具有"横向"方位。
对于要显示的一个典型的图象,典型的显示装置具有的尺寸是长大于其他方向,并且在某些较小显示器中,按照所使用的显示装置的特定的图象,允许用户在纵向或横向方位进行显示是方便的。目前,从硬件观点看,该显示装置按照在保留或安装在该显示装置中的特定方位来改变其扫描是不切实际的。即,典型情况下,该显示装置沿着在显示器的长度方向延伸的扫描线如此扫描连续的显示位置,而不考虑其方向是水平的还是垂直的。
但是,从编程观点看,可方便按照所需的图象方位指出像素位置:连续的地址应该水平地增加,而不考虑该显示装置的扫描方向。即,能够方便地沿着纵向图像的水平方向顺序地指出像素位置,即使该显示装置未以该顺序从该存储器中恢复图象数据。这意味着支持的硬件应该对显示装置扫描方向的变化进行补偿,以使他们对程序员来说是明晰的。
完成该目的的一种方法是提供将该程序员的软件地址转换成存储器位置,其顺序与该显示装置的扫描顺序匹配,有些申请中的方法是所需的。但是,从硬件设计观点看,有时最好是不需要实时地进行这样的转换,这是由于更新地址以随机次序发生,使该转换过程变得复杂。
因此我设计了一种方法,它允许该更新数据储存在更新存储器位置,其顺序与该正常的图象扫描顺序匹配,而不是该硬件装置的扫描顺序。为了取得更新数据,我使用了一个地址发生器,当沿着一个显示行恢复连续的像素位置的数据时,它重复地以一个软件地址行偏移量增加其输出值。而且按照该数据被取得的特定的显示行,在用他们来驱动该显示装置之前,我对从单个存储器位置取得的这些比特重新排序。用这种方式,我能够适当地显示该图象数据,即使一些数据的象素值已经被储存在每个存储器位置。按照本发明的另一方面,我在不同的存储器模块的通常寻址位置储存连续的图象行,以使在一个给定显示行中的多个显示象素数据可以同时被获取,即使那些数据代表不同的图象行。
下面结合附图描述本发明,其中:
图1是能采用本发明的显示存储器结构的该类型的计算机系统的方块图;
图2是图1的显示控制器的更详细的示意图;
图3a和3b是描述横向图象的图象空间和显示扫描顺序之间的相互关系的图;
图4a和4b是类似于图3a和3b的图,但是图示了纵向图象的顺序;
图5是图2的地址发生器/存储器接口模块的存储器接口部分的方块图;
图6是该模块的地址产生电路的方块图;
图7a和7b分别是描述该系统的横向和纵向方式的地址产生的时序图;
图8描述了该图示的实施例采用的纵向方式存储器结构的一种形式;
图9是该图示的实施例的存储器模块和显示线路的方块图;
图10是该图9的显示线路采用的奥米伽网络的方块图;
图11是图10的各个奥米伽网络交换机的更详细的方块图;
图12是描述奥米伽网络选择信号和扫描线之间相互关系的表,其中每个存储器位置包含四个象素的数据值,该图示的实施例以其纵向方式采用了它;
图13是由该图示的实施例采用的一个类似的表,其中每个位置包含八个象素的数据值;
图14是一个类似的表,其中每一位置包含两个像素的数据值;
图15是由本发明的其它实施例采用的存储器模块和显示线路的方块图;
图16描述了图15的实施例的存储器结构;
图17是由图15和16的其它实施例采用的地址转换网络的逻辑图;和
图18描述了该实施例的存储器芯片选择电路。
图1是典型的计算机系统的方块图。中央处理单元("CPU")10经由总线14与其他总线设备12联接,该总线又提供该CPU访问显示控制器16。该CPU发送显示控制器图象更新数据和相应的地址,该地址告诉控制器16在图象存储器即静态RAM18中的什么位置储存该数据。同时,该显示控制器16使用如此储存的数据,以提供更新显示装置20的数据。
图2更详细地描述了显示控制器。时钟电路30的工作用于提供整个显示控制器的定时。主接口模块34将响应直接由中央处理单元来的总线信号提供到该显示控制器。此类命令可以指示板上结构寄存器36被装入了指定的值,或者他们会使那些值被读出,以使该主接口34可以在该总线14上传送该值到该中央处理单元。
来自中央处理单元的其他信号可以使该主接口模块34操作该地址发生器和存储器接口模块38中的接口电路,以加载该图象存储器18或从它那里取得数据。排序器40操作该地址发生器和存储器接口38,以使它提供一个显示线路41,以更新用于该显示器的数据。典型地,该数据从一个包含查寻表42的调色板中指定选项,并且如此从该查寻表取得的数据由显示接口模块44转换成为适合于驱动该显示器的信号。
当该中央处理单元"更新"该显示存储器18时,它发送给该存储器的不只是该象素的值而且还有它在该图象中的位置。图3a和b图示了用于横向图象的图象方位更新顺序的一个象征性的关联。包含沿着图象行的连续象素数据的位置地址值典型情况下是从左至右增加的。如果每一存储器位置包含仅仅一个象素的数据,则一个象素的该数据被包含在这样一存储器位置中,其地址大于包含在相同的图象行中其左边的象素数据的存储器配置的地址。如果每一位置包含一个以上像素数据,则该存储器地址每n个像素递增1,其中n是其数据包含在单个位置的像素的编号。
对于一个横向图像,该典型的显示器件以基本上相同的顺序在一个行内从左至右重新绘制新的像素,并且自上而下相继地扫描行。因此,应该从其取数更新数据的地址的产生是相对简单的。当扫描一个行并且计算一个新的行开始地址时,顺序的地址递增1,所说新的行开始地址比如作为在每行开始的时候从先前的行开始地址的偏移。
然后该图像具有纵向方位,那就是说,即,当其垂直尺寸超过其水平尺寸时,当从左到右增加该图像的行时,通常仍然可方便地用一个给定图象行中的所有地址来指定地址,所说所有地址大于在该图象行下面的任何地址。可是,由于速率的考虑,对于实际显示装置最好是不在相同的方向扫描;正如图4a和4b所示,图象数据可以用图4a描述的顺序进行的地址来指定,但是典型情况下用于呈现该图像,显示装置将如图4b指示的那样被扫描,即在上面开始并且在垂直行中向下地从右至左地扫描。在这样一个设备中,那里必须有一个成像位置到存储器地址的更复杂的变换,或者更复杂地产生该更新地址序列。
现在将要描述的该显示系统采用后种方法:该存储器地址序列概略地遵循常规图象位置顺序,并且再生地址的产生是在补偿该显示装置的不同扫描方位的顺序中完成的。那么做的方法将结合图5和6讨论,图5和6分别是图2的模块38的存储器接口和地址产生部分。
如图5所示,该存储器接口电路包括:输出锁存器50,锁存器50的输出是显示存储器18的地址输入。一个MEM_CLK信号快速脉冲激发锁存器50,足以用中央处理器访问来进行显示更新访问。来自排序器的REFRESH_SLOT信号的电平确定锁存器50是否是接收多路复用器52的下面的更新地址输入或者是其上面的更新地址输入。
在目前上下文中的最大的兴趣是为更新显示而提供的地址,并且它们是其它多路复用器54的输出。对此,正如所进行的讨论,将变成透明的是:多路复用器54应用16比特GEN_ADDRESS信号的比特[14:0]或者[15:1],所说信号是以将要结合图6说明的方式产生的。
我们首先考虑以横向方式的地址产生。为产生存储器地址,一个锁存器60在多路复用器61的输出中加载存储器时钟信号MEM_CLK的每一脉冲。多路复用器61通常在反馈锁存器60的GEN_ADDRESS输出与提供存储器计算加法器62的输出之间切换。正如图7A所示,该存储器时钟信号MEM_CLK通常触发REFRESH_SLOT,它限定了更新访问周期。这更改了CPU周期,其中CPU更新该图象存储器或从它那里读取数据。REFRESH_SLOT的频率在横向方式中等于象素时钟除以每一存储器位置的像素编号提供的频率。
当该显示器正以横向方式扫描一个行时,多路复用器66转递该当前存储器地址给加法器62的输入端之一。其他输入端通常接收从禁止的与门组件68通过多路复用器70传来的零值,但是该加法器又接收来自门71的"1"值,以使该加法器的输出值NEXT_ADDRESS(图7A)大于当前存储器地址。当多路复用器61传送加法器62的输出时,该地址发生器的输出因此在每个第二个MEM_CLK脉冲时增加。
当该显示器到达一行的未端时,排序器40的LOAD_NEXT_ROW输出允许与门组件68转发寄存器的PIRCH_ADJUSTMENT输出,它小于用于一显示行的上一个象素值和下一显示行的第一个象素值的地址之间的差值。当一完整的储存的成像正被显示时,这个值典型情况下是零。但是该显示图象常常只是该储存的图象的一部分,对此,用户可以扫换并且增加由该储存的图象的切断部分而来的非零PITCH_ADJUSTMENT值给要显示的部分的左边和/或右边。
以此方式继续进行地址的产生,直到该显示器完成其未行显示。当它完成时,该地址值应该返回到该图象的开始地址,该CPU已经装载了寄存器36,以使作为其SOFTWARE_FRAME_START_ADDRASS输出出现。在横向方式中,一地址转换电路72将未修改的地址作为帧开始地址(FRAME_START_ADDRESS)传递给多路复用器61,并且在一帧开始的时候,解码器73暂时使多路复用器61传送该值以代替加法器输出。因此该输出锁存器最初提供的值正是地址发生器的输出。然后继续地址的产生,正如所描述的。
纵向方式的地址产生不同于上面描述的横向方式的地址产生。这可以通过结合图8来理解。该图描述了分配给纵向方式图象的存储器空间。为了举例,该图象被弄成240像素宽乘320像素长。该象素数据表示从四色调色板中选择,那么每一像素需要两个比特,并且我们假定每一存储器位置包含单个字节,因此可以包含用于四像素的数据。
图8描述了在(十六进制表示的)位置2180开始的图象数据,该第一(纵向)行的数据终止于位置21BB。在该图示的例子中,第二行在存储器位置21CO处开始。因为该显示装置是在其长度方向扫描的,沿着顺序的(横向扫描)显示列,该数据需要从顺序的(纵向)图象行位置提取。因此屏幕更新必须从位置21BB开始,该位置包含用于该纵向图像的右上角的数据,即使分配给该图象数据的存储器块以纵向图像的左上角数据在存储器位置2180开始。
另外,相继提取的象素数据的地址必须有一行偏移的差别,例如它是4016。为此,解码器73使多路复用器70来自其它多路复用器74提取加法器62的较低的输入,该解码器正常是导致传送该解码器的ROW_OFFSET输出。并且该解码器再实施其INCREMENT_EN输出,以使门71不再实施加法器的进位输入。当该显示器沿着横向行显示时,该加法器输出因此在每个第二个MEM_CLK脉冲时递增该纵向行偏移量,那么该输出锁存器60的GEN_ADDRESS输出也递增。
当该显示器开始一新的(横向)行时,该解码器73使多路复用器74向解码器提供产生的"0"或"-1"值,作为多路复用器70传送到加法器62的较低的输入端口的输入,并且它使多路复用器66从行开始透明的锁存器76而不是该输出锁存器40提取加法器的较高的输入。正如将要说明的,锁存器76的输出是该存储器位置的地址,该存储器位置包含用于刚刚完成的显示行的开始的象素数据。
如果每一位置保存有一个以上像素值,则下一显示行的第一个象素可以在与先前行的相同位置,在这种情况下,该解码器73向多路复用器74提供"0"值,以使该新的显示行的初始输入从与先前行的相同存储器位置提取。位置21BB,例如,包含用于四个顺序的显示器行(图象列)的每个中的第一个象素的数据,那么对于四个顺序的显示行扫描的每一个,数据的提取应该在那里开始。当开始第五行时,该解码器向多路复用器74提供"-1",并且从而使下一行的初始输入从在前面行的初始输入被提取的位置之前提取。
在一显示器行开始的时候,该排序器40主张LOAD_NEXT_ROW信号引起与门77向锁存器78随时地传送该REFRESH_SLOT信号。通过该寄存器的激活,指示纵向信号的纵向方式,与门79又通过或门80向其它锁存器81传送该LOAD_NEXT_ROW信号。因此,在该下一个MEM_CLK脉冲上,锁存器81的输出设定这样一个电平,它使得多路复用器82向透明的锁存器76传送其较高的输入GEN_ADDRESS,而锁存器78的输出由或门83传送,设定这样一个电平,它切换该透明的锁存器76到其透明的状态,其中它简单地传送该GEN_ADDRESS输入。该REFRESH_SLOT脉冲然后结束禁止与门77,以使下一个MEM_CLK脉冲使得锁存器78返回该透明的锁存器76的输出进入其锁存状态,其中它保持当时流行的(then-prevailing)GEN_ADDRESS,即,包含用于在当前显示行开始像素的数据的位置的地址。
如上面提到的,当0或-1被加到它上以确定用于下一显示行的开始地址时,透明的锁存器76通常保持此值一直到该显示行扫描的末尾。可是,在一个新帧开始的时候,该排序器40立刻主张LOAD_FRAME_START通过或门83,以使该透明的锁存器76立刻设定其透明的状态。这出现在多路复用器82正转发FRAME_START_ADDRESS信号之时,以使信号的值替换该未行的行开始值。
在该纵向方式中,该地址转换电路72可以简单地传送代表该值的该软件帧开始地址信号(SOFTWARE_FRAME_START_ADDRESS),该CPU加载该寄存器,以指示图象数据重现应该从哪开始。但是也可以改为转换该开始地址以便适应下面描述的存储器结构,它降低了必要的存储器时钟频率。
如上所述,各个存储器位置可以包含一个以上像素的数据,这就使得必需要地址发生器在纵向方式操作,以便对于顺序的显示器件行扫描进行几次重复一个顺序的存储器位置地址。这就意味着:在每次地址发生器产生相同存储序列时,该存储器输出代表相同的像素位置组的数据,但是那些位置的具体比特应该控制从扫描到扫描的显示变化。对于一个给定扫描为了选择适当的比特,该显示系统采用图9的奥米伽(奥米伽)网络90,它们是图2的显示线路41的一部分。
图9描述了图象存储器18,实际上是用16比特位置组织起来的,而不是图8建议的8比特位置。这是因为该系统的更新方面比如可以采用一个多路复用器92,以按照该MEM_ADDRESS信号最低有效位来在存储器输出的较高的两个字节与其较低的两个字节之间选择。
图10和11更详细地描述了该奥米伽网络。如图10显示的,该奥米伽网络90是一个三级网路,包括三个开关网络级94、96和98。每个级包括在图11中描述的类型的四个开关网络。每个转换开关电路包括较高的和较低的输入行100和102以及较高的和较低的输出行104和106。每一个转换电路要么传送该较高的和较低的输入行信号分别到该较高的和较低的输出行,或者转接该信号,以使该较低的输出信号为较高的输入信号,并且该较高的输出信号为较低的输入信号。按照在多路复用器控制器108(图9)的三个选择输出中的对应一个上的信号,来选择是否传送还是切换给定级。
如图10所示,在该第一切换组件中的该顶端切换电路94a接收比特7和5,其中比特7是该最高有效位。该后者切换电路94b接收比特3和1,电路94c接收比特6和4,并且电路94d接收电路2和0。换言之,在一个给定级中的切换电路的上半部以降序接收奇数的比特,而较低的一个以降序接收偶数的比特。同样地,如果考虑第一级的输出为自上而下的降序编号,该第二级电路96a和96b以降序接收奇数的第一级输出,而较低的两个电路96c和96d类似地以降序地接收偶数的第一级输出。该在组件98的切换电路以相同的方式接收组件96的输出。
通过跟随生成的信号通路,可以得知:该输出比特可以被如此重新排序,以允许选择该适当的数据用于给定的扫描。具体地,该多路复用器控制器108从该排序器40接收TOTAL_ROW_COUNT信号。该TOTAL_ROW_COUNT信号代表当前显示扫描行的编号,并且该多路复用器控制器108按照该计数的三个最低有效位来产生不同的切换组件的多路复用器选择信号。
例如,如果在每个存储器字节有数据的四个像素值,该多路复用器控制器108按照图12的表产生其输出。通过跟随一直到图10的生成的信号通路,可以得知:在零扫描行期间,在奥米伽网络的输入比特行[1:0]上的信号出现在该奥米伽网络的顶端两个输出行110和112。同样地可以看出:来自行[3:2]、[5:4]、和[7:6]的信号分别地出现在第一、第二和第三显示器行扫描期间的那些输出行上。如此,如果该查阅表被安排得使其输出只是信赖于顶端两个比特,一直排序到相同的存储器位置的顺序将导致该适当的象素数据的选择。
当在每个位置中有一个、两个、四个或八个像素数据值时,映象将显示可以使用相同的网络。如果每个位置包含单个像素的数据值,则所有切换的选择输入具有图形呈现为零的值,并且图13和14分别地给出用于每像素一个比特、每像素四比特的切换选项。
对于其成本压力是特别严重的产品,较适宜的是以这样的方式来修改设计,以便降低必需的存储器速率。前面实施例的纵向方式操作的结论显示该更新时隙必须以与显示器像素被更新的速率相同的速率出现。他们的频率必须等于象素时钟的频率。这意味着图象存储器18的时钟必须是两倍地快,如果存取要符合显示装置和主接口的话。图15描述的所采用的结构降低了速率的要求。
图15显示该图象存储器18实际上可以作为两个分开的模块120和122工作。如图5所示,由主接口产生的UPDATE_ADDRESS信号由地址转换电路124接收。主接口提供的该地址指定图8描述的存储器空间,但是该地址转换电路124转换那些地址值,以使他们导致在图16中图示的地址空间。
图8的第一和第二行表示该存储器位置,其中纵向模式图象数据的开头两行被储存。在图16结构中,相同的数据被储存在分配给图15的两个模块120和122的存储器的各自的第一排。即,每个模块接收每个第二行数据。因此,当一个给定的存储器地址被施加到模块120和122时,在一个更新周期过程中,从两个顺序的图象行中的相应的图象位置同时地提取数据。这意味着在相同显示行中的两个相邻像素的数据被同时提取,因此对于每两个显示像素仅仅需要一个更新存储器周期。
如图15显示的,当多路复用器137将其较高的输入作为其输出传送到锁存器134时,各个奥米伽电路130和132接收该两个存储器模块120和122的输出,产生上述的比特命令并且将结果施加到各个锁存器134和136。在该状态下,MEM_CLK信号定时将各个奥米伽网络值装入锁存器134和136,并且它还为另一个有线反馈锁存器140提供定时,从而触发锁存器140的输出,以使多路复用器137在下一个MEM_CLK期间传送锁存器136的如此锁存的输出到锁存器134。
在该期间,它是一个更新时隙而不是一个显示槽,施加到奥米伽网络130和132的该信号不是显示数据,因此定时进入锁存器136的该数据在该期间的最后是无效的。但是锁存器134的输入是(有效)的数据,锁存器136将它作为前面的MEM_CLK脉冲储存,因此锁存器134响应顺序的时钟脉冲顺序地产生来自各个存储器模块120和122的输出。由于锁存器134在显示槽和更新时隙期间结束产生有效的显示数据,该存储器时钟不必是该象素时钟两倍快,因此该存储器可以是低成本的。
从编程观点看,对于图8的结构而不是图16的结构,指定存储器地址是方便的。由于这个原因,图5的地址转换电路124从一个地址形式转换到另外一个。图17更详细地描述图5的地址转换电路124。该地址转换电路接收该UPDATE_ADDRESS信号,图5的多路复用器138通常传送到多路复用器52,以在更新时间时隙期间产生施加到存储器模块的下一MEM_ADDRESS信号。但是当寄存器36指示该图象为纵向并且该系统以虚拟地址方式运转时,与门139改为传送地址转换电路124从UPDATE_ADDRESS中产生的VIRTUAL_ADDRESS。
为了理解地址转换电路的操作原理,要考虑在图8是显示的更新地址与图16中描述的相应的虚拟地址之间的相互关系。如上所述,该虚拟地址方案在替换的存储器模块中放置替换的图象行。因此,包含十六进制地址2180-21BB的图8的首行处于第一个存储器模块的位置1OCO-1OFB处。来自图8的第二行的更新地址,即,21CO-21FB,处于图16的第二存储器模块中,但是对于虚拟地址,与图8的第一行地址相同的虚拟地址被转换。
现在,如果展开该十六进制地址成为二进制地址,就可得知:在图8的第一行中的地址仅仅在第七比特不同于图8第二行中的相应的地址,那就是说,由ROW_OFFSET信号表示表示的26的该比特,是连续的行中相应的列地址之间的差别。从图8的一个地址中除去该比特就产生图16中的相应的虚拟地址。对于该实际的寻址方案,该行偏移将总是被安排为2次方,那么这相互关系将总是获知的。即,导致相同的虚拟地址的该两个更新地址仅仅在单个比特中不同,并且该比特指示存储该相关数据的存储器模块。
图17显示了实现该原理的地址转换电路124。由于从该更新地址中可删除单个比特,以产生该虚拟地址,UPDATE_ADDRESS[15:O]被转换到VIRTUAL_ADDRESS[14:O]。并且,我们假定该行偏移不太可能大于27,即要被删除的比特将不在高地址字节中,那么UPDATE_ADDRESS[15:8]变成VIRTUAL_ADDRESS[14:7],正如该图指示的。
由于我们假定UPDATE_ADDRESS[7]可以是丢弃的比特,可是,VIRTUAL_ADDRESS[6]可以是UPDATE_ADDRESS[7]或UPDATE_ADDRESS[6],因此多路复用器142a按照ROW_OFFSET[7]的值在这两个可能性中选择。
同样地多路复用器142b通过在UPDATE_ADDRESS[6]与UPDATE_ADDRESS[5]之间选择来产生VIRTUAL_ADDRESS[5]。如果ROW_OFFSET[6]或者ROW_OFFSET[7]被认定,那么多路复用器142b选择UPDATE_ADDRESS[5]作为VIRTUAL_ADDRESS[5]的值,否则,它传送UPDATE_ADDRESS[6]。多路复用器142c-f类似地工作。如果设置了相应的ROW_OFFSET比特或者任何较高重要性的ROW_OFFSET比特,那么该VIRTUAL_ADDRESS比特与相应的UPDATE_ADDRESS比特相同。否则,它与下一较小重要的ROW_OFFSET比特相同。在更新时,CPU常常给出单个地址用于其四个字节输出,但是在任何单一CPU时隙期间中只有该输出的两个字节能写入该适当的两字节宽度存储器模块。那么排序器输出CYCLE_CONTROL使得多路复用器142g在连续的CPU时隙上在UPDATE_ADDRESS[O]与其补数之间交替,以在连续的位置中存储两个两字节单词。
正如刚刚说明的,为了产生虚拟地址而从更新地址中删除的比特指定该两个存储器中的哪个接收该数据。图18描述了按照该比特来产生该芯片选择信号的电路。该电路包含多个多路复用器148a-f,每一个都获得一个相应的ROW_OFFSET比特作为其选项信号。如果认定一个给定的ROW-OFFSET比特,该相应的多路复用器148传送UPDATE_ADDRESS的相应的比特作为其输出。否则,在它上面,它传送该多路复用器的输出。由于将要设置的的值只是其比特中的一个,ROW_OFFSET表示为2的次方,那么只有一个多路复用器将传送其相应的UPDATE_ADDRESS比特。除了多路复用器148a,所有的其他多路复用器将传送上面的多路复用器的输出到在下面的多路复用器。那么多路复用器148f的输出是UPDATE_ADDRESS比特的值,该UPDATE_ADDRESS比特符合ROW_ADDRESS(唯一)认定的比特。该两个地址模块分别地接收该值和其补数作为CHIP_SELECT_0和CHIP_SELECT_1。
前面的讨论证明本发明可以在一个宽的实施例范围内实行,以提供简单的编程和显示灵活性。因此它构成对该技术的重要进步。

Claims (16)

1,一个计算机系统,包含:
A)一个中央处理单元,用于产生更新数据信号,该更新数据信号代表排列在图象象素行和列中的画面单元的值;并且用于产生相应的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列;和
B)显示系统,包含:
i)一个图象存储器,包括编号从O到N-1的N个分别可操作的存储器模块,它们一起提供以存储器位置行和列构成的存储器位置,该第(n mod N)个存储器模块包含第n个存储器位置行,该图象存储器响应于表示以图象象素行和列排列的画面单元的值的更新数据信号,并且对应于这样的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列,为了仅仅在一个模块中一次储存由存储器位置行和列中的更新数据信号代表的值,该存储器位置行和列由相应的更新地址信号识别,该图象存储器更进一步同时产生代表在所有存储器模块中的存储器位置的内容的存储器输出信号,该存储器模块由施加其上的更新地址信号识别;
ii)一个更新地址发生器,用于产生并且应用图象存储器更新地址信号,它顺序地沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置;和
iii)一个显示装置,用于沿着各个显示行在连续的显示列位置显示由存储器输出信号表示的象素值,该存储器输出信号是响应更新地址信号而产生的,该更新地址信号沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置。
2,按照权利要求1的一种计算机系统,其中:
A)每个所说存储器位置包含M个象素值;
B)该存储器更新地址信号,在沿着该下一存储器列顺序地识别连续的存储器行位置之前,;M次连续地沿着多个扫描存储器列中的每一个顺序地识别连续的存储器行位置;
C)按照比特顺序,该存储器输出信号表示每个所说存储器位置的内容;和
D)该显示系统更进一步包含插入在图象存储器和显示装置之间的比特再排序网络,它按照一种再排序方案对比特序列进行再排序,该方案不同于存储器更新地址信号沿着一个给定的存储器列顺序地识别连续的存储器行位置时M次中的每一个。
3,按照权利要求2的一种计算机系统,其中该比特再排序网络包括一个奥米伽网络。
4,按照权利要求3的一个显示系统,其中该奥米伽网络是一个三级奥米伽网络。
5,按照权利要求1的一个计算机系统,其中N=2。
6,一个计算机系统,包含:
A)一个中央处理单元,用于产生更新数据信号,该更新数据信号代表排列在图象象素行和列中的画面单元的值;并且用于产生相应的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列;和
B)一个显示系统,包含:
i)一个图象存储器,包括以存储器位置行和列构成的存储器位置,并且对应于代表以图象象素行和列排列的画面单元值的更新数据信号,并且对应于这样的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列,用于储存由存储器位置行和列中的更新数据信号代表的值,该存储器位置行和列由相应的更新地址信号识别,每个所说存储器位置包含M个象素值,该图象存储器更进一步产生这样的存储器输出信号,它按照各个比特序列表示由施加到其上的更新地址信号识别的存储器位置的内容;
ii)一个更新地址发生器,用于产生并且应用图象存储器更新地址信号,在沿着该下一存储器列顺序地识别连续的存储器行位置之前;M次连续地,它顺序地沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置;
iii)比特再排序网络,通过按照一种再排序方案对该比特序列再排序,它产生再排序的比特序列,该方案不同于存储器更新地址信号沿着一个给定的存储器列顺序地识别连续的存储器行时M次中的每一个,以及
iv)一个显示装置,用于沿着各个显示行在连续的显示列位置显示由再排序的比特序列的预定比特表示的象素值,该再排序的比特序列的预定比特是从响应更新地址信号产生的存储器输出信号中产生的,该更新地址信号沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置。
7,按照权利要求6的一种计算机系统,其中该比特再排序网络包括一个奥米伽网络。
8,按照权利要求7的一个计算机系统,其中该奥米伽网络是一个三级奥米伽网络。
9,一个显示系统,它包含:
A)一个图象存储器,包括编号从O到N-1的N个分别可操作的存储器模块,它们一起提供以存储器位置行和列构成的存储器位置,该第(n mod N)个存储器模块包含第n个存储器位置行,该图象存储器响应于表示以图象象素行和列排列的画面单元的值的更新数据信号,并且对应于这样的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列,为了仅仅在一个模块中一次储存由存储器位置行和列中的更新数据信号代表的值,该存储器位置行和列由相应的更新地址信号识别,该图象存储器更进一步同时产生代表在所有存储器模块中的存储器位置的内容的存储器输出信号,该存储器模块由施加在那的更新地址信号识别;
B)一个更新地址发生器,用于产生并且应用图象存储器更新地址信号,它顺序地沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置;和
C)一个显示装置,用于沿着各个显示行在连续的显示列位置显示由存储器输出信号表示的象素值,该存储器输出信号是响应更新地址信号而产生的,该更新地址信号沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置。
10,按照权利要求9的一种显示系统,其中:
A)每个所说存储器位置包含M个象素值;
B)该存储器更新地址信号,在沿着该下一存储器列顺序地识别连续的存储器行位置之前,M次连续地沿着多个扫描存储器列中的每一个顺序地识别连续的存储器行位置;
C)按照比特顺序,该存储器输出信号表示每个所说存储器位置的内容;以及
D)该显示系统更进一步包含插入在图象存储器和显示装置之间的比特再排序网络,它按照一种再排序方案对比特序列进行再排序,该方案不同于存储器更新地址信号沿着一个给定的存储器列顺序地识别连续的存储器行时M次中的每一个。
11,按照权利要求10的一种显示系统,其中该比特再排序网络包括一个奥米伽网络。
12,按照权利要求11的一个显示系统,其中该奥米伽网络是一个三级奥米伽网络。
13,按照权利要求9的一个显示系统,其中N=2。
14,一个显示系统,它包含:
A)一个图象存储器,包括以存储器位置行和列构成的存储器位置,并且对应于代表以图象象素行和列排列的画面单元值的更新数据信号,并且对应于这样的更新地址信号,它用于识别其值由更新数据信号表示的画面单元的行和列,用于储存由存储器位置行和列中的更新数据信号代表的值,该存储器位置行和列由相应的更新地址信号识别,每个所说存储器位置包含M个象素值,该图象存储器更进一步产生这样的存储器输出信号,它按照各个比特序列表示由施加到其上的更新地址信号识别的存储器位置的内容;
B)一个更新地址发生器,用于产生并且应用图象存储器更新地址信号,在沿着该下一存储器列顺序地识别连续的存储器行位置之前;M次连续地它顺序地沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置;
C)比特再排序网络,通过按照一种再排序方案对该比特序列再排序,它产生再排序的比特序列,该方案不同于存储器更新地址信号沿着一个给定的存储器列顺序地识别连续的存储器行时M次中的每一个,以及
D)一个显示装置,用于沿着各个显示行在连续的显示列位置显示由再排序的比特序列的预定比特表示的象素值,该再排序的比特序列的预定比特是从响应更新地址信号产生的存储器输出信号中产生的,该更新地址信号沿着多个相继的扫描存储器列中的每一个识别连续的存储器行位置。
15,按照权利要求14的一种显示系统,其中该比特再排序网络包括一个奥米伽网络。
16,按照权利要求15的一个显示系统,其中该奥米伽网络是个三级奥米伽网络。
CN99126084A 1998-10-26 1999-10-25 在显示器上对图象作硬件旋转的计算机系统和显示系统 Expired - Fee Related CN1130653C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/179,032 US6262751B1 (en) 1998-10-26 1998-10-26 Hardware rotation of an image on a computer display
US09/179032 1998-10-26

Publications (2)

Publication Number Publication Date
CN1253335A true CN1253335A (zh) 2000-05-17
CN1130653C CN1130653C (zh) 2003-12-10

Family

ID=22654949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99126084A Expired - Fee Related CN1130653C (zh) 1998-10-26 1999-10-25 在显示器上对图象作硬件旋转的计算机系统和显示系统

Country Status (5)

Country Link
US (2) US6262751B1 (zh)
JP (1) JP4631112B2 (zh)
KR (1) KR100554572B1 (zh)
CN (1) CN1130653C (zh)
TW (1) TW475146B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226016B1 (en) * 1996-02-05 2001-05-01 Seiko Epson Corporation Display apparatus and method capable of rotating an image by 180 degrees
US6639603B1 (en) * 1999-04-21 2003-10-28 Linkup Systems Corporation Hardware portrait mode support
JP2000315132A (ja) * 1999-04-30 2000-11-14 Sony Corp 情報処理装置及びその方法並びに媒体
US6809737B1 (en) * 1999-09-03 2004-10-26 Ati International, Srl Method and apparatus for supporting multiple monitor orientations
US7248698B2 (en) * 2001-04-06 2007-07-24 Interdigital Technology Corporation System for generating pseudorandom sequences
EP1540643A1 (en) * 2002-09-09 2005-06-15 Koninklijke Philips Electronics N.V. Driving method, driving circuit and driving apparatus for a display system
US7068856B2 (en) 2002-09-17 2006-06-27 Lockheed Martin Corporation Method and system for determining and correcting image orientation angle
US6992679B2 (en) * 2003-12-22 2006-01-31 Texas Instruments Incorporated Hardware display rotation
US20050249435A1 (en) * 2004-05-06 2005-11-10 Rai Barinder S Apparatuses and methods for rotating an image
US7082028B2 (en) * 2004-07-08 2006-07-25 Swivel It, Inc. Rotatable computer display apparatus and method
KR100620372B1 (ko) * 2004-08-18 2006-09-08 삼성전자주식회사 영상을 회전시키는 방법, 컴퓨터 및 저장매체
US7511722B1 (en) * 2004-08-27 2009-03-31 Apple Inc. Method and system for fast 90 degree rotation of arrays
US20060139377A1 (en) * 2004-12-29 2006-06-29 Haiming Jin LCOS micro-display driver integrated circuit
US20060187239A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation System and method for improving visual appearance of efficient rotation algorithm
KR100663467B1 (ko) * 2006-02-17 2007-01-02 삼성전자주식회사 휴대단말기의 이미지 표시 방법
US20110234636A1 (en) * 2010-03-24 2011-09-29 Dsp Group Ltd. Method and integrated circuit for image manipulation

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60123889A (ja) * 1983-12-09 1985-07-02 三菱電機株式会社 情報記憶装置
JPS60172085A (ja) * 1984-02-17 1985-09-05 株式会社日立製作所 図形処理装置
JPS60231235A (ja) 1984-04-27 1985-11-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理システム
US5584032A (en) * 1984-10-17 1996-12-10 Hyatt; Gilbert P. Kernel processor system
JPS6329791A (ja) 1986-07-23 1988-02-08 ミノルタ株式会社 文字画像発生装置のフオント変換方式
JPH0773920B2 (ja) 1986-11-17 1995-08-09 日本電気株式会社 n×nビットドットマトリックス90゜回転回路
JPS63178287A (ja) 1987-01-20 1988-07-22 株式会社東芝 表示装置
DE3804938C2 (de) 1987-02-18 1994-07-28 Canon Kk Bildverarbeitungseinrichtung
US5063526A (en) 1987-06-03 1991-11-05 Advanced Micro Devices, Inc. Bit map rotation processor
AU5943890A (en) 1989-06-12 1991-01-17 Grid Systems Corporation Display output rotation
US5133076A (en) 1989-06-12 1992-07-21 Grid Systems Corporation Hand held computer
KR910013875A (ko) * 1989-12-06 1991-08-08 데이비드 지.파인 비디오 디스플레이의 배향을 변화시키기 위한 방법 및 이의 장치
US5199101A (en) 1990-10-03 1993-03-30 Bell & Howell Publication Systems Company On the fly image rotation system for high-speed printers
JPH04278652A (ja) * 1991-03-06 1992-10-05 Ricoh Co Ltd 図形描画装置及びそのメモリアクセス方式
US5384645A (en) 1991-10-15 1995-01-24 Fuji Xerox Co., Ltd. Image rotating apparatus
US5613018A (en) 1991-12-23 1997-03-18 Xerox Corporation Page buffer rotator
JPH06167966A (ja) * 1992-06-15 1994-06-14 Seiko Epson Corp 表示回路
US5715385A (en) 1992-07-10 1998-02-03 Lsi Logic Corporation Apparatus for 2-D affine transformation of images
EP0582824A2 (en) 1992-07-31 1994-02-16 E.I. Du Pont De Nemours And Company Orthogonal image rotation using matrix transposition
US5432720A (en) 1992-11-13 1995-07-11 International Business Machines Corporation Rotatable pen-based computer
JPH06282432A (ja) * 1993-03-26 1994-10-07 Olympus Optical Co Ltd 演算処理装置
JPH0736772A (ja) * 1993-07-21 1995-02-07 Fujitsu Ltd 高速ビットマップ・アクセス制御装置及び制御方法
JP3166447B2 (ja) 1993-10-26 2001-05-14 富士ゼロックス株式会社 画像処理装置及び画像処理方法
US5450542A (en) 1993-11-30 1995-09-12 Vlsi Technology, Inc. Bus interface with graphics and system paths for an integrated memory system
KR0119725B1 (ko) * 1994-04-14 1997-10-29 조백제 선형변환 방법을 이용한 영상처리용 병렬기억장치
US5712714A (en) 1994-07-18 1998-01-27 Mita Industrial Co., Ltd. Image processing apparatus
US5563625A (en) 1994-09-08 1996-10-08 Ibm Corporation Fast 180 degree image rotation and reversal
JPH08147461A (ja) * 1994-09-19 1996-06-07 Ricoh Co Ltd 画像処理装置
US5598181A (en) 1994-09-26 1997-01-28 Xerox Corporation Method and apparatus for rotating a digital image ninety degrees using a small auxiliary buffer
US5606348A (en) 1995-01-13 1997-02-25 The United States Of America As Represented By The Secretary Of The Army Programmable display interface device and method
US5670982A (en) 1995-02-08 1997-09-23 International Business Machines Corporation System for fast 90-degree rotation of bi-level images
KR970703568A (ko) * 1995-04-07 1997-07-03 이시마루 미키오 영상 회전방법 및 장치(method and apparatus for image potation)
US5668980A (en) 1995-07-31 1997-09-16 Advanced Micro Devices, Inc. System for performing rotation of pixel matrices
US5634088A (en) 1995-11-01 1997-05-27 Xerox Corporation Method and apparatus for rotation of high addressability bitmap images
US5734875A (en) * 1996-02-05 1998-03-31 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
US5708561A (en) 1996-08-13 1998-01-13 Vivek R. Huilgol Portable computer having display slidably and rotatably mounted for movement between landscape and portrait orientation and to open and close speaker ports

Also Published As

Publication number Publication date
CN1130653C (zh) 2003-12-10
US6608626B2 (en) 2003-08-19
TW475146B (en) 2002-02-01
US6262751B1 (en) 2001-07-17
KR20000047554A (ko) 2000-07-25
JP4631112B2 (ja) 2011-02-16
JP2000132153A (ja) 2000-05-12
US20010030656A1 (en) 2001-10-18
KR100554572B1 (ko) 2006-03-03

Similar Documents

Publication Publication Date Title
CN1130653C (zh) 在显示器上对图象作硬件旋转的计算机系统和显示系统
US4979738A (en) Constant spatial data mass RAM video display system
EP0895216B1 (en) Image storage device and access method
CN1107288C (zh) 用于块结构图像处理系统的图形存储器存储系统和方法
CN86102722A (zh) 彩色图像显示系统
JP2517123Y2 (ja) メモリ装置
CN1007941B (zh) 可变存取帧缓冲存储器
CN1008486B (zh) 图象处理系统
KR20000062359A (ko) 타일화된 선형 호스트 텍스쳐 스토리지
CN87100869A (zh) 显示处理器
CN1261696A (zh) 能够将图象旋转180度的显示设备和方法
US7352494B2 (en) Pixel block data generating device and pixel block data generating method
EP1864492A1 (en) Processing a data array with a meandering scanning order using a circular buffer memory
US5117468A (en) Image processing system capable of carrying out local processing for image at high speed
US5517609A (en) Graphics display system using tiles of data
EP0881598A2 (en) Method for filling a polygon and image processing system
CN101399978B (zh) 硬件解码器中参考帧数据的读取方法及其装置
US6606673B2 (en) Direct memory access transfer apparatus
US6181354B1 (en) Image generator using display memory
US5083121A (en) System for maximizing utilization of a display memory
EP0932883B1 (en) Loss-less compression and decompression of bitmaps
US20020009236A1 (en) Image data conversion device and image data conversion method for converting the order of pixels
US6577294B1 (en) Display device
EP0474366B1 (en) Graphics display system including a video random access memory with a split serial register and a run counter
JPH028335B2 (zh)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031210

Termination date: 20181025