• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Directshow的視頻縮放分析研究

      2013-09-30 06:39:40俞俊杰魏振鋼
      中國信息化·學術(shù)版 2013年6期
      關(guān)鍵詞:視頻文件剪切圖像

      俞俊杰 魏振鋼

      [中圖分類號]F224.39 [文獻標識碼]A [文章編號]1672-5158(2013)06-0045-01

      引言

      在日常學習工作中經(jīng)常會對各種視頻文件進行分析,比如視頻的剪切、縮放等,但是對于這些操作可能會用到專業(yè)的視頻分析卡等硬件的支持。針對硬件價值較高,微軟提供了一套基于COM的流媒體處理開發(fā)包

      DirectShow。在DirectShow中提供了完整的視頻分析處理接口DES,負責對各類視頻進行分析處理。

      通過DES、Filter Graph可以對視頻進行縮放處理,使視頻的縮放脫離硬件的直接支持,適合于個人PC機上的視頻處理。本文主要分析了3中視頻縮放的方法,通過這些方法可以進一步加快視頻縮放的速度和效率。

      1 Directshow簡介

      利用Directshow對視頻進行縮放處理,必須對Directshow的架構(gòu),DES(Directshow Editing Services)以及Filter Graph Manager等知識有所了解。

      1.1 Directshow的體系結(jié)構(gòu)

      Directshow本質(zhì)上就是基于COM組建的流媒體開發(fā)包,它為我們用戶提供了一整套完整的視頻處理接口。該體系結(jié)構(gòu)大致可分為3層:用戶應用層、Directshow接口層、底部設(shè)備層。

      1.2 Filter以及Filter Graph Manager

      Filter其實就是一種叫做過濾器的COM組件,一共有三種類型的Filter:Source Filter、Transforill Filter、Rendering Filter。它們都包含一個或多個Pin,Source Filter負責視頻的采集,輸入等;Transform Filter負責對視頻進行格式轉(zhuǎn)換、傳輸?shù)龋籖endering Filter負責視頻文件的渲染,輸出。

      由于每一個Filter都有Pin針,我們可以根據(jù)不同的任務(wù)、需求,將各種Filter利用Pin針連接起來,就構(gòu)成了一個Filter Graph。Filter Graph的構(gòu)建都是有Filter Graph Manager管理的,每一個Filter Graph MaRager都對所有的Filter有所了解(Filter必須在該電腦上進行注冊)。并且,它能通過命令與事件的方式與用應層進行交流,應用層也可以更加方便的對Directshow的各種接口進行處理。

      1.3 非線性編輯(DES)

      DES是一套基于Directshow核心框架的編程接口,它的目的是為了簡化視頻編輯任務(wù),彌補Directshow對于媒體文件的非線性編輯支持的不足之處。其實,DES并沒有超越Directshow Filter架構(gòu),只是在它之上的一層增強應用。

      2 視頻縮放分析

      有了以上的幾個Directshow基本知識后,我們就可以有以下幾種視頻的縮放方法。

      2.1 Filter Graph Manager的視頻縮放

      我們知道Filter Graph Manager可以建立并控制Filter Graph。它是學習Directshow的核心,為了方便我們更加方便的操作,Directshow為我們提供了一整套完善的接口,通過實現(xiàn)這些接口我們可以完成我們想要的工作。

      我們想要實現(xiàn)視頻的縮放,可以通過FiRer Graph Manager中的IVideo Window接口來實現(xiàn)。IvideoWindow可以設(shè)置視頻窗口的各種屬性,當用戶改變視頻的大小的時候,操作系統(tǒng)以命令的方式發(fā)送給應用程序,應用程序可以調(diào)用IvideoWindow的put Height(long Height)和put_Width((long Width)改變大小。但是這種改變視頻大小的方法只是單純的改變面積并沒有涉及對圖像的算法剪切,因此在改變大小的過程中可能出現(xiàn)圖像的失真等狀況,下面的這種方法可以對圖像進行設(shè)計。

      2.2 DES的視頻縮放

      要利用DES對視頻進行處理,首先必須要知道DES的內(nèi)部結(jié)構(gòu)模型如下圖:

      2.3 Resize Filter的視頻縮放

      除了在進行非線性編輯的時候在組上進行視頻大小的設(shè)置之外,還有另外一種方法可以進行視頻的縮放控制,這便是通過第三方的視頻圖像縮放Filter來控制視頻的縮放。一般的DES創(chuàng)建的視頻解碼鏈路如下圖:

      在DES中默認的使用的是微軟公司的Resize Filter,它采用的是簡單拉伸的圖像算法,使用該Filter之后可能引起視頻圖像的質(zhì)量損壞。由此,我們可以采用第三方的Filter或是自己定制自己所需要的視頻縮放Filter。一般的Resize Filter都是一個Transform Filter,因此我們在定制Filter的時候必須要繼承CtransforinFilter這個父類,對于CtransfonnFilter的子類我們必須要重載以下五個純虛函數(shù):CheckInputType、CheckTransform、DecideBufferSize、GetMediaType、Transform。通過CheckInputType來檢查本Filter的輸入媒體是否合法,CheckTransform來檢查開發(fā)的filter的輸出是否和合法,通過GetMediaType來獲取該輸出端口支持的媒體格式供下游filter的枚舉,通過DecideBufferSize來確定buffer的數(shù)量和大小。而上游Filter傳過來的sample,我們可以繼承CTransformFilter::Transform方法來處理該sample的相關(guān)數(shù)據(jù)。大體流程如下:

      3 結(jié)束語

      在日常生活中各種我們可以獲得各種視頻資源,它們作為一種信息的傳播載體在信息的傳播中發(fā)揮了越來越重要的作用,但是不能否認的是從視頻資源中獲取我們所需的信息需要更多的時間更多的心思,因此個人視頻編輯越來越重要,如何將手中的視頻資源進行編輯(剪切,縮放等)就越來越重要。本文中提出的3種基于Directshow的視頻縮放的處理方案基本上可以解決日常個人視頻縮放處理所需,當然論文中也有很多不足之處,尤其是自己定制Filter中視頻縮放的算法只是一種高效的算法,可能還有更多更高效的算法,因此對于視頻縮放的方法還有待優(yōu)化和提高,作者也將繼續(xù)研究更加高效的方法以實現(xiàn)真正的適合于個人PC機上的視頻處理方案。

      猜你喜歡
      視頻文件剪切圖像
      改進的LapSRN遙感圖像超分辨重建
      流媒體視頻文件相似性識別的方法
      隨心定制視頻文件的縮略圖
      電腦報(2021年23期)2021-07-23 17:36:18
      有趣的圖像詩
      寬厚板剪切線控制系統(tǒng)改進
      山東冶金(2018年5期)2018-11-22 05:12:46
      混凝土短梁斜向開裂后的有效剪切剛度與變形
      土-混凝土接觸面剪切破壞模式分析
      Xanomeline新型衍生物SBG-PK-014促進APPsw的α-剪切
      遙感圖像幾何糾正中GCP選取
      視頻網(wǎng)格中自適應熱度變化的條塊化存儲
      無線電工程(2013年1期)2013-09-19 10:18:18
      平原县| 右玉县| 雷波县| 吴堡县| 辛集市| 奉新县| 依兰县| 大余县| 安宁市| 兴海县| 沐川县| 石棉县| 临泽县| 米脂县| 达日县| 峨眉山市| 松滋市| 旺苍县| 大理市| 安顺市| 灌云县| 霍林郭勒市| 东辽县| 山西省| 行唐县| 合作市| 台山市| 宝应县| 鹿泉市| 绩溪县| 九江县| 鹤岗市| 寻乌县| 平泉县| 肃宁县| 安阳市| 德庆县| 澎湖县| 杭锦后旗| 句容市| 乐陵市|