TW201507440A - 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器 - Google Patents

用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器 Download PDF

Info

Publication number
TW201507440A
TW201507440A TW103117927A TW103117927A TW201507440A TW 201507440 A TW201507440 A TW 201507440A TW 103117927 A TW103117927 A TW 103117927A TW 103117927 A TW103117927 A TW 103117927A TW 201507440 A TW201507440 A TW 201507440A
Authority
TW
Taiwan
Prior art keywords
window
content
encoding
type
coding unit
Prior art date
Application number
TW103117927A
Other languages
English (en)
Inventor
li-hua Zhu
Sridhar Sankuratri
Alp Emre Kanlikilicer
Tong Wynn
Vladimir Stoyanov
B Anil Kumar
Nadim Abdo
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201507440A publication Critical patent/TW201507440A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26603Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0613The adjustment depending on the type of the information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/103Detection of image changes, e.g. determination of an index representative of the image change
    • 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/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Abstract

揭示用於傳送視窗內容至一客戶端裝置的方法與系統。一種方法包括:針對對應於在一特定時間在一視窗中包括的視窗區域之複數個編碼單元的每一者:將該編碼單元中包括的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等內容類型之至少一者包括一視窗影像類型;以及根據該視窗內容具有一視窗影像類型的一判定,對該編碼單元的該視窗內容施加一漸進式基於標準的編碼。該方法也包括:傳送用於每一視窗區域之已編碼的視窗內容至該客戶端裝置。

Description

