CN107493439A - 视频图像旋转方法、旋转装置和计算机存储介质 - Google Patents
视频图像旋转方法、旋转装置和计算机存储介质 Download PDFInfo
- Publication number
- CN107493439A CN107493439A CN201710699796.8A CN201710699796A CN107493439A CN 107493439 A CN107493439 A CN 107493439A CN 201710699796 A CN201710699796 A CN 201710699796A CN 107493439 A CN107493439 A CN 107493439A
- Authority
- CN
- China
- Prior art keywords
- video image
- mode
- spinning solution
- rotary
- degree
- 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.)
- Pending
Links
- 238000009987 spinning Methods 0.000 title claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种视频图像旋转方法、旋转装置和计算机存储介质,视频图像旋转方法包括:将图像数据按照32字节×64像素划分成多个直接内存存取图块,并以初始扫描方式进行扫描;选择预设的旋转模式;根据旋转模式选出对应的译码表和旋转扫描方式;按照译码表的静态随机存储器的地址,依次将多个直接内存存取图块中的数据对应地根据旋转扫描方式写入。通过预设的旋转模式和对应的译码表地址,使得不同的旋转方向的读入方式一致,同时本案的图块划分大小水平以字节byte为单位,垂直以像素为单位,在8/16/32bits的采样格式下,块大小以byte计算是不变的,以pixel计算时可变,使得本案的视频图像能够实现简单高效地进行旋转处理。
Description
技术领域
本发明涉及视频图像处理领域,尤其涉及一种视频图像旋转方法、旋转装置和计算机存储介质。
背景技术
现有技术中,对视频图像进行旋转时,一般采用行buffer的形式,虽然能解决读入效率问题,但硬件实现cost较大,如果不使用行buffer的形式,采用cpu读写方式,实现简单,但无法满足效率需求。
发明内容
本发明的第一目的是提供一种简单高效的视频图像旋转方法。
本发明的第二目的是提供一种简单高效的视频图像旋转装置。
本发明的第三目的是提供一种实现简单高效的视频图像旋转方法的计算机存储介质。
为了实现本发明的第一目的,本发明提供一种视频图像旋转方法,其特征在于,包括:
将图像数据按照32字节×64像素划分成多个直接内存存取图块,并以初始扫描方式进行扫描;
选择预设的旋转模式;
根据旋转模式选出对应的译码表和旋转扫描方式;
按照译码表的静态随机存储器的地址,依次将多个直接内存存取图块中的数据对应地根据旋转扫描方式写入。
更进一步的方案是,图像数据的数据宽度为8比特、16比特或32比特。
更进一步的方案是,初始扫描方式和旋转扫描方式为Z型扫描;
旋转扫描方式为初始扫描方式根据旋转模式的旋转得出。
更进一步的方案是,静态随机存储器的读写机制按照乒乓控制机制。
更进一步的方案是,每个直接内存存取图块平均分成第一分图块和第二分图块,第一分图块在进行写入操作的同时,第二分图块在进行读取操作。
更进一步的方案是,旋转模式包括0度、90度、180度、270度、左右翻转、90度左右翻转、上下翻转、90度上下翻转。
为了实现本发明的第二目的,本发明提供一种视频图像旋转装置,其特征在于,视频图像旋转装置包括处理器,处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任意一项方法的步骤。
为了实现本发明的第三目的,本发明提供一种计算机可读存储介质,其存储有计算机程序,其特征在于:计算机程序被处理器执行时实现如权利要求1-6中任意一项视频图像旋转方法的步骤。
由上述方案可见,本案的读取扫描方式与旋转方向无关,通过预设的旋转模式和对应的译码表地址,使得不同的旋转方向的读入方式一致,同时本案的图块划分大小水平以字节byte为单位,垂直以像素为单位,在8/16/32bits的采样格式下,块大小以byte计算是不变的,以pixel计算时可变,支持基地址和pitch非32byte对齐读入,使得带宽接近无损,写读静态随机存取存储器sram地址采用译码方式实现且图块读写采用乒乓控制机制fifo控制,使得本案的视频图像能够实现简单高效地进行旋转处理。
附图说明
图1是本发明的视频播放方法实施例的流程图。
图2是本发明的视频图像旋转方法实施例的流程图。
图3是本发明的视频图像旋转方法实施例中的图块划分方式和扫描方式的示意图。
图4是本发明的视频图像旋转方法实施例中的图块划分方式和扫描方式在经旋转后的示意图。
图5是本发明的视频图像旋转方法实施例中旋转模式的示意图。
图6是本发明的视频图像旋转方法实施例中乒乓buffer示意图。
图7是本发明的视频图像旋转方法实施例中在读基地址和pitch不对齐时有效数据示意图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
参照图1,视频播放时,首先执行步骤S1,接收视频数据,接收的方式包括网络传输的流媒体视频数据或图像传感器采集的视频数据。然后执行步骤S2,执行图像旋转处理步骤。
参照图2,视频图像旋转处理时,首先执行步骤S21,将图像数据按照32字节×64像素划分成多个直接内存存取图块,并以初始扫描方式进行扫描,具体地,如图3所示,,rdma的图块block统一按照行扫描方式,从左到右,从上到下进行扫描,block划分在输入为8bits/16bits/32bits数据宽度时,统一按照32byte×64piexl的size进行划块。
图块内部扫描方式为列扫描,每次发送一个32byte的读请求,即32byte=32×8bits = 256bits×1=128bits×2,刚好满足两个128bits,两个burst的连发,保证memroy效率最大化。
图3以“输入格式为8bits格式”描述了rdma输入扫描方式,该扫描方式为倒z型扫描。当输入格式为24bits时,块大小选择为48byte×16pixel,此时一般为图片格式,刷新率没有要求太高,读效率为3burst/request。
随后执行步骤S22,选择预设的旋转模式,如向右旋转90度,则会如图3所示的,而扫描方式也旋转90度,扫描先写右边一列,blcok顺序为从右往左,从上往下写memory。图3中的分界线是用于划分图块,由于32byte×64pixel是乒乓buffer的总大小,而在乒乓操作时,需要划分sub_block,sub_block大小自然为32byteX64pixel的一半,当读扫描在乒乓buffer其中一个sub_block时,另外一半进行了写扫描。
然后执行步骤S23,根据所述旋转模式选出对应的译码表和旋转扫描方式,具体可参照图5,旋转模式包括0度、90度、180度、270度、左右翻转HFlip、90度左右翻转HFlip、上下翻转VFlip、90度上下翻转VFlip。根据预设的旋转模式,可得出对应如图3和4的译码表和旋转扫描方式。
随后,执行步骤S24,按照所述译码表的静态随机存储器的地址,依次将多个所述直接内存存取图块中的数据对应地根据旋转扫描方式写入。具体地,可参照图4,第一个从rdma模块读入的64bits应该写入到sram的地址18中,第二个从rdma模块读入的64bits应写到sram的地址12,以此类推,可以发现sram的地址为“18、12、6、0、19、13、7、1、20、14、8、2、21、15、9、3、22、16、10、4、23、17、11、5”在按照旋转扫描方式依次写入各个像素值。
然后执行步骤S3,读取显示步骤,按照常规的数据读取写到ddr的对应memory地址中,并可实现视频显示输出。
下面对乒乓buffer控制机制进行说明,参照图6,在8bits/16bits/32bits输入采样格式下,rdma以32byte×64pixel为划分block的标准,但是在wdma的时候,由于sram读写冲突,需要乒乓操作划分了sub_block,sub_block的大小为32byte×32pixel。
下图0-1-2-3为4个sub_block,利用了fifo控制原理来控制乒乓buffer的读写切换。0,2同属于一组sram,而1,3同属于另外一组sram,它们是乒乓关系,即在写0或者2的时候,不能对0或者2进行读操作,当读1或者3时,不能对1或者3进行写操作。
不同的深浅颜色代表了sram的高低地址,其中左边的灰色代表的是sram地址0-15;而右边的黄色代表的时sram地址16-31。
使用sram地址16-31的原因在于需要支持rdma在输入基地址/pitch为非32byte对齐的时候,不重复读block的边界数据,这样有效的节省了带宽和提高读效率。
类似的读有效数据拼接通过图7进行描述,从上图可以看出:当基地址/pitch非32byte对齐时,从rdma读回来的数据并不是每byte都是有效的,此时,需要mask掉无效数据,把有效数据写到sram中。
上图深色部分为第一个rdma的block读回来的有效数据,浅色部分未rdma第二个blcok读回来的有效数据,发现,第一个rdma的block并没有把乒乓buffer0和1都填满,当第二个rdma block完成时,乒乓buffer地址0数据才是满的,这时候sram写地址指向了3,而读地址还在0,而乒乓buffer地址0中的数据是准备好的,可以读出送到wdma中。由此分析,采用fifo控制原理引入almost_full信号即可把乒乓buffer切换控制好。
视频图像旋转装置,视频图像旋转装置包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述方案中任意一项方法的步骤。
计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述方案中任意一项视频图像旋转方法的步骤。
Claims (8)
1.视频图像旋转方法,其特征在于,包括:
将图像数据按照32字节×64像素划分成多个直接内存存取图块,并以初始扫描方式进行扫描;
选择预设的旋转模式;
根据所述旋转模式选出对应的译码表和旋转扫描方式;
按照所述译码表的静态随机存储器的地址,依次将多个所述直接内存存取图块中的数据对应地根据旋转扫描方式写入。
2.根据权利要求1所述的视频图像旋转方法,其特征在于:
所述图像数据的数据宽度为8比特、16比特或32比特。
3.根据权利要求1所述的视频图像旋转方法,其特征在于:
所述初始扫描方式和所述旋转扫描方式为Z型扫描;
所述旋转扫描方式为所述初始扫描方式根据旋转模式的旋转得出。
4.根据权利要求1所述的视频图像旋转方法,其特征在于:
所述静态随机存储器的读写机制按照乒乓控制机制。
5.根据权利要求1所述的视频图像旋转方法,其特征在于:
每个所述直接内存存取图块平均分成第一分图块和第二分图块,所述第一分图块在进行写入操作的同时,所述第二分图块在进行读取操作。
6.根据权利要求1至5任一项所述的视频图像旋转方法,其特征在于:
所述旋转模式包括0度、90度、180度、270度、左右翻转、90度左右翻转、上下翻转、90度上下翻转。
7.视频图像旋转装置,其特征在于,所述视频图像旋转装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任意一项所述方法的步骤。
8.计算机可读存储介质,其存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述视频图像旋转方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710699796.8A CN107493439A (zh) | 2017-08-16 | 2017-08-16 | 视频图像旋转方法、旋转装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710699796.8A CN107493439A (zh) | 2017-08-16 | 2017-08-16 | 视频图像旋转方法、旋转装置和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107493439A true CN107493439A (zh) | 2017-12-19 |
Family
ID=60646221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710699796.8A Pending CN107493439A (zh) | 2017-08-16 | 2017-08-16 | 视频图像旋转方法、旋转装置和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107493439A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236740A (zh) * | 2008-02-25 | 2008-08-06 | 华为技术有限公司 | 一种显示数据的传输方法及装置 |
CN103347157A (zh) * | 2013-06-25 | 2013-10-09 | 杭州士兰微电子股份有限公司 | 实时输入数字图像镜像存储的方法及装置 |
CN103377030A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 图像旋转控制方法及装置 |
CN103501419A (zh) * | 2013-10-24 | 2014-01-08 | 北京时代奥视数码技术有限公司 | 一种基于fpga实现图像转置的方法 |
CN106530209A (zh) * | 2016-09-26 | 2017-03-22 | 深圳市振华微电子有限公司 | 一种基于fpga的图像旋转方法及装置 |
CN106846255A (zh) * | 2017-02-23 | 2017-06-13 | 北京普及芯科技有限公司 | 图像旋转实现方法及装置 |
-
2017
- 2017-08-16 CN CN201710699796.8A patent/CN107493439A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236740A (zh) * | 2008-02-25 | 2008-08-06 | 华为技术有限公司 | 一种显示数据的传输方法及装置 |
CN103377030A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 图像旋转控制方法及装置 |
CN103347157A (zh) * | 2013-06-25 | 2013-10-09 | 杭州士兰微电子股份有限公司 | 实时输入数字图像镜像存储的方法及装置 |
CN103501419A (zh) * | 2013-10-24 | 2014-01-08 | 北京时代奥视数码技术有限公司 | 一种基于fpga实现图像转置的方法 |
CN106530209A (zh) * | 2016-09-26 | 2017-03-22 | 深圳市振华微电子有限公司 | 一种基于fpga的图像旋转方法及装置 |
CN106846255A (zh) * | 2017-02-23 | 2017-06-13 | 北京普及芯科技有限公司 | 图像旋转实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5137374B2 (ja) | メモリマッピング方法及び装置 | |
CN103377030B (zh) | 图像旋转控制方法及装置 | |
CN105872432A (zh) | 快速自适应帧率变换的装置与方法 | |
CN106846255B (zh) | 图像旋转实现方法及装置 | |
JPH0210434B2 (zh) | ||
CN108492243B (zh) | 一种基于块处理的图像旋转装置、系统和方法 | |
US20180081545A1 (en) | Resistance variable memory apparatus, and circuit and method for operating therefor | |
CN111861883A (zh) | 基于同步积分surf算法的多路视频拼接方法 | |
US7852344B2 (en) | System for interleaved storage of video data | |
JP2522258B2 (ja) | 信号処理装置 | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
JP3464621B2 (ja) | バンク可変メモリ | |
CN107493439A (zh) | 视频图像旋转方法、旋转装置和计算机存储介质 | |
CN107390893A (zh) | 基于fpga实现kvm切换器无闪烁切换的系统及方法 | |
US8665283B1 (en) | Method to transfer image data between arbitrarily overlapping areas of memory | |
US20150022540A1 (en) | Method and apparatus for controlling writing of data to graphic memory | |
CN101729903B (zh) | 一种读取参考帧数据的方法、系统和多媒体处理器 | |
KR101068829B1 (ko) | 촬상 장치 및 이미지 회전 처리 방법 | |
Gong et al. | Design of high-speed real-time sensor image processing based on FPGA and DDR3 | |
KR101484101B1 (ko) | 동영상 변환 장치 | |
US20110234636A1 (en) | Method and integrated circuit for image manipulation | |
CN105719616B (zh) | 一种竖屏驱动系统及竖屏驱动方法 | |
CN114495855B (zh) | 视频数据转换电路、方法及显示设备 | |
EP1784783B1 (en) | Method of address-controlling memory with single buffer structure | |
US11972504B2 (en) | Method and system for overlapping sliding window segmentation of image based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171219 |