TW201923703A - 圖像硬體編碼處理方法和裝置 - Google Patents
圖像硬體編碼處理方法和裝置 Download PDFInfo
- Publication number
- TW201923703A TW201923703A TW107128179A TW107128179A TW201923703A TW 201923703 A TW201923703 A TW 201923703A TW 107128179 A TW107128179 A TW 107128179A TW 107128179 A TW107128179 A TW 107128179A TW 201923703 A TW201923703 A TW 201923703A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- image data
- hardware
- data
- processing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
本申請實施例提供了一種圖像硬體編碼處理方法和裝置,該方法包括:獲取圖像資料;至少根據配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理;所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一;將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。在本發明實施例提出的圖像硬體編碼處理方法中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理至少其中之一的操作,可以提供多種尺寸、格式圖像資料,在框架層內轉換為硬體能夠處理的資料形式,供硬體編碼;避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。
Description
本申請涉及資料處理技術領域,特別是涉及一種圖像硬體編碼處理方法和裝置。
針對圖像的編碼,是利用圖像壓縮標準,將圖像進行編碼壓縮的行為。以JPEG圖像為例,JPEG是一個國際圖像壓縮標準,JPEG圖像壓縮演算法能夠在提供良好的壓縮性能的同時,具有比較好的重建品質,被廣泛應用於圖像、視頻處理領域。 圖像編碼壓縮可以通過軟體編碼,也可以通過硬體編碼實現。硬體編碼一般使用專屬晶片,性能和功耗都優於軟體編碼,尤其是硬體編碼的速度優勢,是大尺寸圖像選擇硬體編碼最主要原因。 在電子裝置中,存在底層的硬體層、中間的框架層(Framework)和上層的應用程式層。例如在操作系統中,底層包括相機(camera)硬體裝置等;中間層的Framework框架層包括camera Framework的應用輸入圖像硬編碼模組等;上層應用程式包括camera應用。在硬體編碼中,需要將圖像資料從上層應用程式(例如camera應用)傳遞到底層(例如硬體模組)。 現有的方案中,底層硬體不能靈活地處理圖像編碼。例如,由於底層硬體僅能識別特定格式的圖像資料,導致應用程式層只能提供固定格式的圖像資料。如果是應用程式從外部獲得的其他格式的資料,該應用程式需要進行轉換格式,再調用系統介面進行處理,而後再發送至底層硬體進行編碼。再例如,當使用者希望在硬體編碼之前對圖像資料進行演算法處理——如降噪、變焦等,必須將圖像資料返回應用程式層進行處理,否則無法進行處理。因此,底層硬體不能靈活地處理圖像編碼將會導致底層硬體和上層應用程式之間發生多次資料交互,影響了編碼效率。
本發明的目的之一在於提出一種圖像硬體編碼處理方法和處理裝置,以解決現有技術存在的底層硬體不能靈活地處理圖像編碼導致影響編碼效率的問題。 為了解決上述問題,本申請實施例公開了一種圖像硬體編碼處理方法,包括: 獲取圖像資料; 至少根據所述配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 本申請實施例還公開了一種圖像硬體編碼處理裝置,應用於電子裝置的操作系統,所述裝置包括: 圖像資料獲取模組,用於獲取圖像資料; 資料處理模組,用於至少根據所述配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 發送模組,用於將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 本申請實施例還公開了一種終端設備,包括:一個或多個處理器;和其上儲存有指令的一個或多個機器可讀介質,當由所述一個或多個處理器執行時,使得所述終端設備執行如本申請實施例中一個或多個所述的方法。 本申請實施例還公開了一個或多個機器可讀介質,其上儲存有指令,當由一個或多個處理器執行時,使得終端設備執行如本申請實施例中一個或多個所述的方法。 與現有技術相比,本申請實施例提出的圖像硬體編碼處理裝置至少包括以下優點: 在本發明實施例提出的圖像硬體編碼處理方法中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理至少其中之一的操作,可以提供多種尺寸、格式圖像資料,在框架層內轉換為硬體能夠處理的資料形式,供硬體編碼;或者在框架層內對圖像資料進行演算法處理這樣的操作增加了可以提供的圖像資料的形式,避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。
為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本申請作進一步詳細的說明。 圖1是本申請一實施例的示意圖,體現了本發明的構思。如上所述,從資料傳輸和功能實現的角度來看,電子裝置中存在底層的硬體層、中間的框架層和上層的應用程式層。前述和後述的框架層(Framework),是指操作系統中應用程式與底層硬體之間的架構,提供了軟體發展的框架,使開發更具工程性、簡便性和穩定性。如圖1所示,以應用程式11指代應用程式層中的多種應用程式,應用程式11通過框架層12提供的介面與框架層12進行資料交互。以硬體13指代硬體層中的多種硬體,硬體13也通過框架層12提供的介面與框架層12進行資料交互。此外應用程式11與硬體13也存在資料交互,不再贅述。 配置資訊14中攜帶了各種指令,例如針對圖像資料的格式轉換指令、尺寸轉換指令、演算法處理指示等。同時,配置資訊14中還攜帶有硬體編碼指令,該硬體編制指令供硬體編碼使用。在框架層12獲得配置資訊14和圖像資料15之後,框架層12可以利用配置資訊14中的各種指令,針對圖像資料15進行格式轉換、演算法處理、尺寸轉換等資料處理,在資料處理之後再發送至硬體13,根據硬體編碼指令進行編碼。如此一來,所提供的圖像資料15可以是多種格式、尺寸的資料,避免了現有技術的局限性,使得圖像硬體編碼處理更加靈活。 以下通過多個實施例具體進行說明。 第一實施例 圖2所示為本發明一實施例的圖像硬體編碼處理方法的流程圖,圖3是該方法的一種可實施的模組結構示意圖。圖4是該方法的另一種可實施的模組結構示意圖。結合圖2、圖3和圖4進行說明。該方法可以應用於電子裝置的操作系統,電子裝置例如為手機、電腦、伺服器等。上述圖像硬體編碼處理方法可以包括如下步驟。 S102,獲取圖像資料。在這一步驟中,圖像資料可以是應用程式提供的,也可以是通過其他途徑獲取,例如可以根據配置資訊中的圖像資料的提取位址提取到的圖像資料,以下分別進行說明。 在第一種情況下,結合圖3所示,圖像資料14和配置資訊15均由應用程式11提供。二者可以同時提供,也可以先後提供,本發明並不限制。即,步驟S101和步驟S102在這種情況下可以同時或者先後執行,本發明並不限定其順序。在向框架層12提供資訊之後,可以根據圖像資料14創建輸入,如編號121所示,把外部輸入的資料封裝為框架層的輸入資料結構;再根據發送至框架層12的配置資訊122對圖像資料15進行處理,例如上述的尺寸轉換、格式轉換、演算法處理等,如編號124所示。在執行演算法處理時,可以調用框架層中嵌入的演算法庫123。在處理之後,可以生成輸入硬體的圖像資料125。 此外,在可選實施例中,發送至框架層中的配置資訊15中還可以具有記憶體申請指令。記憶體申請指令可以用於申請記憶體緩存區,供儲存硬體編碼後的圖像資料儲存。因此,在框架層12中可以根據配置資訊122輸出記憶體配置126,當編碼後的圖像資料從硬體13返回框架層時,可以利用輸出緩存佇列127開闢記憶體緩存區,以儲存所述硬體編碼後的圖像資料。 在第二種情況下,結合圖4所示,可以通過應用程式11提供的配置資訊15,獲得提取圖像資料的位址,圖像資料的提取位址可以為圖像資料儲存的記憶體位址。圖像資料14可以由圖像訊號處理器(ISP,image signal processor)16提供。圖像訊號處理器16為硬體層中的硬體,所提供的圖像資料14可以如圖4為多路圖像,或者為一路圖像資料。在提供多路圖像資料之後,可以利用選擇器129對圖像資料進行選擇,或者不使用選擇器,直接用多路數據創建輸入。在此並不限制。 在圖3和圖4中,配置資訊122的主要配置資訊來自於配置資訊15,但是配置資訊122也包含框架層內部自身的一些狀態資訊,即將應用程式設置的配置資訊15轉換為框架層14可理解的配置資訊122,因此以不同的編號標識。 進一步地,配置資訊14中還可以包括拍照指令和拍照參數。該拍照指令可以驅動底層的相機硬體進行拍照。在步驟S102獲取圖像資訊的步驟之前,該方法還可以包括根據拍照指令驅動相機拍照的步驟。拍照參數包括拍攝幀數、圖像參數、合成圖像幀數、合成圖像資料選擇至少其中之一。拍攝獲得的原始圖像資料可以由硬體層中的圖像訊號處理器輸出的,在拍照完成之後可以根據上述的提取位址,從圖像訊號處理器輸出的記憶體位址提取拍攝的圖像資料。在可選實施例中,如果拍照參數中的拍攝幀數為多幀,對應的圖像參數可以為每一幀對應的圖像參數。圖像參數例如包括每次拍照的尺寸、格式、縮放倍率等。 S103,至少根據所述配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 在這一步驟中,可以根據配置資訊中的各種指令,在框架層中對圖像資料進行相應的處理。 如上述,配置資訊可以是由應用程式提供的,也可以是通過其他方式獲取的。在一實施例中,當需要針對圖像資料進行編碼時,電子裝置的應用程式層(App層)中的應用程式可以提供配置資訊(configuration)至電子裝置的框架層(Framework層)。如上所述,框架層和應用程式層之間具有資料介面,當應用程式層中的某一個應用程式提供資料至框架層中的某一模組時,可以通過該資料介面提供資料,並指定該模組接收。舉例來說,“相機”這一操作系統的應用程式提供圖像編碼相關的配置資訊,並發送至框架層的資料介面,指定框架層的編碼模組接收。配置資訊包括尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一,這些指令用於調用框架層內相關的處理。此外,配置資訊還可以包括硬體編碼指令,用於硬體編碼,例如包括編碼後圖像尺寸、圖像旋轉角度、圖像壓縮率、輸出圖像幀數、硬體輸入到硬體輸出的格式轉換等至少其中之一,本發明並不特別限制。在上述的各種指令對應的操作中,尺寸轉換即將圖像資料的尺寸轉換為底層硬體需要的特定尺寸。由於硬體是多種多樣的,每個硬體對尺寸對齊的要求可能不同,在此處可以根據硬體的需求,將圖像資料轉換為符合硬體需求的尺寸。 格式轉換即為將原始的圖像資料格式轉換為底層硬體需要的特定格式。例如在一些情況下,如果出於應用程式配置需要,可以將圖像資料轉換為應用程式指定的硬體能力集中的特定格式,譬如,某硬體對格式的要求必須是YUV的NV21格式,所以在此處的格式轉換中,可以將圖像格式轉換為符合硬體需求的格式。 演算法處理是利用嵌入框架層中或者框架層自帶的演算法對圖像資料進行處理,演算法處理例如包括圖示的HDR演算法、數位變焦多幀優化、多幀降噪演算法、全焦處理演算法等。嵌入的演算法可以是外掛程式,在進行了配置之後可以使用。 配置資訊中的各指令可以攜帶有發送的目的模組,因此在框架層中即可根據目標被分發至各模組,例如給演算法庫模組分發演算法選擇資訊、給格式轉換模組分發的轉換資訊、給記憶體模組分發的分配記憶體資訊等。在操作中,可以分別將各個模組的變數初始化為配置指定的資訊,當圖像資料經過這些模組的時候就根據這些初始化的配置資料處理圖像,在此不再贅述。 S104,將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 在這一步驟中,框架層可以將處理後的圖像資料和配置資訊中的硬體編碼指令發送至硬體,利用硬體封裝的編碼程式實現硬體編碼。舉例來說,硬體封裝的編碼程式例如是JPEG硬體編碼程式,在編碼之後生成JPEG格式的圖像。但是本領域技術人員可以明確的是,編碼程式並不限定為JPEG編碼,而是可以覆蓋任何能夠在硬體中實現的編碼方式。 在可選的實施例中,配置資訊還可以包括封裝指令,用於將框架層處理之後的圖像資料與硬體編碼指令封裝,整體發送至硬體進行編碼。出於易用性的目的,圖像資料和硬體編碼指令可以封裝後整體發送,但是本領域技術人員可以明確的是,本發明實施例提出的方案也可以不包括封裝的步驟。 當每一次處理圖像之前均需要獲取配置資訊時,步驟S102,即獲取圖像資料的步驟之前,所述方法還可以包括: S101,獲取圖像硬體編碼的配置資訊; 在這一步驟中,配置資訊可以是由應用程式提供的,也可以是通過其他方式獲取的,例如,根據應用程式提供的位址從伺服器下載,或者由設定的伺服器推送,或者系統預設配置、或者提供設置介面由使用者設置等,在此不再贅述。在一可選實施例中,所述配置資訊包括硬體編碼指令,即步驟S104中的硬體編碼指令可以是從配置資訊中獲得的。同樣地,硬體編碼指令也可以通過其他方式獲取,例如,根據應用程式提供的位址從伺服器下載,或者由設定的伺服器推送,或者系統預設配置、或者提供設置介面由使用者設置等,並不限定於從配置資訊中獲得。 在可選實施例中,在實現硬體編碼後,上述方法還可以包括: S105,儲存所述硬體編碼後的圖像;以及 S106,發送所述硬體編碼後圖像的儲存位址。 在這一步驟中,硬體可以將編碼後的圖像儲存在記憶體緩存區,並將記憶體緩存區的位址發送至框架層,例如,可以發送至框架層與應用程式的資料介面,使得應用程式能夠根據該記憶體緩存區的位址調取編碼後的圖像。 以下通過幾個具體的應用示例,對第一實施例提出的圖像硬體編碼處理方法的應用進行介紹。 在一種情景下,使用者需要對現有的圖片進行格式轉換處理。使用者通過應用程式11提供圖像資料14和配置資訊15。配置資訊15中包含的部分或全部內容可以是由使用者自己定義的,或者是預先設置的。例如,在應用程式的介面,提供若干選項供使用者選擇,這些選項可以包括:選擇範本圖片、從相冊中選擇圖片、拍攝照片等圖片來源的選擇,還可以包括轉換尺寸、轉換格式、演算法處理的指令。使用者的這些選擇在應用程式中生成配置資訊,發送至框架層。結合圖3所示,當需要進行格式轉換時,根據使用者的選擇,應用程式11中的配置資訊15中攜帶了格式轉換指令。在框架層中,利用格式轉換指令處理圖像資料14,處理之後將該圖片和硬體編碼指令一同發送至硬體進行編碼。 在另一種情況下,使用者需要對新拍攝的照片進行HDR演算法處理,即高動態範圍圖像(High-Dynamic Range,簡稱HDR)。HDR演算法例如需要框架層發送多幀拍照原始圖像的請求,每幀圖像的曝光值不同,通過HDR演算法獲得更廣的亮度域圖像,避免過曝或者欠曝。在處理中,結合圖4所示,使用者可以在上述選項中進行選擇,例如選擇“拍照”和“HDR演算法處理”。根據使用者的選擇,應用程式11向框架層發送的配置資訊15中包括拍照指令和HDR演算法處理指示。在框架層中,利用上述指令獲取圖像資料14並處理圖像資料14,處理之後將該圖片和硬體編碼指令一同發送至硬體進行編碼。 由上述可知,本發明實施例提出的圖像硬體編碼處理方法至少具有如下技術效果: 在本發明實施例提出的圖像硬體編碼處理方法中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理等至少其中之一的操作,可以提供多種尺寸、格式圖像資料,在框架層內轉換為硬體能夠處理的資料形式,供硬體編碼;或者在框架層內對圖像資料進行演算法處理。這樣的操作增加了可以提供的圖像資料的形式,避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。 第二實施例 圖5所示為本申請另一實施例的圖像硬體編碼處理方法的流程圖。如圖5所示,本申請實施例提出的圖像硬體編碼處理方法可以包括如下步驟: S202,獲取圖像資料; S203,根據所述配置資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述資料處理包括格式轉換、演算法處理至少其中之一; 上述兩個步驟可以與第一實施例的步驟S102和S103相同或相似,在此不再贅述。 S205,將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 這一步驟可以與第一實施例的步驟S103相同,在此不再贅述。 圖6所示為圖5中步驟S202的子步驟的流程圖。如圖6所示,在本實施例中,步驟S02的圖像資料可以是應用程式提供的,也可以是根據配置資訊中的提取指令,從儲存區域——例如記憶體中調用的。例如,步驟S202即獲取圖像資料的步驟可以包括如下子步驟: S202b,從所述配置資訊中獲取圖像資料的提取位址;以及 S202c,從所述提取位址中提取圖像資料。 在上述兩個步驟中,例如儘管應用程式未提供圖像資料,但是提供從特定的儲存位址獲得圖像資料的提取位址,在框架層中可以根據該提取位址,從儲存區域(例如記憶體)中提取圖像資料進行處理。 在本實施例中,在上述步驟S202b中,所述圖像資料的提取位址可以為在框架層內的相機資料的位址,結合圖4所示,圖像資料14可以由圖像訊號處理器(ISP,image signal processor)16提供。圖像訊號處理器16為硬體層中的硬體,其輸出的圖像資料的位址即可以作為圖像資料的提取位址,以利於框架層從該位址提取圖像資料。 在本實施例中,步驟S202c中獲取的圖像資料可以為多路圖像資料,則步驟S202即獲取圖像資料的步驟還可以包括: S202d,從所述多路圖像資料中選擇至少一路圖像資料。 在這一步驟中,根據圖4所示,所提供的圖像資料14可以是從硬體層的圖像訊號處理器輸出的資料,該資料可以為多路。在提供多路圖像資料之後,可以利用選擇器129對圖像資料進行選擇,或者不使用選擇器,直接用多路數據創建輸入。在此並不限制。 在實際應用中,底層的相機硬體在正常情況下都是多路數據同時輸出,在此選擇多路數據中的其中一路,每一路資料經過的處理都不一樣,可以按需進行選擇。例如,多路數據主要包含預覽資料、回檔資料、拍照資料流程、還有可能包含錄影資料。這些資料大小格式都可以不一樣,經過的圖像訊號處理演算法處理也不一樣,視場角也可能不一樣,選擇的時候可以由應用程式層指定這些資料的索引來選擇,也可以由應用程式指定需要什麼條件的圖像。例如轉換需要用大尺寸圖像,相機的資料索引為:預覽1,拍照2,回檔3; 此時配置資訊指定需要索引 2的資料,框架層就會去相機系統提取拍照2的資料,或者應用指定用相機資料中尺寸最大的資料。根據選擇條件,可以自動比較不同資料的圖像尺寸,選擇最大的,比如拍照2的資料作為輸入源,這裡的選擇條件就是“尺寸”。選擇條件也可以是其他圖像參數,例如變焦倍率,格式等,在此不再贅述。 在本實施例中,所述配置資訊還包括拍照指令和拍照參數,從所述配置資訊中獲取圖像資料的提取位址的步驟之前,所述獲取圖像資料的步驟包括: S202a,根據拍照指令和拍照參數驅動相機拍照。 所述拍照參數例如可以包括拍攝幀數、圖像參數、合成圖像幀數、合成圖像資料源選擇至少其中之一。 圖像參數例如可以為圖像的尺寸,當需要使用若干幀圖像合成一幀時,可以在拍照參數中定義合成圖像的幀數。當需要使用一幀主要的圖片結合其他圖片合成圖像時,可以定義合成圖像資料源選擇方式,例如選擇最高解析度的圖像作為主要圖片,或者選擇最其中固定的一路拍攝到的圖像資料。 在本實施例中,在步驟S205,即將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼的步驟之後,所述方法還可以包括: S206,儲存所述硬體編碼後的圖像;以及 S208,發所述硬體送編碼後圖像的儲存位址。 上述步驟分別與第一實施例中的步驟S105和S106相同,在此不再贅述。 在本實施例中,還可以根據記憶體申請指令,為編碼後的圖像申請記憶體。記憶體申請指令例如是從編碼資訊中獲得的,或是從其他途徑獲得,並不特別限制。 在一實施例中,所述配置資訊中還包括記憶體申請指令,所述方法還可以包括: S204,根據記憶體申請指令提供記憶體緩存區,供儲存所述硬體編碼後的圖像; 則,步驟S206,即所述儲存所述硬體編碼後的圖像的步驟包括: 將編碼後的圖像儲存至所述記憶體緩存區。 值得注意的是,上述步驟S204和步驟S205的執行沒有順序關係,即步驟S204可以先於、後於或者與步驟S205同時執行,本發明並不特別限制。 在步驟S204中,可以在配置資訊中攜帶記憶體申請指令,在框架層中根據該指令提供記憶體緩存區。該記憶體緩存區用於儲存編碼後的圖像。該記憶體緩存區的大小可以由使用者定義,例如其可以設置為儲存一幀或多幀編碼後的圖像資料。在現有技術中,圖像資料直接從應用程式發送至底層硬體層進行編碼處理,為編碼後的圖像預留的記憶體緩存區是固定不變的。然而在本發明的方案中,通過框架層可以直接配置記憶體緩存區,當所需要處理的圖像資料為多幀圖片時,記憶體緩存區可以有足夠的空間緩存多幀圖片,為多幀圖片同時處理提供了基礎。 在本實施例中,所述演算法處理處理指示對應的演算法例如包括:HDR演算法、數位變焦多幀優化、多幀降噪演算法、全焦處理演算法至少其中一者。 HDR演算法,舉例來說需要框架層發送多幀拍照原始圖像的請求(yuv或者rgb格式輸出),每幀圖像的曝光值不同,通過HDR演算法獲得更廣的亮度域圖像,避免過曝或者欠曝,其他的步驟和普通拍照相同。 多幀降噪演算法,舉例來說是在暗光條件沒有開啟閃光燈的情況下觸發,即拍攝多幀一樣參數的照片來合成,提高暗光下的亮度和減少噪點,最後合成為一幀照片,其他和普通拍照相同。 全焦處理演算法,舉例來說是框架層下發多次拍照命令(yuv或rgb格式輸出),每次拍照命令的焦距參數不同,對焦距離不同,從而合成一幀全景深都清晰的圖像。 數位變焦多幀優化演算法,舉例來說,配置資訊配置拍攝兩幀照片的請求,一幀放大N倍變焦放大,一幀正常不放大,然後選取框架層的演算法庫中的數位變焦多幀優化演算法對兩幀合成來優化最後變焦的效果,最後可以輸出一幀優化後的圖片,或者輸出未做優化的一幀N倍放大的(只用請求拍照的其中一幀N倍放大的原始圖)和優化後的N倍放大的作為輸出。 在一實施例中,所述硬體編碼指令包括:編碼後圖像尺寸、圖像旋轉角度、圖像壓縮率、輸出圖像幀數至少其中之一。 在一實施例中,步驟S206,即儲存所述硬體編碼後的圖像之後,所述方法還包括: S207,將多個硬體編碼後的圖像儲存至連續的儲存位址。 由於硬體可以同時處理多個圖像資料,每個處理後圖像資料的儲存位址可能是不同的,即記憶體位址不連續。在這一步驟中,可以通過記憶體拼接的方式,即將一段記憶體的資料拷貝到另一段資料的結束位址,使二者位址連續。後續應用程式可以從起始位址連續讀取,獲取合成後的編碼圖像。 在一實施例中,在步驟S203和步驟S205之間,即進行資料處理和發送至硬體進行編碼的步驟之間,該方法還可以包括: 封裝所述圖像資料和硬體編碼指令。 在這一步驟中,可以將應用程式傳送的或者在框架層中其他模組中獲得的圖像資料和硬體編碼指令封裝為底層硬體能夠識別的圖像資料傳送至底層硬體。 由上述可知,本發明實施例提出的圖像硬體編碼處理方法至少具有如下技術效果: 在本發明實施例提出的圖像硬體編碼處理方法中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理等至少其中之一的操作,可以提供多種尺寸、格式圖像資料,在框架層內轉換為硬體能夠處理的資料形式,供硬體編碼;或者在框架層內對圖像資料進行演算法處理。這樣的操作增加了可以提供的圖像資料的形式,避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。 除了上述效果之外,本發明實施例提出的圖像硬體編碼處理方法進一步還具有如下技術效果: 在本發明提供的圖像硬體編碼處理方法中,在應用程式層不需要資料在自身進行處理時,可以要求框架層自行獲取圖像資料,例如可以通過相機系統的相機資料的儲存位址獲取圖像資料。避免了跨層的資料傳輸和通訊同步開銷,提升了性能和不必要的應用開發工作。 另外,框架層中可以設置資料處理的多種功能模組,在本發明實施例提供的方案中,可以在應用程式中通過選項的方式選擇其中一部分進行處理。例如使用者可以通過選項選擇是否開啟HDR演算法處理。對於其他例如封裝等處理,可以不提供選項,而由框架層自動處理。 再者,本發明提供的圖像硬體編碼處理方法可以在框架層建立演算法通道,進行影像處理。例如,框架層能夠訪問相機的資料,進而可以緩存該資料,在框架層進行處理,實現零延遲拍照效果。在應用中可以在框架層中設置不同的演算法,對應地在應用程式設置不同的演算法處理選項。例如,由應用程式指定的不同曝光度的圖像生成HDR圖像、由應用程式指定不同清晰度的圖像合成最高清晰度的圖像等,避免了底層硬體由於編碼單一性導致的提供圖像的限制性,增加了應用程式的功能。 需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請實施例並不受所描述的動作順序的限制,因為依據本申請實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作並不一定是本申請實施例所必須的。 第三實施例 圖7所示為本申請一實施例的圖像硬體編碼處理裝置的結構方塊圖。如圖7所示,本申請實施例提出的圖像硬體編碼處理裝置可以包括: 圖像資料獲取模組502,用於獲取圖像資料; 資料處理模組503,用於至少根據配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 發送模組504,用於將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 由上述可知,本發明實施例提出的圖像硬體編碼處理裝置至少具有如下技術效果: 在本發明實施例提出的圖像硬體編碼處理裝置中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理等操作,應用程式可以提供多種格式圖像資料,在框架層內轉換為硬體能夠處理的格式資料,供硬體編碼。這樣的操作避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。 第四實施例 圖8所示為本申請另一實施例的圖像硬體編碼處理裝置的流程圖。如圖8所示,本申請實施例提出的圖像硬體編碼處理裝置可以包括: 圖像資料獲取模組602,用於獲取圖像資料; 資料處理模組603,用於至少根據配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 發送模組605,用於將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述圖像資料處理模組用於接收應用程式發送的圖像資料。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述配置資訊還包括圖像資料的提取位址,所述圖像資料獲取模組包括: 位址獲取子模組6022,用於從所述配置資訊中獲取圖像資料的提取位址; 提取子模組6023,用於從所述提取位址中提取圖像資料。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述圖像資料的提取位址為在框架層內的相機資料的儲存位址,所述相機資料包括:從硬體層的圖像訊號處理器輸出的資料。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述圖像資料為多路圖像資料,所述圖像資料獲取模組用於: 選擇模組6024,用於從獲取的多路圖像資料中選擇至少一路圖像資料。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述配置資訊還包括拍照指令和拍照參數,所述圖像資料模組還包括: 拍照子模組6021,用於根據拍照指令和拍照參數驅動相機拍照。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述拍照參數包括包括拍攝幀數和圖像參數,所述拍攝幀數為多幀,所述圖像參數為所述多幀對應的圖像參數。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述裝置還包括: 儲存模組606,用於儲存所述硬體編碼後的圖像;以及 發送模組608,用於發送所述硬體編碼後圖像的儲存位址。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述裝置還包括: 記憶體提供模組604,用於根據記憶體申請指令提供記憶體緩存區,供儲存硬體編碼後的圖像; 所述儲存模組用於將編碼後的圖像儲存至所述記憶體緩存區。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述裝置還包括: 移動模組607,用於將多個編碼後的圖像儲存至連續的儲存位址。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述演算法處理指示對應的演算法包括:HDR演算法、數位變焦多幀優化、多幀降噪演算法、全焦處理演算法至少其中一者。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,所述硬體編碼指令包括:編碼後圖像尺寸、圖像旋轉角度、圖像壓縮率、輸出圖像幀數至少其中之一。 在本發明提出的圖像硬體編碼處理裝置的一實施例中,該裝置還可以包括配置資訊獲取模組,用於獲取配置資訊。上述的硬體編碼指令和/或記憶體申請指令可以儲存在配置資訊中,在操作時從配置資訊中獲得,也可以通過其他方式獲取,例如,根據應用程式提供的位址從伺服器下載,或者由設定的伺服器推送,或者系統預設配置、或者提供設置介面由使用者設置等。 由上述可知,本發明實施例提出的圖像硬體編碼處理裝置至少具有如下技術效果: 在本發明實施例提出的圖像硬體編碼處理方法中,由於框架層能夠處理尺寸轉換、格式轉換、演算法處理等至少其中之一的操作,可以提供多種尺寸、格式圖像資料,在框架層內轉換為硬體能夠處理的資料形式,供硬體編碼;或者在框架層內對圖像資料進行演算法處理。這樣的操作增加了可以提供的圖像資料的形式,避免了現有技術應用程式與底層硬體之間的多次資料交互,提高了編碼的效率,也提高了處理的靈活性。 除了上述效果之外,本發明實施例提出的圖像硬體編碼處理裝置進一步還具有如下技術效果: 在本發明提供的圖像硬體編碼處理裝置中,在應用程式層不需要資料在自身進行處理時,可以要求框架層自行獲取圖像資料,例如可以通過相機系統的儲存位址獲取圖像資料。避免了跨層的資料傳輸和通訊同步開銷,提升了性能和不必要的應用開發工作。 另外,框架層中可以設置資料處理的多種功能,在本發明實施例提供的方案中,可以在應用程式中通過選項的方式選擇其中一部分進行處理。例如使用者可以通過選項選擇是否開啟HDR演算法處理。對於其他例如封裝等處理,可以不提供選項,而由框架層自動處理。 再者,本發明提供的圖像硬體編碼處理裝置可以在框架層建立演算法通道,進行影像處理。例如,框架層能夠訪問相機的資料,進而可以緩存該資料,在框架層進行處理,實現零延遲拍照效果。在應用中可以在框架層中設置不同的演算法,對應地在應用程式設置不同的演算法處理選項。例如,由應用程式指定的不同曝光度的圖像生成HDR圖像、由應用程式指定不同清晰度的圖像合成最高清晰度的圖像等,避免了底層硬體由於編碼單一性導致的提供圖像的限制性,增加了應用程式的功能。 對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 本申請實施例還提供了一個或多個機器可讀介質,其上儲存有指令,當由一個或多個處理器執行時,使得終端設備執行本申請實施例所述的一個或多個圖像硬體編碼處理方法。一種示例的機器可讀介質為非揮發性可讀儲存介質,該儲存介質中儲存有一個或多個模組(programs),該一個或多個模組被應用在終端設備時,可以使得該終端設備執行本申請實施例中各方法步驟的指令(instructions)。 圖9為本申請一實施例提供的終端設備的硬體結構示意圖。如圖9所示,該終端設備可以包括輸入設備90、處理器91、輸出設備92、記憶體93和至少一個通訊匯流排94。通訊匯流排94用於實現元件之間的通訊連接。記憶體93可能包含高速RAM記憶體,也可能還包括非揮發性儲存NVM,例如至少一個磁碟記憶體,記憶體93中可以儲存各種程式,用於完成各種處理功能以及實現本實施例的方法步驟。 可選的,上述處理器91例如可以為中央處理器(Central Processing Unit,簡稱CPU)、應用專用積體電路(ASIC)、數位訊號處理器(DSP)、數位訊號處理設備(DSPD)、可程式設計邏輯裝置(PLD)、現場可程式設計閘陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現,該處理器91通過有線或無線連接耦合到上述輸入設備90和輸出設備92。 可選的,上述輸入設備90可以包括多種輸入設備,例如可以包括面向使用者的使用者介面、面向設備的設備介面、軟體的可程式設計介面、攝像頭、感測器中至少一種。可選的,該面向設備的設備介面可以是用於設備與設備之間進行資料傳輸的有線介面、還可以是用於設備與設備之間進行資料傳輸的硬體插入介面(例如USB介面、串口等);可選的,該面向使用者的使用者介面例如可以是面向使用者的控制按鍵、用於接收語音輸入的語音輸入設備以及使用者接收使用者觸摸輸入的觸摸感知設備(例如具有觸摸感應功能的觸控式螢幕、觸控板等);可選的,上述軟體的可程式設計介面例如可以是供使用者編輯或者修改程式的入口,例如晶片的輸入引腳介面或者輸入介面等;可選的,上述收發信機可以是具有通訊功能的射頻收發晶片、基帶處理晶片以及收發天線等。麥克風等聲音輸入設備可以接收語音資料。輸出設備92可以包括顯示器、音響等輸出設備。 在本實施例中,該終端設備的處理器包括用於執行各設備中資料處理裝置各模組的功能,具體功能和技術效果參照上述實施例即可,此處不再贅述。 圖10為本申請另一實施例提供的終端設備的硬體結構示意圖。圖10是對圖9在實現過程中的一個具體的實施例。如圖10所示,本實施例的終端設備包括處理器101以及記憶體102。 處理器101執行記憶體102所存放的電腦程式代碼,實現上述實施例中圖2至圖5的圖像硬體編碼處理方法。 記憶體102被配置為儲存各種類型的資料以支援在終端設備的操作。這些資料的示例包括用於在終端設備上操作的任何應用程式或方法的指令,例如消息,圖片,視頻等。記憶體102可能包含隨機存取記憶體(random access memory,簡稱RAM),也可能還包括非揮發性記憶體(non-volatile memory),例如至少一個磁碟記憶體。 可選地,處理器101設置在處理組件100中。該終端設備還可以包括:通訊組件103,電源組件104,多媒體組件105,音訊組件106,輸入/輸出介面107和/或感測器組件108。終端設備具體所包含的組件等依據實際需求設定,本實施例對此不作限定。 處理組件100通常控制終端設備的整體操作。處理組件100可以包括一個或多個處理器101來執行指令,以完成上述圖2至圖1方法的全部或部分步驟。此外,處理組件100可以包括一個或多個模組,便於處理組件100和其他組件之間的交互。例如,處理組件100可以包括多媒體模組,以方便多媒體組件105和處理組件100之間的交互。 電源組件104為終端設備的各種組件提供電力。電源組件104可以包括電源管理系統,一個或多個電源,及其他與為終端設備生成、管理和分配電力相關聯的組件。 多媒體組件105包括在終端設備和使用者之間的提供一個輸出介面的顯示幕。在一些實施例中,顯示幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果顯示幕包括觸摸面板,顯示幕可以被實現為觸控式螢幕,以接收來自使用者的輸入訊號。觸摸面板包括一個或多個觸摸感測器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸感測器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續時間和壓力。 音訊組件106被配置為輸出和/或輸入音訊訊號。例如,音訊組件106包括一個麥克風(MIC),當終端設備處於操作模式,如語音辨識模式時,麥克風被配置為接收外部音訊訊號。所接收的音訊訊號可以被進一步儲存在記憶體102或經由通訊組件103發送。在一些實施例中,音訊組件106還包括一個揚聲器,用於輸出音訊訊號。 輸入/輸出介面107為處理組件100和週邊介面模組之間提供介面,上述週邊介面模組可以是點擊輪,按鈕等。這些按鈕可包括但不限於:音量按鈕、啟動按鈕和鎖定按鈕。 感測器組件108包括一個或多個感測器,用於為終端設備提供各個方面的狀態評估。例如,感測器組件108可以檢測到終端設備的打開/關閉狀態,組件的相對定位,使用者與終端設備接觸的存在或不存在。感測器組件108可以包括接近感測器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在,包括檢測使用者與終端設備間的距離。在一些實施例中,該感測器組件108還可以包括攝像頭等。 通訊組件103被配置為便於終端設備和其他設備之間有線或無線方式的通訊。終端設備可以接入基於通訊標準的無線網路,如WiFi,2G或3G,或它們的組合。在一個實施例中,該終端設備中可以包括SIM卡插槽,該SIM卡插槽用於插入SIM卡,使得終端設備可以登錄GPRS網路,通過互聯網與伺服器建立通訊。 由上可知,在圖10實施例中所涉及的通訊組件103、音訊組件106以及輸入/輸出介面107、感測器組件108均可以作為圖9實施例中的輸入設備的實現方式。 本申請實施例提供了一種終端設備,包括:一個或多個處理器;和其上儲存有指令的一個或多個機器可讀介質,當由所述一個或多個處理器執行時,使得所述終端設備執行如本申請實施例中一個或多個所述的圖像硬體編碼處理方法。 本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。 本領域內的技術人員應明白,本申請實施例的實施例可提供為方法、裝置、或電腦程式產品。因此,本申請實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 在一個典型的配置中,所述電腦設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括非持續性的電腦可讀媒體(transitory media),如調製的資料訊號和載波。 本申請實施例是參照根據本申請實施例的方法、終端設備(系統)、和電腦程式產品的流程圖和/或方方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方方塊圖中的每一流程和/或方框、以及流程圖和/或方方塊圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理終端設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方方塊圖一個方框或多個方框中指定的功能的裝置。 這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理終端設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方方塊圖一個方框或多個方框中指定的功能。 這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理終端設備上,使得在電腦或其他可程式設計終端設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方方塊圖一個方框或多個方框中指定的功能的步驟。 儘管已描述了本申請實施例的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括優選實施例以及落入本申請實施例範圍的所有變更和修改。 最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。 以上對本申請所提供的一種圖像硬體編碼處理方法和裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
11‧‧‧應用程式
12‧‧‧框架層
13‧‧‧硬體
14、125‧‧‧圖像資料
15‧‧‧配置資訊
16‧‧‧圖像訊號處理器
121、124‧‧‧編號
122‧‧‧配置資訊
123‧‧‧演算法庫
126‧‧‧輸出記憶體配置
127‧‧‧輸出緩存佇列
129‧‧‧選擇器
502‧‧‧圖像資料獲取模組
503‧‧‧資料處理模組
504‧‧‧發送模組
602‧‧‧圖像資料獲取模組
603‧‧‧資料處理模組
604‧‧‧記憶體提供模組
605‧‧‧發送模組
606‧‧‧儲存模組
607‧‧‧移動模組
608‧‧‧發送模組
6021‧‧‧拍照子模組
6022‧‧‧位址獲取子模組
6023‧‧‧提取子模組
6024‧‧‧選擇模組
90‧‧‧輸入設備
91‧‧‧處理器
92‧‧‧輸出設備
93‧‧‧記憶體
94‧‧‧通訊匯流排
100‧‧‧處理組件
101‧‧‧處理器
102‧‧‧記憶體
103‧‧‧通訊組件
104‧‧‧電源組件
105‧‧‧多媒體組件
106‧‧‧音訊組件
107‧‧‧輸入/輸出介面
108‧‧‧感測器組件
圖1是本申請一實施例的示意圖。 圖2所示為本申請一實施例的圖像硬體編碼處理方法的流程圖。 圖3所示為該方法的一種可實施的模組結構示意圖。 圖4所示為該方法的另一種可實施的模組結構示意圖。 圖5所示為本申請另一實施例的圖像硬體編碼處理方法的流程圖。 圖6所示為圖5中步驟S202的子步驟的流程圖。 圖7是本申請圖像硬體編碼處理裝置的一實施例結構方塊圖; 圖8是本申請圖像硬體編碼處理裝置的另一實施例的結構方塊圖; 圖9是本申請一實施例提供的終端設備的硬體結構示意圖; 圖10是本申請另一實施例提供的終端設備的硬體結構示意圖。
Claims (26)
- 一種圖像硬體編碼處理方法,所述方法包括: 獲取圖像資料; 至少根據配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理;所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。
- 如申請專利範圍第1項所述的方法,其中所述獲取圖像資料的步驟包括: 接收應用程式發送的圖像資料。
- 如申請專利範圍第1項所述的方法,其中所述配置資訊還包括圖像資料的提取位址,所述獲取圖像資料的步驟包括: 從所述配置資訊中獲取圖像資料的提取位址; 從所述提取位址中提取圖像資料。
- 如申請專利範圍第3項所述的方法,其中所述圖像資料的提取位址為在框架層內的相機資料的儲存位址,所述相機資料包括:從硬體層的圖像訊號處理器輸出的資料。
- 如申請專利範圍第3項所述的方法,其中所述圖像資料為多路圖像資料,所述獲取圖像資料的步驟包括: 從獲取的多路圖像資料中選擇至少一路圖像資料。
- 如申請專利範圍第3項所述的方法,其中所述配置資訊還包括拍照指令和拍照參數,從所述配置資訊中獲取圖像資料的提取位址的步驟之前,還包括: 根據拍照指令和拍照參數驅動相機拍照。
- 如申請專利範圍第6項所述的方法,其中所述拍照參數包括拍攝幀數和圖像參數。
- 如申請專利範圍第1項所述的方法,其中所述將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼的步驟之後,所述方法還包括: 儲存所述硬體編碼後的圖像;以及 發送所述硬體編碼後圖像的儲存位址。
- 如申請專利範圍第8項所述的方法,其中所述方法還包括: 根據記憶體申請指令提供記憶體緩存區,供儲存所述硬體編碼後的圖像; 所述儲存所述硬體編碼後的圖像的步驟包括: 將所述硬體編碼後的圖像儲存至所述記憶體緩存區。
- 如申請專利範圍第8項所述的方法,其中所述將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼的步驟之後,所述方法還包括: 將多個編碼後的圖像儲存至連續的儲存位址。
- 如申請專利範圍第1項所述的方法,其中所述演算法處理處理指示對應的演算法包括: HDR演算法、數位變焦多幀優化、多幀降噪演算法、全焦處理演算法至少其中一者。
- 如申請專利範圍第1項所述的方法,其中所述硬體編碼指令包括:編碼後圖像尺寸、圖像旋轉角度、圖像壓縮率、輸出圖像幀數至少其中之一。
- 一種圖像硬體編碼處理裝置,所述裝置包括: 圖像資料獲取模組,用於獲取圖像資料; 資料處理模組,用於至少根據所述配置資訊的部分資訊,在操作系統的框架層對所述圖像資料進行資料處理,所述配置資訊包括:尺寸轉換指令、格式轉換指令和演算法處理指示至少其中之一; 發送模組,用於將資料處理後的圖像資料和硬體編碼指令發送至硬體進行編碼。
- 如申請專利範圍第13項所述的裝置,其中所述圖像資料處理模組用於接收應用程式發送的圖像資料。
- 如申請專利範圍第13項所述的裝置,其中所述配置資訊還包括圖像資料的提取位址,所述圖像資料獲取模組包括: 位址獲取子模組,用於從所述配置資訊中獲取圖像資料的提取位址; 提取子模組,用於從所述提取位址中提取圖像資料。
- 如申請專利範圍第15項所述的裝置,其中所述圖像資料的提取位址為在框架層內的相機資料的儲存位址,所述相機資料包括:從硬體層的圖像訊號處理器輸出的資料。
- 如申請專利範圍第15項所述的裝置,其中所述圖像資料為多路圖像資料,所述圖像資料獲取模組用於: 選擇模組,用於從獲取的多路圖像資料中選擇至少一路圖像資料。
- 如申請專利範圍第15項所述的裝置,其中所述配置資訊還包括拍照指令和拍照參數,所述圖像資料模組還包括: 拍照子模組,用於根據拍照指令和拍照參數驅動相機拍照。
- 如申請專利範圍第18項所述的裝置,其中所述拍照參數包括拍攝幀數和圖像參數。
- 如申請專利範圍第13項所述的裝置,其中所述裝置還包括: 儲存模組,用於儲存所述硬體編碼後的圖像;以及 發送模組,用於發送所述硬體編碼後圖像的儲存位址。
- 如申請專利範圍第20項所述的裝置,其中所述裝置還包括: 記憶體提供模組,用於根據記憶體申請指令提供記憶體緩存區,供儲存所述硬體編碼後的圖像; 所述儲存模組用於將編碼後的圖像儲存至所述記憶體緩存區。
- 如申請專利範圍第20項所述的裝置,其中所述裝置還包括: 移動模組,用於將多個編碼後的圖像儲存至連續的儲存位址。
- 如申請專利範圍第13項所述的裝置,其中所述演算法處理指示對應的演算法包括:HDR演算法、數位變焦多幀優化、多幀降噪演算法、全焦處理演算法至少其中一者。
- 如申請專利範圍第13項所述的裝置,其中所述硬體編碼指令包括:編碼後圖像尺寸、圖像旋轉角度、圖像壓縮率、輸出圖像幀數至少其中之一。
- 一種終端設備,其包括: 一個或多個處理器;和 其上儲存有指令的一個或多個機器可讀介質,當由所述一個或多個處理器執行時,使得所述終端設備執行如申請專利範圍第1-12項中一個或多個所述的方法。
- 一個或多個機器可讀介質,其上儲存有指令,當由一個或多個處理器執行時,使得終端設備執行如申請專利範圍第1-12項中一個或多個所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201710952763.X | 2017-10-13 | ||
CN201710952763.XA CN109672884B (zh) | 2017-10-13 | 2017-10-13 | 图像硬件编码处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201923703A true TW201923703A (zh) | 2019-06-16 |
Family
ID=66100371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107128179A TW201923703A (zh) | 2017-10-13 | 2018-08-13 | 圖像硬體編碼處理方法和裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109672884B (zh) |
TW (1) | TW201923703A (zh) |
WO (1) | WO2019072140A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019484B (zh) * | 2019-05-31 | 2024-06-07 | 阿里巴巴集团控股有限公司 | 获取音源数据的方法及相关设备 |
CN113554718B (zh) * | 2020-04-24 | 2023-04-28 | Oppo(重庆)智能科技有限公司 | 图像编码方法、存储介质和电子设备 |
CN111447439B (zh) * | 2020-05-18 | 2022-08-09 | Oppo(重庆)智能科技有限公司 | 图像编码方法、图像编码装置及移动终端 |
CN111447370B (zh) * | 2020-05-19 | 2021-07-27 | Oppo广东移动通信有限公司 | 摄像头访问方法、访问装置、终端设备及可读存储介质 |
CN111930641A (zh) * | 2020-07-28 | 2020-11-13 | 展讯通信(天津)有限公司 | 一种图像数据处理方法及智能设备 |
CN112188034A (zh) * | 2020-09-29 | 2021-01-05 | 北京小米移动软件有限公司 | 一种图像处理方法、装置、终端设备及介质 |
CN115706849B (zh) * | 2021-08-05 | 2024-01-30 | 北京小米移动软件有限公司 | 相机软件架构、平台和终端设备 |
CN116389898B (zh) * | 2023-02-27 | 2024-03-19 | 荣耀终端有限公司 | 图像处理方法、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7549154B2 (en) * | 2004-11-23 | 2009-06-16 | Microsoft Corporation | Extensible architecture for auxiliary displays |
US8369564B2 (en) * | 2009-06-30 | 2013-02-05 | Apple Inc. | Automatic generation and use of region of interest and domain of definition functions |
CN102609302B (zh) * | 2012-01-17 | 2014-06-11 | 中兴通讯股份有限公司 | 一种多媒体应用的并发管理方法和装置 |
US20140328402A1 (en) * | 2013-05-06 | 2014-11-06 | Nvidia Corporation | Efficient initialization of a reference frame of a bi-predicted/predicted video frame during decoding thereof |
CN104702909B (zh) * | 2014-04-17 | 2018-11-06 | 杭州海康威视数字技术股份有限公司 | 视频数据的处理方法及装置 |
CN106657757B (zh) * | 2015-11-04 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种相机应用的图像预览方法、装置及相机应用系统 |
CN105338249A (zh) * | 2015-11-24 | 2016-02-17 | 努比亚技术有限公司 | 基于独立相机系统进行拍摄方法及移动终端 |
CN106454186A (zh) * | 2016-11-02 | 2017-02-22 | 深圳瑞芯通智能科技有限公司 | 基于安卓系统的多路视频录制及平台交互的方法及装置 |
CN106873932B (zh) * | 2017-02-17 | 2020-03-03 | 浙江大学 | 一种Android系统服务端、远程桌面图像重定向方法及系统 |
-
2017
- 2017-10-13 CN CN201710952763.XA patent/CN109672884B/zh active Active
-
2018
- 2018-08-13 TW TW107128179A patent/TW201923703A/zh unknown
- 2018-10-08 WO PCT/CN2018/109280 patent/WO2019072140A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN109672884A (zh) | 2019-04-23 |
WO2019072140A1 (zh) | 2019-04-18 |
CN109672884B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201923703A (zh) | 圖像硬體編碼處理方法和裝置 | |
US11880628B2 (en) | Screen mirroring display method and electronic device | |
JP7238115B2 (ja) | 写真撮影シナリオおよび電子デバイスで画像を表示するための方法 | |
JP7474333B2 (ja) | クロスデバイス・タスク処理、電子デバイス及び記憶媒体のための対話方法 | |
EP3685345B1 (en) | Fully extensible camera processing pipeline interface | |
CN111246050B (zh) | 用于视频数据处理的系统、装置和方法 | |
JP2023511581A (ja) | 長焦点撮影方法及び電子デバイス | |
JP2022523989A (ja) | Uiコンポーネントを表示するための方法及び電子デバイス | |
US20220210308A1 (en) | Image processing method and electronic apparatus | |
US20230306929A1 (en) | Display control method, apparatus, and storage medium | |
KR101949832B1 (ko) | 사진 디스플레이 방법, 장치 및 단말 장치 | |
WO2022143077A1 (zh) | 一种拍摄方法、系统及电子设备 | |
US20230353862A1 (en) | Image capture method, graphic user interface, and electronic device | |
CN115689963B (zh) | 一种图像处理方法及电子设备 | |
WO2023160295A1 (zh) | 视频处理方法和装置 | |
EP4310663A1 (en) | Method for adjusting screen projection display parameters | |
WO2023071482A1 (zh) | 视频编辑方法和电子设备 | |
WO2023005900A1 (zh) | 一种投屏方法、电子设备及系统 | |
WO2023016014A1 (zh) | 视频编辑方法和电子设备 | |
WO2023160230A1 (zh) | 一种拍摄方法及相关设备 | |
WO2022061723A1 (zh) | 一种图像处理方法、设备、终端及存储介质 | |
TWI723119B (zh) | 相機應用的圖像預覽方法、裝置及相機應用系統 | |
WO2024022307A1 (zh) | 一种投屏方法及电子设备 | |
WO2023169237A1 (zh) | 一种截屏方法、电子设备及系统 | |
WO2022206600A1 (zh) | 一种投屏方法、系统及相关装置 |