用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器
本發明係關於用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器。
視窗內容(或由運算系統在顯示器上顯示給使用者的資料描述資訊)通常包括數種不同類型的內容。這些可包括例如文字內容、視訊內容、靜態影像(例如,視窗或其他GUI元件的顯示)、與滑動或其他呈現材料。逐漸的,視窗內容係遠端地傳送,例如使得二或更多個遠端運算系統可共用共同的顯示,允許兩個位於遠端的個體同時觀看相同的視窗,或者在遠距離協商中使得視窗可共用於多個個體之間。因為視窗內容係遠端地傳送,且因為增加的視窗解析度,所欲的是壓縮此內容至其本地位元圖大小以下的大小,以保留頻寬並且改良傳輸的效率。
雖然針對圖形資料(例如,視窗內容)存在有許多 壓縮方案,這些壓縮方案對於用於易變的視窗內容係不適合的。例如,傳統的動畫專家組(MPEG,Moving Picture Experts Group)編解碼器提供視訊內容的滿意壓縮,因為壓縮解決方案仰賴連續訊框之間的差異。另外,許多裝置具有整合的MPEG解碼器,整合的MPEG解碼器可以有效率地解碼此種編碼資料。但是,MPEG編碼不提供會隨時間而變的非視訊內容的實質資料壓縮,且因此通常不用於視窗內容,特別是用於遠端的視窗顯示。
用於傳送視窗內容至遠端系統的方法可能是無效率的,可能需要大量的資料通訊,且可能係資源密集型。因此,用於壓縮與有效率地呈現相關於遠端系統所用的視窗內容之策略包括
總結來說,本揭示案係相關於用於視窗內容編碼之視窗圖與漸進式基於標準的編解碼器。該視窗圖與漸進式基於標準的編解碼器允許各種視窗內容的有效率分類,例如用於分配至一遠端裝置。漸進式基於標準的編解碼器傳送一符合標準的編碼流至一接收裝置,且因此允許該遠端裝置使用在一接收裝置中所包括的一般解碼硬體。使用漸進式基於標準的編解碼器可允許從一接收裝置的一主要中央處理單元(CPU,central processing unit)解碼之視窗內容的卸載。
在本揭示案的一範例態樣中,揭示了一種將視窗內容傳送至一客戶端裝置的方法。該方法包括:針對對應於在一特定時間在一視窗中包括的視窗區域之複數個編碼單元的 每一者:將該編碼單元中包括的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等內容類型之至少一者包括一視窗影像類型;以及根據該視窗內容具有一視窗影像類型的一判定,對該編碼單元的該視窗內容施加一漸進式基於標準的編碼。該方法也包括:傳送用於每一視窗區域之已編碼的視窗內容至該客戶端裝置。
在一第二態樣中,一種系統包括:一分類元件,該分類元件在一運算系統上執行並且配置來將複數個編碼單元的每一編碼單元的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等內容類型之至少一者包括一視窗影像類型。該系統也包括一或更多個編碼模組,該一或更多個編碼模組在該運算系統上執行,該一或更多個編碼模組配置來根據該內容類型,對一編碼單元的該視窗內容施加一編碼。該一或更多個編碼模組係配置來施加一漸進式基於標準的編碼至與具有該視窗影像類型的該編碼單元相關的該視窗內容。
在一第三態樣中,揭示一種電腦儲存媒介,該電腦儲存媒介具有電腦可執行的指令儲存於其上,當該等指令被執行時,導致一運算系統執行傳送視窗內容至一客戶端裝置的一方法。該方法包括:針對對應於在一特定時間在一視窗中包括的視窗區域之複數個編碼單元的每一者:將該編碼單元中包括的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等複數個內容類型包括一視窗影像類型、一視訊類型、與一文字類型;且根據該視窗內容 具有一視窗影像類型的一判定,對該編碼單元的該視窗內容施加一漸進式基於標準的編碼。針對該等複數個編碼單元的每一者,該方法也包括:根據該視窗內容具有一視訊類型的一判定,對該編碼單元的該視窗內容施加一基於標準的編碼;且根據該視窗內容具有一文字類型的一判定,對該編碼單元的該視窗內容施加一文字編解碼器。該方法也包括:產生一視窗圖,該視窗圖包括中介資料,該中介資料相關於該等複數個編碼單元的每一者,該中介資料包括一或更多個品質旗標、一滑動旗標、一特殊效果旗標、一移動旗標、一空間跳躍旗標、與一時間跳躍旗標。該方法另包括:傳送用於每一視窗區域之已編碼的視窗內容至該客戶端裝置。
此總結係提供來以簡化的形式引入多個概念的選擇,該等多個概念另外在下面的詳細說明中另外敘述。此總結並不打算識別所主張之技術內容的關鍵特徵或必要特徵,也不打算用於限制所主張之技術內容的範圍。
100‧‧‧系統
102‧‧‧運算裝置
104‧‧‧可編程電路
106‧‧‧記憶體
108‧‧‧遠端桌面伺服器元件
110‧‧‧視訊編碼器
112‧‧‧顯示器
114‧‧‧通訊介面
116‧‧‧通訊連接
120‧‧‧遠端裝置
124‧‧‧主要可編程電路
125‧‧‧特殊目的可編程電路
126‧‧‧記憶體
128‧‧‧顯示器
130‧‧‧遠端桌面客戶端組件
132‧‧‧顯示緩衝器
134‧‧‧通訊介面
200‧‧‧方法
300‧‧‧系統
302‧‧‧擷取元件
304‧‧‧RDP管線
306‧‧‧差異/差值處理器
308‧‧‧快速緩衝貯存處理器
310‧‧‧移動處理器
312‧‧‧分類元件
314‧‧‧視訊類型
316‧‧‧影像類型
318‧‧‧文字類型
320‧‧‧MPEG編碼器
322‧‧‧漸進式MPEG編碼器
324‧‧‧文字編碼器
326‧‧‧輸出元件
400‧‧‧邏輯資料流動圖
402‧‧‧RDP排程器
404‧‧‧視窗圖產生器
406‧‧‧編解碼器預處理器
408‧‧‧編解碼器後處理器
410‧‧‧視窗圖資料
412‧‧‧原始資料
414‧‧‧中介資料
416‧‧‧已編碼位元流
418‧‧‧MPEG漸進式編解碼器
500‧‧‧程序
502‧‧‧時間跳躍標記
504‧‧‧空間跳躍標記
506‧‧‧移動標記
510‧‧‧文字偵測操作
512‧‧‧空間跳躍標記
514‧‧‧視訊偵測操作
516‧‧‧空間跳躍標記
518‧‧‧視窗圖產生元件
600‧‧‧中介資料
602‧‧‧空間跳躍旗標
603‧‧‧移動旗標
604‧‧‧時間跳躍旗標
606a-b‧‧‧品質位元
607‧‧‧位元
620‧‧‧中介資料
700‧‧‧操作元件
702‧‧‧視窗圖處理元件
704‧‧‧模式決定區塊
706‧‧‧內巨集塊處理元件
708‧‧‧交互巨集塊處理元件
710‧‧‧轉換&量化元件
712‧‧‧反向量化與轉換元件
714‧‧‧預估
716‧‧‧適應性濾波器
718‧‧‧圖像參考快速緩衝貯存
720‧‧‧熵編碼器
802‧‧‧視窗圖分析器
804‧‧‧操作
806‧‧‧空間跳躍處理器
808‧‧‧操作
809‧‧‧比例失真決定
810‧‧‧模式決定
812‧‧‧操作
814‧‧‧時間跳躍處理器
816‧‧‧操作
818‧‧‧移動處理器
900‧‧‧空間跳躍處理器
1000‧‧‧時間跳躍處理器
1100‧‧‧移動處理器
1200‧‧‧運算裝置
1202‧‧‧處理單元
1204‧‧‧系統記憶體
1205‧‧‧作業系統
1206‧‧‧程式模組
1208‧‧‧虛線
1209‧‧‧可移除的儲存裝置
1210‧‧‧不可移除的儲存裝置
1212‧‧‧輸入裝置
1214‧‧‧輸出裝置
1216‧‧‧通訊連接
1218‧‧‧運算裝置
1220‧‧‧軟體應用程式
1300‧‧‧行動運算裝置
1302‧‧‧系統
1305‧‧‧顯示器
1310‧‧‧輸入按鈕
1315‧‧‧側部輸入元件
1320‧‧‧視覺指示器
1325‧‧‧音訊變換器
1330‧‧‧內建攝影機
1335‧‧‧小型鍵盤
1360‧‧‧處理器
1362‧‧‧記憶體
1364‧‧‧作業系統
1366‧‧‧應用程式
1368‧‧‧非揮發性儲存區域
1370‧‧‧電源
1372‧‧‧無線電通訊裝置
1374‧‧‧音訊介面
1376‧‧‧視訊介面
1402‧‧‧伺服器裝置
1404‧‧‧個人電腦
1406‧‧‧平板運算裝置
1408‧‧‧行動運算裝置
1415‧‧‧網路
1416‧‧‧儲存器
1422‧‧‧目錄服務
1424‧‧‧網頁入口
1426‧‧‧郵件信箱服務
1428‧‧‧即時傳訊儲存
1430‧‧‧社交網路位址
第1圖例示一系統的範例示意配置,其中使用可用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器,可執行遠端視窗分配;第2圖根據一範例實施例,例示用於以位元流的形式傳送已壓縮的視窗內容至遠端裝置的方法的流程圖;第3圖為用於傳送視窗內容至遠端裝置的系統的邏輯方塊圖,遠端裝置包括遠端桌面協定管線與相關的漸進式基於標準的編碼配置; 第4圖為邏輯資料流動圖,例示視窗內容通過第3圖所示的系統之進程;第5圖根據一範例實施例,為一程序的流程圖,該程序用於產生視窗圖,視窗圖可用於協助將視窗內容編碼並且傳送已壓縮的位元流至遠端裝置;第6A圖係一組中介資料的範例,該中介資料可用於界定形成視窗圖的一部分之編碼單元的特性;第6B圖為額外一組中介資料的範例,該中介資料可用於界定一編碼單元的視窗內容的移動;第7圖為流程圖,根據一範例實施例,例示了漸進式基於標準的編碼器與相關的視窗圖之操作;第8圖為流程圖,根據一範例實施例,例示了視窗圖處理元件的操作;第9圖係範例的空間跳躍處理器的方塊圖,空間跳躍處理器可用於本文所述的方法與系統內;第10圖係範例的時間跳躍處理器的方塊圖,時間跳躍處理器可用於本文所述的方法與系統內;第11圖係範例的移動處理器的方塊圖,移動處理器可用於本文所述的方法與系統內;第12圖為方塊圖,例示運算裝置的範例實體元件,利用運算裝置可實施本發明的實施例;第13A圖與第13B圖為行動運算裝置的簡化方塊圖,利用行動運算裝置可實施本發明的實施例;及第14圖為分散式運算系統的簡化方塊圖,該系統中 可實施本發明的實施例。
如同上面簡短敘述的,本發明的實施例係關於可用以提供用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器的方法、系統、與電腦可讀取媒介。該視窗圖與漸進式基於標準的編解碼器允許各種視窗內容的有效率分類,例如用於分配至一遠端裝置。
為了解決遠端視窗顯示系統的某些限制,華盛頓的雷德蒙(Redmond)的微軟公司開發出遠端桌面協定(RDP,Remote Desktop Protocol)。在此協定中,利用不同分類之不同內容來分析視窗訊框。例如,識別文字資料,且使用文字編解碼器來編碼,而影像資料則使用業主的漸進式編解碼器。漸進式編解碼器與文字編解碼器提供比MPEG編解碼器更大的壓縮增益,允許視窗內容的改良傳輸。這允許實體遠端運算系統的使用者之間的互動,而不會有延遲,延遲可能發生係當被MPEG編碼的視訊型內容被緩衝來用於顯示時。
雖然上述的遠端桌面協定配置改良了視窗內容的壓縮與傳輸特性,它也有缺點。具體地,通常接收使用遠端桌面協定所編碼的視窗內容之運算裝置一般會需要該接收裝置的主要可編程電路(例如,主要中央處理單元或CPU),來解碼使用文字編解碼器與漸進式編解碼器所編碼的內容。這對於文字編解碼器來說不是顯著的性能問題,文字編解碼器係無損耗編解碼器、提供實質的壓縮並且可快速被解碼而無大量的電力消耗;但是,漸進式編解碼器需要實質的處理發 生在該接收裝置上,這會使用實質的電力。另外,因為一般的接收裝置(例如,膝上型、平板型、或智慧手機型的裝置)不包括用於漸進式編解碼器的特定硬體解碼器,此運算的複雜性無法輕易從該接收裝置的主要可編程電路卸除。
如同相關於本揭示案的某些實施例在下面另外討論的,視窗圖允許將在特定時間時視窗的不同區域(稱為編碼單元)分類為包含不同的內容類型。該等內容類型可用於界定該編碼單元中所包括的視窗內容的編碼。目前,漸進式基於標準的編解碼器傳送符合標準的編碼流至接收裝置,且因此允許該遠端裝置使用在接收裝置中所包括的一般解碼硬體。使用漸進式基於標準的編解碼器可允許從接收裝置的主要中央處理單元(CPU)解碼之視窗內容的卸載,且改良漸進式編碼的視窗內容的壓縮率。關於其他優點,這可改良接收裝置的電力使用。
第1圖例示系統100的範例示意配置,其中使用可用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器,可執行遠端視窗分配。如同所示,系統100包括運算裝置102,運算裝置102包括可編程電路104,例如CPU。運算裝置102另外包括記憶體106,記憶體106係配置來儲存可由可編程電路104執行的運算指令。適於使用作為運算裝置102的運算系統的範例類型係相關於第12圖至第14圖討論於下。
通常,記憶體106包括遠端桌面伺服器元件108與視訊編碼器110。遠端桌面伺服器元件108通常係配置來複製在運算裝置102的本地顯示器112上所呈現的視窗內容至遠 端運算裝置上,例示為遠端裝置120。在某些實施例中,遠端桌面伺服器元件108產生符合華盛頓的雷德蒙(Redmond)的微軟公司所界定的遠端桌面協定(RDP,Remote Desktop Protocol)之內容。
視訊編碼器110可配置來施加任何多個不同的編碼方案(或編解碼器)至內容,使得該內容被壓縮來用於傳送至遠端裝置120。在範例實施例中,視訊編碼器110可施加基於標準的編解碼器,例如MPEG型的編解碼器。在特定的範例中,視訊編碼器110可為MPEG編碼器,使用一或更多個編解碼器,例如H.264編解碼器。也可使用其他類型的基於標準的編碼方案或編解碼器。
如同第1圖所示,已編碼的視窗內容可藉由運算裝置102的通訊介面114而傳送至遠端系統120,通訊介面114透過通訊連接116(例如,網際網路)將已編碼的視窗內容提供至遠端系統120的通訊介面134。通常,且如同下面討論的,通訊連接116可具有不可預期的可用頻寬,例如因為形成通訊連接116的網路上發生的額外的傳輸。因此,傳送已編碼視窗內容的現存系統使用漸進式方案來傳送,其中此種視窗內容的初始傳輸提供該視窗內容的低品質(例如,低解析度)版本,且該視窗內容隨時間而漸進式地改善(亦即,因為視窗維持不變且頻寬維持可用)。
在本揭示案的上下文中,在某些實施例中,遠端裝置120包括主要可編程電路124(例如CPU)與特殊目的可編程電路125。在範例實施例中,特殊目的可編程電路125為基 於標準的解碼器,例如設計來編碼或解碼具有特殊標準(例如,H.264)的內容之MPEG解碼器。在具體實施例中,遠端裝置120對應於對於運算裝置102來說係遠端或本地的客戶端裝置,且遠端裝置120作用為可用於接收視窗內容的客戶端裝置。
另外,遠端裝置包括記憶體126與顯示器128。記憶體126包括遠端桌面客戶端組件130與顯示緩衝器132。遠端桌面客戶端組件130可例如為軟體元件,配置來接收與解碼從運算裝置102接收的視窗內容。在某些實施例中,遠端桌面客戶端組件130係配置來接收與處理用於呈現遠端視窗於顯示器128上的視窗內容。在某些實施例中,視窗內容可根據華盛頓的雷德蒙(Redmond)的微軟公司所界定的遠端桌面協定來傳送。顯示緩衝器132將要顯示於顯示器128上的視窗內容的目前複製版本儲存於記憶體中,例如作為位元圖,其中當需要更新時,多個區域可被選擇與置換。
如同下面另外討論的,雖然現存的系統使用業主的壓縮編解碼器來用於視窗內容的漸進式改良,在本揭示案的上下文中,可使用基於標準的編解碼器來用於此種漸進式編碼,例如MPEG型編解碼器。視窗圖包括中介資料,中介資料界定視窗的區域的各種特性,例如其用於改良的可利用性、以及特定影像轉變的存在、移動(以及此種移動的範圍)、或其他特殊效果或呈現特性。因此,使用基於標準的編解碼器可允許接收裝置(例如,裝置120)將大體上運算複雜的解碼處理卸載至特殊目的可編程電路125,而非需要使用主要可 編程電路124。注意到,因為解碼影像會是運算密集的,有利的是將此工作卸載至特殊目的可編程電路125;但是,其他類型的內容(例如,文字內容)可使用簡單的(非運算密集的)編解碼器來編碼,且因此可用較有效率的方式使用主要可編程電路124來解碼。
現在參見第2圖,根據一範例實施例,繪示用於傳送視窗內容至遠端裝置的方法200的流程圖。方法200可例如藉由任何各種運算裝置來執行,例如第1圖的運算裝置102或下面的第12圖至第14圖的運算裝置。
在所示的實施例中,在操作202,視窗(例如,在特定時間點時的當前顯示)被分割成複數個視窗部分。這些視窗部分(界定了視窗內容或編碼單元的子集)可使用多種編碼處理的一種而被個別地分析、分類、以及編碼。在範例實施例中,運算裝置(當運行RDP應用時)可分析已分割的視窗。
注意到,在範例實施例中,視窗被分割成的部分的數量為可變。在一範例實施例中,視窗可被分割成16×16陣列的視窗區域,每一視窗區域對應於一編碼單元。在另外的範例實施例中,可使用64×64陣列。某種程度來說,每一編碼單元的大小將是所使用的分割部分的數量的函數,以及被處理的視窗內容所要用於的顯示器的操作解析度之函數。
在操作204,分析每一編碼單元,且分類每一編碼單元的內容。在範例實施例中,每一編碼單元(其包括與一區域以及一特定時間相關的視窗內容)可被評估,以決定每 一編碼單元是否包括影像(例如,呈現)資料、視訊資料、或文字資料。編碼單元可之後據此被分類,允許視窗內容的對應子部分被依類型來分類,且選擇性地被快速緩衝貯存。注意到,視窗內容的不同部分可以不同地被分類。在操作206,從編碼單元的收集來產生視窗圖,視窗圖對應於界定了特定視窗的編碼單元的分類與局部配置。針對每一編碼單元,視窗圖可包括與該編碼單元相關的視窗內容以及與該編碼單元相關的視窗中介資料,視窗中介資料可包括關於該視窗內容的分類的資訊以及關於該視窗內容已經改變或正在改變的情況的資訊。可用於視窗圖內的範例中介資料係例示在第6A圖至第6B圖中,下面更詳細地討論。
根據與每一編碼單元相關的視窗內容的分類,在操作208,根據與各種視窗內容相關的編解碼器來編碼用於該編碼單元的視窗內容。例如,漸進式基於標準的(例如,MPEG型)編解碼器可用於影像資料,而直向式基於標準的編解碼器可用於視訊資料,且文字編解碼器可用於文字資料。也可使用相關於其他種分類的其他編解碼器。在操作210,然後傳送已編碼的視窗內容至在遠端裝置處的一或更多個所欲的接收器,作為部分之已編碼的編碼單元。
如同上述,作為部分的編碼處理,可準備特定編碼單元的低品質已編碼版本,該低品質已編碼版本可快速傳送至遠端系統。這會是例如根據所觀測的頻寬限制的情況,且確保編碼單元可快速傳送至遠端系統。因此,操作212決定視窗圖內的編碼單元是否可改良。此評估可例如根據與該編 碼單元相關的中介資料來實行。在範例實施例中,可檢查中介資料(界定了與該編碼單元相關的視窗圖的一部分)中所包括的品質位元,以偵測是否已編碼的視窗內容的品質係在最高位準,或者是否某種改良係可用的。若改良係可用的,則操作返回至編碼操作208,編碼操作208執行在編碼單元中的視窗內容的較高品質版本的進一步編碼,且該較高品質版本的進一步編碼之後被傳送至遠端系統作為操作210中的位元流。操作210也可包括傳送區域資訊至遠端系統,以例如允許遠端系統識別編碼的類別,來繞送至合適的對應的處理系統,且決定要更新的顯示畫面的特定區域。若沒有編碼單元具有品質可以改良的視窗內容,則相關於該特定訊框的操作已經完成。因此,操作流返回至操作204,其中分析且分類下一訊框的內容,以用於後續的編碼。
第3圖為用於傳送視窗內容至遠端裝置的系統300的邏輯方塊圖,遠端裝置包括遠端桌面協定管線與相關的漸進式基於標準的編碼配置。系統300可例如實施於運算系統中,運算系統用於傳送視窗資料至遠端系統,例如藉由使用RDP與相關的基於標準的編碼器(與編解碼器),例如MPEG。
如同第3圖所示,透過擷取元件302來擷取視窗訊框,且提供視窗訊框至RDP管線304。RDP管線304通常輸出已分類的、RDP相容的視窗資料與相關的視窗圖,以供一或更多個相關的編碼器來使用。在所示的實施例中,RDP管線304包括差異/差值處理器306、快速緩衝貯存處理器308、與移動處理器310。差異/差值處理器306通常分析所擷取的 視窗內容,並且具體地決定每一編碼單元的當前訊框與先前訊框之間是否有差異。快速緩衝貯存處理器308通常決定相同的內容是否先前已經貯存在快速緩衝貯存目錄中,或者相同的內容不需要重新編碼來用於傳送(亦即,已經存在於遠端裝置處的視窗緩衝器中)。移動處理器310決定編碼單元中或編碼單元之間的特定物體是否已經發生全域移動,且在此種實施例中,可偵測視窗內容中描述的特定物體的垂直與水平移動,使得已移動的物體不需要重新編碼並且送至遠端系統,而是針對其位置做更新。
處理器306-310之後,編碼單元中不能根據上述討論的基準排除於編碼及/或重新傳送的視窗內容(例如,無差異發生、先前快速緩衝貯存、或僅存在的物體的移動)則提供至分類元件312,分類元件312將該等編碼單元分類為具有視訊類型314、影像類型316、或文字類型318。如同所示,RDP管線304從編碼單元傳送各種已分類的視窗內容至編碼器,其中每一編碼器根據不同的編解碼器提供編碼。在所示的實施例中,具有視訊類型314的編碼單元傳送至MPEG編碼器320,具有影像類型316的編碼單元傳送至漸進式MPEG編碼器322,且具有文字類型318之視窗內容的編碼單元傳送至文字編碼器324,文字編碼器324施加文字編解碼器。每一編碼器的輸出回傳至RDP管線304,RDP管線304將來自每一編碼器的已編碼的視窗資料繞送至多工器與輸出元件326,輸出元件326排序出整體的位元流並且傳送該等編碼單元(作為位元流)至遠端系統以供顯示。在範例實施例中, 已編碼(已壓縮)的視窗資料也可例如快速緩衝貯存於歷史目錄或其他種的視窗資料快速緩衝貯存配置中。
在某些實施例中,輸出元件326將區域資訊連同或併入於位元流而傳送至遠端系統,這允許遠端系統(例如,客戶端裝置)區分要與已更新且已編碼的視窗內容的位元流拼湊在一起的區域。這可包括例如來自MPEG編碼器320、322的已編碼矩形以及來自文字編碼器324的已編碼矩形。
現在參見第4圖,根據一範例實施例,繪示邏輯資料流動圖400,邏輯資料流動圖400例示視窗內容通過第3圖所示的系統之進程。邏輯資料流動圖400係繪示來用於需要漸進式基於標準的(例如,MPEG型)編碼之編碼單元,且因此可以代表通過第3圖的系統的一部分之資料流動。
如同資料流動圖400所示,RDP管線304包括RDP排程器402,RDP排程器402協調視窗圖產生器404與編解碼器預處理器406。RDP管線304也包括編解碼器後處理器408。視窗圖產生器404產生視窗圖資料410,視窗圖資料410可提供至編碼器322。視窗圖資料410可例如為與一或更多個編碼單元相關的資料,包括界定需要編碼的視窗區域之資料,以及要提供的編碼的類型。編解碼器預處理器406輸出原始資料412至編碼器322。作為部分的原始資料412,編解碼器預處理器406傳送視窗原始訊框(對應於視窗背景或影像)、設定位元率、以及選擇性地設定低複雜度旗標與顏色轉換設定。
在所示的實施例中,編碼器322包括MPEG漸進式 編解碼器418,MPEG漸進式編解碼器418接收視窗圖資料410與視窗原始資料412,並且產生與視窗內容相關的中介資料414以及已編碼流416。如同上述,編碼器322可施加任何種類的漸進式基於標準的編解碼器至原始資料412,例如漸進式MPEG編碼,像是MPEG AVC/H.264或MPEG HEVC/H.265。
在完成視窗訊框的編碼單元的編碼之後,中介資料414(例如,可用於協助RDP管線304更新視窗內容的數量參數)係送回至編解碼器後處理器408。已編碼的位元流416也送至編解碼器後處理器408,編解碼器後處理器408將已編碼的位元流傳送至RDP排程器402中,以傳送至遠端裝置。若一或更多個區域的品質已經達到人眼無法偵測影像中的失真之臨界值時,編解碼器後處理器408可通知擷取元件302(例如,視窗或顯示擷取)停止傳送原始資料。
現在參見第5圖,根據一範例實施例,繪示程序500的流程圖,程序500用於產生視窗圖,視窗圖可用於協助將視窗內容編碼至已壓縮的位元流,已壓縮的位元流可傳送至遠端裝置。在範例實施例中,程序500可代表第3圖的系統300相關於視窗所做的一組決定。
在所示的實施例中,當比較當前訊框與先前訊框時,差異/差值處理器306決定是否發生任何改變。若無改變存在,差異/差值處理器306決定沒有改變(分支「是」,藉此指出差異/差值處理器306偵測到相同的先前訊框),且產生時間跳躍標記502。但是,若改變存在,差異/差值處理器306決定改變已經發生,且因此編碼不能被跳過;採取「否」 分支,至快速緩衝貯存處理器308。快速緩衝貯存處理器308決定是否快速緩衝貯存目錄包含當前訊框中的內容;若視窗內容被快速緩衝貯存,則快速緩衝貯存處理器308採取分支「是」,以產生空間跳躍標記504。若視窗內容未被快速緩衝貯存於快速緩衝貯存目錄中,則快速緩衝貯存處理器採取分支「否」,至移動處理器310。
在所示的實施例中,移動處理器310根據來自快速緩衝貯存處理器的輸出視窗訊框與先前的視窗訊框,產生移動向量與移動標記。移動處理器310產生移動標記506(分支「是」),或轉換至分類元件312。另外,移動處理器310產生全域移動向量。
分類元件312包括文字偵測操作510,文字偵測操作510偵測是否文字存在於視窗內容中;若是,則產生空間跳躍標記512。視訊偵測操作514偵測是否視訊存在於視窗內容中;若是,則產生另外的空間跳躍標記516。最後,整個視窗資料傳送至視窗圖產生元件518,且所有空間跳躍標記與移動向量也傳送至視窗圖產生元件518。視窗圖產生元件518收集各種標記502、504、506、512、516,且產生視窗圖,該視窗圖指出包括各種內容類型的特定編碼單元。
第6A圖係一組中介資料600的範例,中介資料600可用於界定形成視窗圖的一部分之編碼單元的特性。在某些實施例中,中介資料600係第5圖的程序500產生用於複數個編碼單元的每一編碼單元的視窗圖之結果。通常,視窗圖對應於相關於複數個編碼單元的每一編碼單元之中介資料的 收集,使得視窗內容的類型(例如,影像、視訊、或文字)被指出,以及該編碼單元的各種其他特性被指出。
在所示的實施例中,8位元的區域界定了用於一編碼單元的旗標,在此也稱為MPEG AVC/H.264中的巨集塊。在所示的實施例中,時間跳躍旗標604界定了時間跳躍的存在,表示自從先前的訊框之後沒有改變發生。空間跳躍旗標602界定了是否針對該編碼單元已經偵測到空間跳躍,例如如同使用第5圖的程序500所決定的。移動旗標603界定了是否該編碼單元內存在移動,且特殊效果旗標604識別了是否該編碼單元內存在特殊效果移動,例如淡入/淡出、快速捲動、或某種其他已知的移動效果。滑動旗標605指出了是否當前的內容係滑動型內容,例如在呈現的應用程式中(例如,微軟的PowerPoint®),或在影像型的可攜式文件格式(PDF,Portable Document Format)中。品質位元606a-b提供品質位準的四種位準的品質控制,以用於視窗內容的漸進式編碼與傳送。一或更多個位元(繪示為位元607)可保留以供未來使用。
如同第6B圖所示,繪示額外一組中介資料620的範例,中介資料620可用於界定一編碼單元的視窗內容的移動。在所示的實施例中,中介資料620界定了當移動旗標603設定時要使用的移動向量,且中介資料620包括16位元值,用於移動向量的垂直與水平分量的每一者。
第7圖為流程圖,根據一範例實施例,例示了使用相關的視窗圖之漸進式基於標準的編碼器的操作元件700。如同所示,視窗原始資料412與視窗圖中介資料410(來自第4 圖)係提供至視窗圖處理元件702。視窗圖處理元件702決定是否跳過特定視窗內容的處理,旁邊則是編碼模式決定區塊704。模式決定區塊704包括內巨集塊處理元件706與交互巨集塊處理元件708,下面更詳細地討論。但是,從視窗圖處理元件702或模式決定區塊704,到達轉換&量化元件710,轉換&量化元件710在某些實例中標記已編碼區塊形態(CBP,coded block pattern)並且準備該編碼單元以供進一步處理。但是,在該模式完全跳過的情況中,模式決定區塊704完全被省略,且因此可能沒有執行轉換或量化。
在視窗圖處理元件702決定針對特定視窗圖應該進入模式決定區塊704的事件中,執行內巨集塊處理元件706與交互巨集塊處理元件708的一者或兩者,且內巨集塊處理元件706與交互巨集塊處理元件708的一者或兩者用於產生現存的編碼規格(例如,MPEG編解碼器)中可用的模式決定。通常,模式決定區塊704從元件706、708之中選擇,且模式決定區塊704可使用視窗圖中介資料600、620中識別的旗標;也可使用訊框類型或比例失真結果來選擇模式。
在從模式決定區塊704執行元件706、708之一者之後,轉換&量化元件710產生已處理的視窗內容的量化係數。反向量化與轉換元件712利用預估714來重建訊框,而適應性濾波器716使用來自反向量化與轉換元件712的預估714,將訊框的重建變平順。圖像參考快速緩衝貯存718之後為了移動評估的目的而被更新,移動評估之後係提供至交互巨集塊處理元件708。同時,熵編碼器720從轉換&量化元件710 接收量化係數,並且產生編碼位元流。
第8圖為流程圖,根據一範例實施例,例示了視窗圖處理元件702的操作。在所示的實施例中,視窗圖處理元件702包括視窗圖分析器802,視窗圖分析器802分析輸入視窗圖(例如,視窗圖中介資料410,視窗圖中介資料410可包括聚集的中介資料600,用於存在的每一編碼單元)。根據此分析的結果,若編碼巨集塊係一種空間跳躍標記(例如,中介資料600中根據空間跳躍旗標602的操作804中),空間跳躍處理器806被呼叫來處理巨集塊,且空間跳躍處理器806的輸出係傳送至比例失真決定809。若空間跳躍處理器806的結果優於預定的臨界值(在操作808),該結果係傳送至轉換&量化元件710;否則,呼叫正常的巨集塊編碼處理元件(例如,模式決定810)。
針對視窗圖中指出的時間跳躍與移動決定,存在類似的處理。具體地,針對時間跳躍,視窗圖分析器802根據操作812而呼叫時間跳躍處理器814,時間跳躍處理器814處理巨集塊並且輸出至比例失真決定809。類似的,針對移動決定,視窗圖分析器802根據操作816(操作816評估中介資料600中的移動旗標603)而呼叫移動處理器818,移動處理器818也處理巨集塊並且輸出至比例失真決定809。
沒有中介資料旗標被設定的情況時,則進入模式決定810,以選擇特定模式來編碼在編碼單元中的視窗內容。模式決定810包括一組標準決定係關於如何決定編碼的區域的類型以及如何最佳地編碼MPEG編碼方案中的特定訊框(例 如,傳統的MPEG AVC/H.264編碼)。根據本揭示案,模式決定810的輸出係每一編碼單元的標準編碼。
關於模式決定810,注意到,可實施額外的模式決定,以允許改良的編碼與壓縮;但是,在所示的實施例中,模式決定係相容於標準編解碼器或編碼方案,藉此確保整個系統的輸出係一致的,且可以由相容的硬體解碼器接收與處理,如同上面相關於第1圖的遠端裝置120所述的。
第9圖係範例的空間跳躍處理器900的方塊圖,空間跳躍處理器900可用於本文所述的方法與系統內。空間跳躍處理器900可用於例如第8圖的空間跳躍處理器806。在所示的實施例中,空間跳躍處理器900在操作902處先偵測與特定編碼單元相關的中介資料600中的空間跳躍旗標602。若空間跳躍旗標602被設定(且訊框為I訊框),則在所示的實施例中,使用16×16編碼單元的配置來將巨集塊編碼模式設定成內區塊編碼(在操作904處)。之後在操作906處選擇DC模式,用於亮度與色品特性。直流(DC)值(對應於跨越一區塊的平均值)接著在操作908處獲得,例如係根據目前巨集塊的頂部與最左邊的巨集塊而獲得,直流值可用於重建。在操作910,交流(AC)與DC值(對應於正弦波的與平均值轉換係數)則用零填入,且已編碼區塊形態(CBP)也設定為零。在操作912,設定比例失真值,例如以最佳化比例失真。注意到,在第7圖至第8圖的視窗圖處理元件702處所接收的訊框係P訊框的事件中,藉由使用P_MB_SKIP,可避免掉空間跳躍處理器900,P_MB_SKIP省去相關於上述空 間跳躍處理的額外位元。
第10圖係範例的時間跳躍處理器1000的方塊圖,時間跳躍處理器1000可用於本文所述的方法與系統內。時間跳躍處理器1000可用於例如第8圖的時間跳躍處理器814。在所示的實施例中,時間跳躍處理器1000在操作1002處檢查時間跳躍旗標。在操作1004,選擇交互_16×16模式(或最大化編碼單元數量的類似模式),且移動預測操作1006根據當前的巨集塊的相鄰巨集塊而產生預測的移動向量(MV,motion vector)。預測的移動向量在操作1008處被評估;根據預測的MV值,編碼MB模式可設定成跳過該區塊(例如,P_MB_SKIP)(例如,若PMV為零),否則,比例失真模型的比率係設定為預測的MV,且巨集塊模式係設定為MB_16×16。
第11圖係範例的移動處理器1100的方塊圖,移動處理器1100可用於本文所述的方法與系統內。移動處理器1100可用於例如第8圖的移動處理器818。在所示的實施例中,移動處理器1100包括移動讀取操作1102,移動讀取操作1102讀取在當前的對應巨集塊中的視窗圖600的移動旗標606a-b。在操作1104,選擇交互_16×16模式(或最大化編碼單元數量的類似模式),且移動預測操作1106根據當前的巨集塊的相鄰巨集塊而產生預測的移動向量(MV,motion vector)。之後在操作1108中評估移動向量限制,以及預測的移動向量。若違反,則應運行正常的內/交互MB處理操作1110(例如,如同第7圖的模式決定區塊704所示)。否則,根 據預測的MV值(如同在操作1112處決定的),若預測的MV值為零,則可設定編碼巨集塊模式,以跳過該區塊的處理(例如,藉由設定P_MB_SKIP),且比例失真在操作1114處係最小化。若預測的MV值非為零,則在操作1116處,失真模型的比例係設定為預測的MV,且設定MB模式為MB_16×16。
本文所述的實施例與功能可透過多種運算系統來操作,包括但不限於桌上型電腦系統、有線與無線的運算系統、行動式運算系統(例如,行動電話、上網本、平板或板狀電腦、筆記型電腦、與膝上型電腦)、手持裝置、多處理器系統、微處理器型或可編程的消費型電子產品、微電腦、與主機電腦。
另外,本文所述的實施例與功能可操作於分散式系統(例如,雲端型運算系統),其中應用程式功能、記憶體、資料儲存與修補以及各種處理功能可透過分散式運算網路(例如,網際網路或內部網路)而彼此遠離地操作。另外,多個編解碼器可運行於不同的裝置中,且以位元流的方式多工在一起。使用者介面與各種資訊可透過內建的運算裝置顯示器或透過與一或更多個運算裝置相關的遠端顯示單元來顯示。例如,使用者介面與各種資訊可在壁部表面上顯示與互動,在壁部表面上可保護使用者介面與各種資訊。與多種運算系統(其中可實施本發明的實施例)的互動可實施包括按鍵輸入、觸控螢幕輸入、聲音或其他音訊輸入、手勢輸入(其中相關的運算裝置配備有用於捕捉與詮釋使用者用於控制運 算裝置功能的手勢的偵測(例如,攝影機)功能)、與類似者。
第12圖至第14圖與相關的敘述可提供多種操作環境的討論,在該等多種操作環境中可實施本發明的實施例。但是,相關於第12圖至第14圖所討論與例示的裝置與系統係為了範例與例示的目的,且不限制可用於實施本文所述的本發明的實施例之多種運算裝置配置。
第12圖為方塊圖,例示運算裝置1200的實體元件(亦即,硬體),利用運算裝置1200可實施本發明的實施例。下面所述的運算裝置元件可適於上述的運算裝置。在基本的配置中,運算裝置1200可包括至少一處理單元1202與系統記憶體1204。取決於運算裝置的種類與配置,系統記憶體1204可包括(但不限於)揮發性儲存器(例如,隨機存取記憶體)、非揮發性儲存器(例如,唯讀記憶體)、快閃記憶體、或此種記憶體的任何組合。系統記憶體1204可包括作業系統1205與一或更多個程式模組1206,程式模組1206適於運行軟體應用程式1220,例如相關於第1圖在上面討論的遠端桌面協定軟體108與編碼器/解碼器110。作業系統1205例如可適於控制運算裝置1200的操作。另外,本發明的實施例可聯合圖形庫、其他作業系統、或任何其他應用程式來實施,且不限於任何特定的應用程式或系統。此基本配置係藉由虛線1208內的那些元件而例示在第12圖中。運算裝置1200可具有額外的特徵或功能。例如,運算裝置1200也可包括額外的資料儲存裝置(可移除的及/或不可移除的),像是例如磁碟、光碟、 或匣帶。此種額外的儲存器係藉由可移除的儲存裝置1209與不可移除的儲存裝置1210而例示在第12圖中。
如同上述,多種程式模組與資料檔案可儲存在系統記憶體1204中。雖然在處理單元1202上執行,程式模組1206(例如,遠端桌面協定軟體108與編碼器/解碼器110)可執行的處理係包括(但不限於)第2圖例示的方法200的一或更多個階段。其他程式模組(其可根據本發明的實施例來使用,且具體地產生視窗內容)可包括電子郵件與聯繫的應用程式、文字處理應用程式、電子資料表應用程式、資料庫應用程式、滑動呈現應用程式、拉曳或電腦協助的應用程式等。
另外,本發明的實施例可實施在電子電路中,電子電路包括離散式電子元件、已封裝或整合的電子晶片(包含邏輯閘)、使用微處理器的電路、或包含電子元件或微處理器的單晶片上。例如,本發明的實施例可透過系統上晶片(SOC,system-on-a-chip)來實施,其中第12圖例示的每一或許多元件可整合於單一積體電路上。此種SOC裝置可包括一或更多個處理單元、圖形單元、通訊單元、系統視覺化單元與各種應用程式功能,所有這些都整合(或「燒錄」)於晶片基板上,作為單一積體電路。當透過SOC來操作時,相關於遠端桌面協定軟體108與編碼器/解碼器110之本文所述的功能可透過與單一積體電路(晶片)上的運算裝置1200的其他元件整合的特殊應用邏輯來操作。本發明的實施例也可使用可以執行邏輯操作(像是例如,AND、OR、與NOT)的其他技術來實施,包括(但不限於)機械的、光學的、流體的、與量 子的技術。另外,本發明的實施例可實施在通用目的電腦內或在任何其他電路或系統中。
運算裝置1200也可具有一或更多個輸入裝置1212,例如鍵盤、滑鼠、電筆、聲控輸入裝置、觸控輸入裝置等。也可包括輸出裝置1214,例如顯示器、揚聲器、印表機等。前述裝置為範例,且可使用其他裝置。運算裝置1200可包括一或更多個通訊連接1216,允許與其他運算裝置1218的通訊。合適的通訊連接1216的範例包括(但不限於)RF傳輸器、接收器、及/或收發器電路;通用序列匯流排(USB)、並列、及/或序列埠。
本文所用的用語「電腦可讀取媒介」可包括電腦儲存媒介。電腦儲存媒介可包括任何方法或技術中所實施的揮發性與非揮發性、可移除的與不可移除的媒介,用於儲存資訊,例如電腦可讀取指令、資料結構、或程式模組。系統記憶體1204、可移除的儲存裝置1209與不可移除的儲存裝置1210都是電腦儲存媒介的範例(亦即,記憶體儲存器)。電腦儲存媒介可包括RAM、ROM、電性可抹除唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、CD-ROM、數位萬用碟(DVD)或其他光學儲存器、磁卡帶、磁帶、磁碟儲存器或其他磁性儲存裝置、或可用於儲存資訊且可由運算裝置1200存取的任何其他產品商品。任何此種電腦儲存媒介可為運算裝置1200的部分。電腦儲存媒介不包括載波或其他行進式或調變式資料信號。
通訊媒介可藉由電腦可讀取指令、資料結構、程式 模組、或調變式資料信號(例如,載波或其他傳輸機制)中的其他資料來實施,且通訊媒介可包括任何資訊傳送媒介。用語「調變式資料信號」可敘述一種信號係具有一或更多個特性組或以將資訊編碼於信號中的此種方式來改變。藉由範例的方式,且並非限制,通訊媒介可包括有線媒介(例如,有線網路或直接接線連接)與無線媒介(例如,聲波、射頻(RF)、紅外線、與其他無線媒介)。
第13A圖與第13B圖例示了行動運算裝置1300,例如行動電話、智慧型手機、平板個人電腦1310、膝上型電腦、與類似者,利用行動運算裝置1300可實施本發明的實施例。參見第13A圖,例示了用於實行實施例的行動運算裝置1300的一實施例。在基本配置中,行動運算裝置1300係手持電腦,具有輸入元件與輸出元件。行動運算裝置1300通常包括顯示器1305與一或更多個輸入按鈕1310係允許使用者輸入資訊至行動運算裝置1300中。行動運算裝置1300的顯示器1305也可作用為輸入裝置(例如,觸控螢幕顯示器)。若包括的話,選擇性的側部輸入元件1315允許另外的使用者輸入。側部輸入元件1315可為旋轉開關、按鈕、或任何其他種的手動輸入元件。在替代的實施例中,行動運算裝置1300可包括較多或較少的輸入元件。例如,在某些實施例中,顯示器1305可能不是觸控螢幕。在又另一替代的實施例中,行動運算裝置1300係可攜式電話系統,例如手機。行動運算裝置1300也可包括選擇性的小型鍵盤1335。選擇性的小型鍵盤1335可為實體的小型鍵盤或產生在觸控螢幕顯示器上的「軟性」 小型鍵盤。在各種實施例中,輸出元件包括顯示器805(用於顯示圖形使用者介面(GUI))、視覺指示器1320(例如,發光二極體)、及/或音訊變換器1325(例如,揚聲器)。在某些實施例中,行動運算裝置1300包括振動變換器,用於提供使用者觸覺回饋。在又另一實施例中,行動運算裝置1300包括輸入及/或輸出埠,例如音訊輸入(例如,麥克風插座)、音訊輸出(例如,頭戴式耳機插座)、與視訊輸出(例如,HDMI埠),用於傳送信號至外部裝置或從外部裝置接收信號。
第13B圖為方塊圖,例示了行動運算裝置的一實施例的架構。亦即,行動運算裝置1300可包括系統(亦即,架構)1302來實行某些實施例。在一實施例中,系統802係實施為「智慧型手機」,可以運行一或更多個應用程式(例如,瀏覽器、電子郵件、行事曆、聯繫管理器、傳訊客戶端、遊戲、與媒介客戶端/玩家)。在某些實施例中,系統1302係整合為運算裝置,例如整合的個人數位助理(PDA)與無線電話。
一或更多個應用程式1366可載入記憶體1362中並且運行於作業系統1364上或相關於作業系統1364來運行。應用程式的範例包括打電話程式、電子郵件程式、個人資訊管理(PIM,personal information management)程式、文字處理程式、電子資料表程式、網際網路瀏覽器程式、傳訊程式等。系統1302也包括在記憶體1362內的非揮發性儲存區域1368。非揮發性儲存區域1368可用於儲存永久資訊,永久資訊在系統1302不被供電時不應遺失。應用程式1366可使用 與儲存非揮發性儲存區域1368中的資訊,例如電子郵件或電子郵件應用程式所用的其他訊息,以及類似者。同步應用程式(未圖示)也儲存在系統1302上並且被編程來與儲存在主機電腦上的對應的同步應用程式互動,以使非揮發性儲存區域1368中儲存的資訊同步於主機電腦處儲存的對應資訊。應瞭解到,其他應用程式可載入記憶體1362中並且運行於行動運算裝置800上,包括本文所述的遠端桌面伺服器元件108(及/或選擇性的編碼器軟體110、或遠端桌面客戶端軟體130)。
系統1302具有電源1370,電源1370可實施為一或更多個電池。電源1370可另外包括外部電源,例如AC轉接器或者補充或充電該等電池的供電對接裝置(powered docking cradle)。
系統1302也可包括無線電通訊裝置1372,無線電通訊裝置1372執行傳送與接收射頻通訊的功能。無線電通訊裝置1372透過通訊載體或服務提供商而促成系統1302與「外部世界」之間的無線連接。傳輸至與自無線電通訊裝置1372係在作業系統1364的控制之下實行。換句話說,無線電通訊裝置1372所接收的通訊可透過作業系統1364而傳送至應用程式1366,且反之亦然。
視覺指示器1320可用於提供視覺通知,及/或音訊介面1374可用於透過音訊變換器1325而產生音訊通知。在所示的實施例中,視覺指示器1320係發光二極體(LED),且音訊變換器1325係揚聲器。這些裝置可直接耦接於電源 1370,使得當已經啟用時,即使處理器1360與其他元件可能為了節省電池電力而關掉,這些裝置仍由通知機制所要求的維持開啟一段時間。LED可被編程為維持閃爍,直到使用者採取行動指出裝置的電源打開狀態。音訊介面1374用於提供音訊信號至使用者並且從使用者接收音訊信號。例如,除了耦接於音訊變換器1325之外,音訊介面1374也可耦接於麥克風,以接收音訊輸入,例如促成電話交談。根據本發明的實施例,麥克風也可作為音訊感測器,以促成通知的控制,如同下面將敘述的。系統1302可另外包括視訊介面1376,視訊介面1376促成內建攝影機1330的操作,以記錄靜止的影像、視訊流、與類似者。
實施系統1302的行動運算裝置1300可具有額外的特徵或功能。例如,行動運算裝置1300也可包括額外的資料儲存裝置(可移除的及/或不可移除的),例如磁碟、光碟、或匣帶。此種額外的儲存器係藉由非揮發性儲存區域1368而例示在第13B圖中。
行動運算裝置1300所擷取或產生且透過系統1302所儲存的資料/資訊可本地地儲存在行動運算裝置1300上(如同上述),或者該資料可儲存在任何數量的儲存媒介上,該等儲存媒介可由該裝置透過無線電通訊裝置1372來存取,或者透過行動運算裝置1300與相關於行動運算裝置1300的分離的運算裝置(例如,分散式運算網路(例如網際網路)中的伺服器電腦)之間的有線連接來存取。應瞭解到,此種資料/資訊可透過行動運算裝置1300透過無線電通訊裝置1372 或透過分散式運算網路來存取。相似的,根據熟知的資料/資訊轉移與儲存機制,此種資料/資訊可隨時轉移於多個運算裝置之間,以用於儲存與使用,包括電子郵件與合作的資料/資訊共享系統。
第14圖例示一系統的架構的一實施例,該系統用於提供固定格式文件中的圖形元件的偵測與編組至一或更多個客戶端裝置,如同上述。伺服器裝置1402所顯示的內容可儲存在不同的通訊通道中或儲存成其他的儲存類型。例如,使用目錄服務1422、網頁入口1424、郵件信箱服務1426、即時傳訊儲存1428、或社交網路位址1430,可儲存各種文件。遠端桌面協定軟體108可產生RDP相容的、MPEG相容的(或其他標準相容的)資料流以顯示於遠端系統處,例如透過網頁,例如透過網路1415。藉由範例的方式,客戶端運算裝置可實施為運算裝置102或遠端裝置120,且客戶端運算裝置可實施於個人電腦1404、平板運算裝置1406及/或行動運算裝置1408(例如,智慧型手機)中。除了接收RDP相容的與標準相容的顯示資料之外,客戶端運算裝置102、130、1200、1300、1406、1408的這些實施例的任何實施例可從儲存器1416獲得內容,並且可包括專用目的、基於標準的硬體元件,以解碼此種基於標準的、漸進式編碼的RDP資料。
本發明的實施例例如係參照根據本發明的實施例的方法、系統、與電腦程式產品的操作例示及/或方塊圖而敘述於上。方塊中提到的功能/作動可與任何流程圖所示的順序不同。例如,連續顯示的兩個方塊事實上可實質上同時執行, 或者該等方塊有時可以以相反的順序執行,取決於涉及的功能/作動。
本申請案中提供的一或更多個實施例的例示與敘述不打算以任何方式限制或限定所主張之本發明的範圍。本申請案中提供的該等實施例、範例、與細節係視為足夠傳達財產權,且促使其他人可以製做與使用所主張之發明的最佳模式。所主張之發明不該解釋為受限於本申請案中提供的任何實施例、範例、或細節。不管是否結合或分開地敘述與繪示,各種特徵(結構性與方法性兩者)係打算為選擇性地被包括或省略,以產生具有特定特徵組合的實施例。已經提供本申請案的例示與敘述,本領域中熟習技藝者可設想到多個變化、修改、與替代實施例,這些實施例落在本申請案中實施的一般發明性概念的較廣態樣的精神內,並不背離所主張之發明的較廣範圍。
300‧‧‧系統
302‧‧‧擷取元件
304‧‧‧RDP管線
306‧‧‧差異/差值處理器
308‧‧‧快速緩衝貯存處理器
310‧‧‧移動處理器
312‧‧‧分類元件
314‧‧‧視訊類型
316‧‧‧影像類型
318‧‧‧文字類型
320‧‧‧MPEG編碼器
322‧‧‧漸進式MPEG編碼器
324‧‧‧文字編碼器
326‧‧‧輸出元件

