CN107333083A - 一种视频分辨率调整的方法 - Google Patents
一种视频分辨率调整的方法 Download PDFInfo
- Publication number
- CN107333083A CN107333083A CN201710613079.9A CN201710613079A CN107333083A CN 107333083 A CN107333083 A CN 107333083A CN 201710613079 A CN201710613079 A CN 201710613079A CN 107333083 A CN107333083 A CN 107333083A
- Authority
- CN
- China
- Prior art keywords
- cnt
- divisor
- resolution
- pixel
- adjustment
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种视频分辨率调整的方法,属于芯片设计领域,本发明利用了求最大公约数的方法,从原始图像中直接获得调整后要保留的行和像素点,实现分辨率的调整;极大的节省了项目成本,也降低了系统的复杂度。
Description
技术领域
本发明涉及芯片设计领域,尤其涉及一种视频分辨率调整的方法。
背景技术
视频分辨率调整在很多场景下都有应用,最常见的就是显卡输出的视频分辨率过高,如果不进行分辨率的调整,在通过网络进行传送的时候占用太大带宽,造成视频数据传输异常。
传统的分辨率调整的流程中,FPGA/ASIC接收显卡输出的高分辨率视频数据,经过视频分辨率调整,将原高分辨率的视频降低为低分辨率的视频,并按照以太网协议打包,通过网卡进行发送。
如果是用FPGA进行视频分辨率调整,传统做法是利用厂商提供的Scaler IP,进行处理,但是该IP需高额费用方可使用,并且需要开发IP的外围模块,配合IP工作,造成项目成本上升。
如果是用ASIC进行分辨率调整,需在电路板上额外增加ASIC的摆放面积,并且项目会增加购买ASIC的成本。
发明内容
为了解决以上技术问题,本发明提出了一种视频分辨率调整的方法。本发明基于Altera 公司的Cyclone V 系列SoC,Cyclone V SoC芯片是一款内嵌基于双核ARM的硬核处理系统HPS的FPGA,利用计算最大公约数的方法,实现分辨率的调整。
本发明的技术方案如下:
一种视频分辨率调整的方法,包括如下步骤:
1:根据分辨率调整前的分辨率的宽度rsl_w_before_adj和预定的调整之后的分辨率的宽度rsl_w_after_adj,计算得到两者的最大公约数divisor_w。
2:根据分辨率调整前的分辨率的宽度rsl_h_before_adj和预定的调整之后的分辨率的宽度rsl_h_after_adj,计算得到两者的最大公约数divisor_h。
3:根据调整前的分辨率和系统时钟,得到当前像素点所在的行号和列号
4:根据divisor_w、divisor_h和当前行号,列号,计算出当前像素点是否是分辨率调整之后的有效像素点。
算最大公约数的原理如下:求两个正整数A和B的最大公约数,A-B=C,C也为正整数,然后A和B的最大公约数等于B和C的最大公约数,再令B-C=D,则A,B的最大公约数等于C和D的最大公约数,直至两个数的差为0,那么A与B的最大公约数就等于此时的被减数。
在得到divisor_w和divisor_h之后,将调整前后分辨率的宽度分为divisor_w组,每组分别有cnt_w_before和cnt_w_after;
将调整前后分辨率的高度分为divisor_h组,每组分别有cnt_h_before和cnt_h_after;
rsl_w_before_adj= divisor_w Xcnt_w_before
rsl_w_after_adj= divisor_w Xcnt_w_after
rsl_h_before_adj= divisor_h Xcnt_h_before
rsl_h_after_adj= divisor_h Xcnt_h_after
通过有效像素计算模块,得到调整之后有效的像素点;
从每一行有rsl_w_before_adj个像素点,共divisor_w组,每组有cnt_w_before像素,通过该模块,从每组cnt_w_before个像素点中,得到cnt_w_after个像素点。
计算方法是求分辨率宽度的跳跃间隔:cnt_w_step=cnt_w_before/cnt_w_after,然后取每组cnt_w_before中的[0,cnt_w_step,2*cnt_w_step,3*cnt_w_step…cnt_w_after-1]个像素点做为当前组分辨率宽度调整之后的有效像素点。
利用同样的计算方法,得到分辨率高度调整之后的有效的行数,过程如下:
每一帧有rsl_h_before_adj行像素,共divisor_h组,每组有cnt_h_before行,通过有效像素计算模块,从每组cnt_h_before行中,得到cnt_h_after行.
计算方法是求分辨率高度的跳跃间隔:
cnt_h_step=cnt_h_before/cnt_h_after,然后取每组cnt_h_before中的[0,cnt_h_step,2*cnt_h_step,3*cnt_h_step…cnt_h_after-1]行做为分辨率高度调整之后的有效行。
根据行/列号计算模块,得到当前像素所在的行/列;如果当前像素所在的行以及像素所在的列为分辨率调整之后的有效行和有效像素点时,将该像素数据保留,并输出,否则丢弃该像素点,从而完成分辨率的调整。
本发明的有益效果是
本发明用于视频分辨率的调整,可以将显卡输出的高分辨率视频降低为低分辨率视频,满足网络传输中带宽的要求,同时保证了视频的清晰度,并且实现方法简单,只占用很少的FPGA逻辑资源,不需要额外的费用,极大降低了项目成本。
附图说明
图1是本发明的逻辑框图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
方案详细过程:
1:首先在最大公约数计算模块中,根据调整前的分辨率的宽度rsl_w_before_adj和预定的调整之后的分辨率的宽度rsl_w_after_adj,计算得到两者的最大公约数divisor_w,同理得到divisor_h。计算最大公约数的原理如下:求两个正整数A和B的最大公约数,A-B=C,C也为正整数,然后A和B的最大公约数等于B和C的最大公约数,再令B-C=D,则A,B的最大公约数等于C和D的最大公约数,直至两个数的差为0,那么A与B的最大公约数就等于此时的被减数。
2:在得到divisor_w和divisor_h之后,我们将调整前后分辨率的宽度分为divisor_w组,每组分别有cnt_w_before和cnt_w_after。
将调整前后分辨率的高度分为divisor_h组,每组分别有cnt_h_before和cnt_h_after。
也就是说rsl_w_before_adj= divisor_w Xcnt_w_before
rsl_w_after_adj= divisor_w Xcnt_w_after
rsl_h_before_adj= divisor_h Xcnt_h_before
rsl_h_after_adj= divisor_h Xcnt_h_after
3:通过有效像素计算模块,得到调整之后有效的像素点。
从每一行有rsl_w_before_adj个像素点,共divisor_w组,每组有cnt_w_before像素,通过该模块,从每组cnt_w_before个像素点中,得到cnt_w_after个像素点。
计算方法是求分辨率宽度的跳跃间隔:cnt_w_step=cnt_w_before/cnt_w_after,然后取每组cnt_w_before中的[0,cnt_w_step,2*cnt_w_step,3*cnt_w_step…cnt_w_after-1]个像素点做为当前组(一行共divisor_w组)分辨率宽度调整之后的有效像素点。
4:同样的计算方法,得到分辨率高度调整之后的有效的行数,过程如下:
每一帧有rsl_h_before_adj行像素,共divisor_h组,每组有cnt_h_before行,通过有效像素计算模块,从每组cnt_h_before行中,得到cnt_h_after行。
计算方法是求分辨率高度的跳跃间隔:cnt_h_step=cnt_h_before/cnt_h_after,然后取每组cnt_h_before中的[0,cnt_h_step,2*cnt_h_step,3*cnt_h_step…cnt_h_after-1]行做为分辨率高度调整之后的有效行。
5:根据行/列号计算模块,得到当前像素所在的行/列。如果当前像素所在的行以及像素所在的列为分辨率调整之后的有效行和有效像素点时,将该像素数据保留,并输出,否则丢弃该像素点,从而完成分辨率的调整。
利用求最大公约数的方法,实现了分辨率的调整功能,既能完成正常的分辨率调整,同时占用很少的资源,减少了系统复杂度,不需要额外购买Scaler IP或者ASIC的费用,极大的降低了项目成本。
Claims (8)
1.一种视频分辨率调整的方法,其特征在于,包括如下步骤:
1)根据分辨率调整前的分辨率的宽度rsl_w_before_adj和预定的调整之后的分辨率的宽度rsl_w_after_adj,计算得到两者的最大公约数divisor_w;
2)根据分辨率调整前的分辨率的宽度rsl_h_before_adj和预定的调整之后的分辨率的宽度rsl_h_after_adj,计算得到两者的最大公约数divisor_h;
3)根据调整前的分辨率和系统时钟,得到当前像素点所在的行号和列号;
4)根据divisor_w、divisor_h和当前行号,列号,计算出当前像素点是否是分辨率调整之后的有效像素点。
2.根据权利要求1所述的方法,其特征在于,
算最大公约数的原理如下:求两个正整数A和B的最大公约数,A-B=C,C也为正整数,然后A和B的最大公约数等于B和C的最大公约数,再令B-C=D,则A,B的最大公约数等于C和D的最大公约数,直至两个数的差为0,那么A与B的最大公约数就等于此时的被减数。
3.根据权利要求1或2所述的方法,其特征在于,
在得到divisor_w和divisor_h之后,将调整前后分辨率的宽度分为divisor_w组,每组分别有cnt_w_before和cnt_w_after;
将调整前后分辨率的高度分为divisor_h组,每组分别有cnt_h_before和cnt_h_after;
rsl_w_before_adj= divisor_w Xcnt_w_before
rsl_w_after_adj= divisor_w Xcnt_w_after
rsl_h_before_adj= divisor_h Xcnt_h_before
rsl_h_after_adj= divisor_h Xcnt_h_after。
4.根据权利要求3所述的方法,其特征在于,
通过有效像素计算模块,得到调整之后有效的像素点;
从每一行有rsl_w_before_adj个像素点,共divisor_w组,每组有cnt_w_before像素,通过该模块,从每组cnt_w_before个像素点中,得到cnt_w_after个像素点。
5.根据权利要求3所述的方法,其特征在于,
计算方法是求分辨率宽度的跳跃间隔:cnt_w_step=cnt_w_before/cnt_w_after,然后取每组cnt_w_before中的[0,cnt_w_step,2*cnt_w_step,3*cnt_w_step…cnt_w_after-1]个像素点做为当前组分辨率宽度调整之后的有效像素点。
6.根据权利要求5所述的方法,其特征在于,
利用同样的计算方法,得到分辨率高度调整之后的有效的行数,过程如下:
每一帧有rsl_h_before_adj行像素,共divisor_h组,每组有cnt_h_before行,通过有效像素计算模块,从每组cnt_h_before行中,得到cnt_h_after行。
7.根据权利要求6所述的方法,其特征在于,
计算方法是求分辨率高度的跳跃间隔:
cnt_h_step=cnt_h_before/cnt_h_after,然后取每组cnt_h_before中的[0,cnt_h_step,2*cnt_h_step,3*cnt_h_step…cnt_h_after-1]行做为分辨率高度调整之后的有效行。
8.根据权利要求7所述的方法,其特征在于,
根据行/列号计算模块,得到当前像素所在的行/列;如果当前像素所在的行以及像素所在的列为分辨率调整之后的有效行和有效像素点时,将该像素数据保留,并输出,否则丢弃该像素点,从而完成分辨率的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710613079.9A CN107333083A (zh) | 2017-07-25 | 2017-07-25 | 一种视频分辨率调整的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710613079.9A CN107333083A (zh) | 2017-07-25 | 2017-07-25 | 一种视频分辨率调整的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107333083A true CN107333083A (zh) | 2017-11-07 |
Family
ID=60200785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710613079.9A Pending CN107333083A (zh) | 2017-07-25 | 2017-07-25 | 一种视频分辨率调整的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107333083A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618680A (zh) * | 2015-01-21 | 2015-05-13 | 北京瀚景锦河科技有限公司 | 一种视频分辨率的压缩方法 |
CN106204700A (zh) * | 2014-09-01 | 2016-12-07 | 三星电子株式会社 | 渲染设备和方法 |
-
2017
- 2017-07-25 CN CN201710613079.9A patent/CN107333083A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106204700A (zh) * | 2014-09-01 | 2016-12-07 | 三星电子株式会社 | 渲染设备和方法 |
CN104618680A (zh) * | 2015-01-21 | 2015-05-13 | 北京瀚景锦河科技有限公司 | 一种视频分辨率的压缩方法 |
Non-Patent Citations (2)
Title |
---|
吴家碚等: "《C语言程序设计与应用(高职)》", 31 January 2015 * |
高永刚,徐涵秋: "基于最大公约数的遥感影像空间尺度转换算法", 《地球信息科学》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180262744A1 (en) | Systems, methods and apparatuses for stereo vision | |
TWI407800B (zh) | 馬賽克影像的改良處理 | |
US6466222B1 (en) | Apparatus and method for computing graphics attributes in a graphics display system | |
US20160381338A1 (en) | System and method for storing image data in parallel in a camera system | |
CN103929599A (zh) | 一种基于fpga的数字视频图像实时缩放处理方法 | |
JP2000032273A (ja) | イメ―ジデ―タ圧縮装置及び方法並びにイメ―ジ処理システム | |
TW201428675A (zh) | 影像產生系統與影像產生方法 | |
CN105227873B (zh) | 一种在屏显示数据的测试方法和装置 | |
CN107333083A (zh) | 一种视频分辨率调整的方法 | |
TW201921287A (zh) | 半導體裝置及影像辨識系統 | |
Ibraheem et al. | A resource-efficient multi-camera gige vision ip core for embedded vision processing platforms | |
US20120120285A1 (en) | Method and apparatus for reconfiguring time of flight shot mode | |
CN103297703A (zh) | 多光谱图像获取方法 | |
CN108711134A (zh) | 一种高频线阵ccd图像处理 | |
CN202634596U (zh) | 一种基于ccd高清网络摄像系统 | |
CN114723620A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
JP2009268017A (ja) | 画像分割処理用の画像信号処理装置、方法及びプログラム | |
CN103903247A (zh) | 一种图像绘制方法及系统 | |
Bailey et al. | Advanced bayer demosaicing on FPGAs | |
CN110910439B (zh) | 图像分辨率估计方法、装置及终端 | |
CN109104595B (zh) | 实时图像处理中Hamilton自适应插值的FPGA实现方法 | |
CN205945977U (zh) | 一种曝光电路 | |
CN103533320B (zh) | 一种Bayer格式图像联合去噪插值的方法和系统 | |
KR101216723B1 (ko) | 디스플레이포트일점일에이 기반 복수 영상 출력 장치 | |
CN105447816B (zh) | 一种多通道图像放大方法和装置 |
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 |
Application publication date: 20171107 |
|
RJ01 | Rejection of invention patent application after publication |