Claims (20)

  1. 一種壓縮視窗內容的方法,該視窗內容用於傳送至一客戶端裝置,該方法包括以下步驟:針對對應於在一特定時間在一視窗中包括的視窗區域之複數個編碼單元的每一者:將該編碼單元中包括的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等內容類型之至少一者包括一視窗影像類型;及根據該視窗內容具有一視窗影像類型的一判定,對該編碼單元的該視窗內容施加一漸進式基於標準的編碼;及傳送用於每一視窗區域之已壓縮的視窗內容位元流至該客戶端裝置。
  2. 如請求項1所述之方法,其中該基於標準的編碼包括MPEG型編碼。
  3. 如請求項1所述之方法,其中該等內容類型進一步包括一視訊類型與一文字類型。
  4. 如請求項3所述之方法,進一步包括以下步驟:根據一編碼單元的該視窗內容具有一視訊類型的一判定,對該編碼單元的該視窗內容施加一MPEG型編碼。
  5. 如請求項3所述之方法,進一步包括以下步驟:根據一 編碼單元的該視窗內容具有一文字類型的一判定,對該編碼單元的該視窗內容施加一文字編解碼器。
  6. 如請求項1所述之方法,其中該基於標準的編碼包括MPEG AVC/H.264與MPEG HEVC/H.265編碼的至少一者。
  7. 如請求項1所述之方法,其中將視窗內容分類之步驟包括以下步驟:決定在該視窗內容與一先前時間的視窗內容之間的改變數量與差異。
  8. 如請求項1所述之方法,其中將視窗內容分類之步驟包括以下步驟:根據在一預定時間時的該編碼單元的視窗內容與在一先前時間時的該編碼單元的視窗內容之一比較,偵測移動。
  9. 如請求項1所述之方法,進一步包括以下步驟:根據分類在每一編碼單元中的該視窗內容,分配中介資料至每一編碼單元。
  10. 如請求項9所述之方法,其中該中介資料包括:一或更多個品質旗標、一滑動旗標、一特殊效果旗標、一移動旗標、一空間跳躍旗標、與一時間跳躍旗標。
  11. 如請求項10所述之方法,其中該中介資料進一步包括複 數個位元,該等複數個位元界定該編碼單元中的視窗內容的垂直與水平移動。
  12. 一種系統,包括:一分類元件,該分類元件在一運算系統上執行並且配置來將複數個編碼單元的每一編碼單元的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等內容類型之至少一者包括一視窗影像類型;及一或更多個編碼模組,該一或更多個編碼模組在該運算系統上執行,該一或更多個編碼模組配置來根據該內容類型,對一編碼單元的該視窗內容施加一編碼;其中該一或更多個編碼模組係配置來施加一漸進式基於標準的編碼至與具有該視窗影像類型的該編碼單元相關的該視窗內容。
  13. 如請求項12所述之系統,其中該等複數個編碼單元對應於在一預定時間時的一視窗的多個區域。
  14. 如請求項12所述之系統,其中一遠端桌面協定系統產生一視窗圖,該視窗圖包括中介資料,該中介資料相關於與該視窗相關的該等複數個編碼單元的每一者。
  15. 如請求項14所述之系統,其中該中介資料包括:一或更多個品質旗標、一滑動旗標、一特殊效果旗標、一移動旗標、 一空間跳躍旗標、與一時間跳躍旗標。
  16. 如請求項12所述之系統,進一步包括複數個處理器,該等複數個處理器係配置來在該分類元件評估該等複數個編碼單元之前,分析該等複數個編碼單元的每一者,該等複數個處理器包括一差異與差值處理器、一快速緩衝貯存處理器、與一移動處理器。
  17. 如請求項12所述之系統,其中該一或更多個編碼模組所產生的已編碼視窗內容係相容於一基於標準的編解碼器。
  18. 如請求項12所述之系統,其中該分類元件係包括於該運算裝置的一遠端桌面協定系統內。
  19. 如請求項18所述之系統,進一步包括一接收裝置,該接收裝置包括一遠端桌面客戶端與一基於標準的硬體解碼器,其中在接收該視窗內容時,該接收裝置使用該基於標準的硬體解碼器來解碼與該編碼單元相關的已編碼視窗內容。
  20. 一種電腦儲存媒介,該電腦儲存媒介具有電腦可執行的指令儲存於其上,當該等指令被執行時,導致一運算系統執行傳送視窗內容至一客戶端裝置的一方法,該方法包括以下步驟:針對對應於在一特定時間在一視窗中包括的視窗區域之 複數個編碼單元的每一者:將該編碼單元中包括的視窗內容分類為具有一內容類型,該內容類型係選自複數個內容類型之中,該等複數個內容類型包括一視窗影像類型、一視訊類型、與一文字類型;根據該視窗內容具有一視窗影像類型的一判定,對該編碼單元的該視窗內容施加一漸進式基於標準的編碼;根據該視窗內容具有一視訊類型的一判定,對該編碼單元的該視窗內容施加一基於標準的編碼;及根據該視窗內容具有一文字類型的一判定,對該編碼單元的該視窗內容施加一文字編解碼器;產生一視窗圖,該視窗圖包括中介資料,該中介資料相關於該等複數個編碼單元的每一者,該中介資料包括一或更多個品質旗標、一滑動旗標、一特殊效果旗標、一移動旗標、一空間跳躍旗標、與一時間跳躍旗標;及傳送用於每一視窗區域之已編碼的視窗內容至該客戶端裝置。
TW103117927A 2013-06-12 2014-05-22 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器 TW201507440A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/916,511 US9210434B2 (en) 2013-06-12 2013-06-12 Screen map and standards-based progressive codec for screen content coding

Publications (1)

Publication Number Publication Date
TW201507440A true TW201507440A (zh) 2015-02-16

Family

ID=51134333

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103117927A TW201507440A (zh) 2013-06-12 2014-05-22 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器

Country Status (7)

Country Link
US (2) US9210434B2 (zh)
EP (1) EP3008903B1 (zh)
KR (1) KR101885008B1 (zh)
CN (1) CN105379279B (zh)
ES (1) ES2864863T3 (zh)
TW (1) TW201507440A (zh)
WO (1) WO2014200792A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948448B2 (en) 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
US9225979B1 (en) * 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US20150063451A1 (en) * 2013-09-05 2015-03-05 Microsoft Corporation Universal Screen Content Codec
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
EP3061253A1 (en) 2013-10-25 2016-08-31 Microsoft Technology Licensing, LLC Hash-based block matching in video and image coding
US10284821B2 (en) * 2014-02-19 2019-05-07 Canon Kabushiki Kaisha Imaging apparatus and imaging system
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
WO2015196322A1 (en) 2014-06-23 2015-12-30 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
KR102490706B1 (ko) 2014-09-30 2023-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
US9832521B2 (en) * 2014-12-23 2017-11-28 Intel Corporation Latency and efficiency for remote display of non-media content
CN107452041B (zh) 2016-05-31 2020-07-31 阿里巴巴集团控股有限公司 图片的生成方法及装置
CN107545261A (zh) * 2016-06-23 2018-01-05 佳能株式会社 文本检测的方法及装置
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
CN111052738B (zh) * 2017-04-21 2021-12-21 泽尼马克斯媒体公司 用于在视频编码中延迟后处理的系统和方法
CN107277509B (zh) * 2017-08-03 2019-10-25 重庆邮电大学 一种基于屏幕内容的快速帧内预测方法
CN108174214A (zh) * 2017-12-08 2018-06-15 重庆邮电大学 一种基于屏幕内容视频编码的远程桌面共享方法
CN108495135B (zh) * 2018-03-14 2020-11-10 宁波大学 一种屏幕内容视频编码的快速编码方法
CN110545446B (zh) * 2018-05-28 2022-01-18 深信服科技股份有限公司 一种桌面图像编码、解码方法、相关装置及存储介质
CN110933428B (zh) * 2019-10-17 2023-03-17 西安万像电子科技有限公司 图像处理方法及装置
CN111225214B (zh) * 2020-01-22 2022-08-12 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN111953983A (zh) * 2020-07-17 2020-11-17 西安万像电子科技有限公司 视频编码方法及装置
CN113965751B (zh) * 2021-10-09 2023-03-24 腾讯科技(深圳)有限公司 屏幕内容编码方法、装置、设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819714B2 (en) 2000-04-20 2004-11-16 Matsushita Electric Industrial Co., Ltd. Video encoding apparatus that adjusts code amount by skipping encoding of image data
US8311095B2 (en) 2002-07-17 2012-11-13 Onmobile Global Limited Method and apparatus for transcoding between hybrid video codec bitstreams
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7847755B1 (en) 2005-05-23 2010-12-07 Glance Networks Method and apparatus for the identification and selective encoding of changed host display information
US7548657B2 (en) 2005-06-25 2009-06-16 General Electric Company Adaptive video compression of graphical user interfaces using application metadata
US7929608B2 (en) 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
JP5233169B2 (ja) * 2007-05-31 2013-07-10 富士通モバイルコミュニケーションズ株式会社 携帯端末
US8687702B2 (en) 2008-10-27 2014-04-01 Advanced Micro Devices, Inc. Remote transmission and display of video data using standard H.264-based video codecs
US8254704B2 (en) * 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
US8189661B2 (en) 2009-03-09 2012-05-29 Microsoft Corporation Remote desktop protocol (RDP) tile image classification for improving compression efficiency and quality
US8171154B2 (en) 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
JP5515758B2 (ja) * 2010-01-18 2014-06-11 ソニー株式会社 画像処理装置および方法
US20130039408A1 (en) 2011-02-07 2013-02-14 Screenovate Technologies Ltd Method for enhancing compression and transmission process of a screen image
US8737724B2 (en) * 2011-06-10 2014-05-27 Microsoft Corporation Image type classifier for improved remote presentation session compression

Also Published As

Publication number Publication date
WO2014200792A1 (en) 2014-12-18
US9210434B2 (en) 2015-12-08
EP3008903A1 (en) 2016-04-20
CN105379279A (zh) 2016-03-02
EP3008903B1 (en) 2021-04-07
CN105379279B (zh) 2019-05-17
US20140369421A1 (en) 2014-12-18
KR101885008B1 (ko) 2018-08-02
US20160092155A1 (en) 2016-03-31
KR20160021205A (ko) 2016-02-24
ES2864863T3 (es) 2021-10-14

Similar Documents

Publication Publication Date Title
TW201507440A (zh) 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器
US20220408096A1 (en) Adaptive Transfer Function for Video Encoding and Decoding
US20150063451A1 (en) Universal Screen Content Codec
CN107209693B (zh) 缓冲器优化
EP4022573A1 (en) Predictive coding for point cloud compression
US9609338B2 (en) Layered video encoding and decoding
US8928680B1 (en) Method and system for sharing a buffer between a graphics processing unit and a media encoder
US20150117515A1 (en) Layered Encoding Using Spatial and Temporal Analysis
US9053526B2 (en) Method and apparatus for encoding cloud display screen by using application programming interface information
EP3443745A1 (en) Progressive updates with motion
US20220301523A1 (en) Method and apparatus for efficient application screen compression
US20240078713A1 (en) Texture coordinate prediction in mesh compression
CN114079787A (zh) 视频解码方法、视频编码方法、装置、设备和存储介质