JP4900976B2 - 画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム - Google Patents

画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP4900976B2
JP4900976B2 JP2008521949A JP2008521949A JP4900976B2 JP 4900976 B2 JP4900976 B2 JP 4900976B2 JP 2008521949 A JP2008521949 A JP 2008521949A JP 2008521949 A JP2008521949 A JP 2008521949A JP 4900976 B2 JP4900976 B2 JP 4900976B2
Authority
JP
Japan
Prior art keywords
image frame
compression level
new
server
image
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.)
Expired - Fee Related
Application number
JP2008521949A
Other languages
English (en)
Other versions
JP2009502069A (ja
Inventor
アイレス、ケネス、ジェイムス、ジュニア
スイスタン、シモン
トー、ヴァンドン、ダン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009502069A publication Critical patent/JP2009502069A/ja
Application granted granted Critical
Publication of JP4900976B2 publication Critical patent/JP4900976B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/142Detection of scene cut or scene change
    • 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/162User input
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • 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
    • 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/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42202Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Emergency Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Remote Sensing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、画像ストリーミング・システムの分野に関するものである。より詳細には、本発明は、画像ストリーミング・システム内の圧縮レベルを切り換える(transition)システム、方法、及び媒体に関するものである。
近年、画像又は他のコンテンツをサーバから複数のクライアントにストリーミングする機能のニーズが急速に高まっている。画像ストリーミングを利用するマルチメディア・アプリケーションの人気は益々高まっており、これらのアプリケーションとしては、ビデオ・ゲーム、ナビゲーション・ソフトウェア、ムービー又はビデオ・ストリーミング等が挙げられる。しかしながら、これらのアプリケーションは膨大なネットワーク・リソースを消費することが多く、その結果帯域幅のボトルネックとなり、特にコンテンツ・プロバイダがそれらのアプリケーションを使用してコンテンツを多数のユーザに配信する場合には、ネットワーク速度を低下させることになる。画像ストリーミングの人気が益々高まるにつれ、それに伴うネットワーク性能の問題も悪化することになる。
ネットワーク上での画像コンテンツ・ストリーミングの影響を緩和するために、コンテンツ・プロバイダは多くの場合各画像を送信前に圧縮する。その後、画像を受信したクライアント・システムは、当該画像をユーザに表示する前に解凍しなければならない。圧縮のレベルによっては、圧縮を利用することでネットワーク・トラフィックが大幅に減少する可能性もある。ビデオ画像用の圧縮スキームの1つとしては、静止画像圧縮技術の専門家グループ(Joint Photographic Experts Group:JPEG)のデジタル画像圧縮規格をビデオに拡張させたモーションJPEG(motion−JPEG)があり、これらのスキームでは各フレームがJPEG形式で暗号化される。JPEGグループは、復号化/符号化規格を作成するためのISO/IEC国際規格10918−1 ITU−T勧告T−81(以下「JPEG」)を創設したグループである。JPEG及びモーションJPEGは不可逆の圧縮規格である故に、圧縮プロセス中に情報が失われてしまう。モーションJPEGは、良好なフレーム単位の圧縮レベルを提供するが、ハフマン・コーディングのような一部の圧縮ステップは必ずしも常に必要なものではなく、性能を低下させる恐れがある。
動画像専門家グループ(Moving Pictures Experts Group:MPEG)は、MPEG−1、MPEG−2、及びMPEG−4(それぞれISO/IEC国際規格11172、13818、及び14496に対応)を含む別の圧縮規格ファミリーを創設したグループである。MPEGワーキング・グループは、MPEG規格をマルチメディア・ストリーミングに応用されるものとして設計し、また、ブロック・ベースの動き補償予測(MCP)を利用して圧縮を支援するように設計している。MPEGは、多くのアプリケーションにとってモーションJPEGの性能を補填するものである。しかしながら、対話型画像ストリーミング・アプリケーションについては、MPEGは最適とは言えない。MPEGでは、サーバがマルチフレーム・ムービーを生成して良好な圧縮レベルを達成する必要があり、その結果、対話型アプリケーションのフレーム単位での対話がもたらす利便性が損なわれることになる。MPEGはむしろ、ムービーや他のビデオのような予測可能なコンテンツに関するクライアント又は他のユーザ装置へのストリーミング向けに設計され最適化されている。
対話型画像ストリーミング・システムは、コンテンツをサーバから複数のクライアントに配信しようとするコンテンツ・プロバイダに難問を投げ掛ける。対話型画像ストリーミング・システムは、典型的には各画像フレームが最新のユーザ情報に基づいてカスタマイズされるようにユーザ入力をフレーム単位で受信する。例えば、マップ・ベースのアプリケーションは、ユーザ位置と進行方向に基づいて画像フレームを提供することができ、それによって当該ユーザ位置の進行方向に見えるものをユーザに示す画像を作成することが可能となる。別の例では、自動車の後方の仮想ビューを表示するアプリケーションは、自動車の現在位置、方位、及びスピードに基づく画像を提供することができる。各フレームを新しい情報に基づいて再計算しなければならず、また、MPEGを単一フレームと連動させた場合は最良の圧縮レートが達成されなくなる故に、MPEGは効率的な方法を提供しない。同様に、モーションJPEGを対話型画像ストリーミング・システムで使用した場合も、画像フレーム毎の消費リソースが膨大になる可能性がある圧縮方法をモーションJPEGが採用しているために、何らの利点ももたらされない。
したがって、対話型画像ストリーミング・システムを管理する効率的な仕組みが必要とされている。そのような仕組みは、コンテンツ・プロバイダが対話型画像コンテンツを複数のクライアント・システムに提供しようとする場合には益々必要性が高まる。
上述の課題の多くは、画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体によって解決される。一実施形態は、画像ストリーミング・システム内の圧縮レベルを切り換える方法を提供する。諸実施形態は一般に、平滑化モジュール(smoothing module)が画像フレームに関連する新しい圧縮レベル要求を受信するステップを含むことができる。諸実施形態は一般に、前記平滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム平滑化ルーチン(multi−frame smoothing routine)を生成することを含む平滑化ヒューリスティック(smoothing heuristic)を実行するステップも含むことができる。諸実施形態は、前記平滑化モジュールが生成した前記マルチフレーム平滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定するステップも含むことができる。
別の実施形態は、それ自体がデータ処理システム内で実行されたときに、前記システムに画像ストリーミング・システム内の圧縮レベルを切り換える一連の処理を実行させるように働く命令を含む機械アクセス可能な媒体を提供する。前記一連の処理は一般に、平滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップを含む。前記一連の処理は一般に、前記平滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム平滑化ルーチンを生成することを含む平滑化ヒューリスティックを実行するステップも含むことができる。諸実施形態は、前記平滑化モジュールが生成した前記マルチフレーム平滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定する一連の処理も含むことができる。
一実施形態は、画像ストリーミング・システムを提供する。前記システムは一般に、画像ストリームの新しい画像フレームを生成するコンテンツ・ジェネレータを含むことができる。前記システムは一般に、初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいて平滑化ヒューリスティックを実行することによって、前記新しい画像フレームに関する新しい圧縮レベルを選択する平滑化モジュールも含むことができる。前記システムは一般に、選択された前記圧縮レベルに基づいて前記新しい画像フレームを符号化するコンテンツ・エンコーダも含むことができる。
以下では例示として、同様の参照番号が同様の要素を指す添付図面を参照しながら、本発明の諸実施形態についてより詳しく説明する。
以下では、添付図面に示される本発明の例示的な実施形態を詳細に説明する。これらの例示的な実施形態は、本発明が明確に伝わる程度まで詳細に説明する。しかしながら、本明細書で提供される詳細さの程度によって様々な実施形態が限定されることは本出願人の意図するところではなく、むしろ、すべての修正形態、変更形態、及び均等物が添付の特許請求範囲で定義される本発明の趣旨及び範囲に含まれることが本出願人の意図するところである。以下の詳細な説明は、そのような実施形態が当業者に明らかとなるように企図されている。
本明細書では、画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体が開示される。一実施形態は、画像ストリーミング・システム内の画像フレーム間の圧縮レベルを切り換える方法を提供する。諸実施形態は一般に、平滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップを含むことができる。諸実施形態は一般に、前記平滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム平滑化ルーチンを生成することを含む平滑化ヒューリスティックを実行するステップも含むことができる。諸実施形態は、前記平滑化モジュールが生成した前記マルチフレーム平滑化ルーチンに基づいて、前記画像フレームの前記新しい圧縮レベルを設定するステップも含むことができる。他の実施形態は、前記平滑化モジュールが前記新しい圧縮レベルのインジケーションをコンテンツ・エンコーダに送信するステップを含むことができる。
本明細書に開示される諸実施形態は、画像ストリーミング・システム内の圧縮レベルを切り換える方法及びシステムを提供する。本明細書に開示される諸実施形態において、画像ストリームを生成するサーバは、前記画像ストリームの画像フレーム毎の圧縮レベルを判定するよう平滑化モジュールに要求することができる。前記平滑化モジュールは、前記画像ストリームの1つ又は複数の画像フレームを対象とするマルチフレーム平滑化ルーチンを生成することを含む平滑化ヒューリスティックを実行することができる。前記平滑化モジュールは、処理開始当初の初期圧縮レベル、ターゲット圧縮レベル、前記ターゲット圧縮レベルを達成すべきフレーム数等の情報を使用することができる。次に、前記平滑化モジュールは、生成した前記マルチフレーム平滑化ルーチンに基づいて画像フレーム毎の圧縮レベルを設定することができる。次に、前記サーバは、前記圧縮レベルを使用して前記画像フレームをクライアントに送信する前に符号化することができる。次に、前記クライアントは、前記圧縮レベルを使用して前記画像フレームを復号化し、前記画像をユーザに表示することができる。
有利なことに、本明細書に開示される圧縮レベル切り換えシステムを使用すれば、前記サーバは、ユーザの閲覧体験に殆ど影響を与えずに又はまったく影響を与えずに高い圧縮レベルと低い圧縮レベルの間で切り換えを行うことができる。これにより、サーバは、より低い品質の画像が必要とされる場合には前記圧縮レベルを滑らかに高くし、より高い品質の画像が必要とされる場合には前記圧縮レベルを滑らかに低くすることによって、帯域幅を節約することが可能となる可能性がある。対話型画像ストリーミング・システムは有利なことに、本明細書に開示されるシステムを使用して、ユーザの活動及び各環境との対話に応じて様々な圧縮レベルを平滑に提供することができる。本明細書に開示される圧縮レベル切り換えシステムは、対話型ではないが様々な圧縮レベルの提供が帯域幅要件又は他のリソース要件の緩和に役立つ可能性がある画像ストリーミング・システムにも役立てることが可能である。
以下では特定の実施形態についてハードウェア又はソフトウェアあるいはその両方の具体的な構成を参照しながら説明するが、本発明の諸実施形態は有利なことに、それらと実質的に均等な他のハードウェア・システム又はソフトウェア・システムあるいはその両方において実施することができることが当業者には理解されるだろう。
ここで添付図面を参照すると、図1は、一実施形態に従って画像をサーバから複数のクライアントにストリーミングするシステム環境を示している。図示の実施形態において、対話型画像ストリーミング・システム100は、サーバ102と、ネットワーク104を介して接続される1つ又は複数のクライアント106とを含む。クライアント106は、ネットワーク104を介してクライアント情報をサーバ102に送信することができ、サーバ102はその後、当該クライアント情報に基づいて新しい画像フレームを生成することができる。新しい画像フレームを生成した後、サーバ102は、当該画像フレームを定義済みの圧縮レベルで符号化し、符号化された画像フレームと、当該画像フレームの符号化に使用された圧縮レベルのインジケーションとをクライアント106に送信することができる。次に、クライアント106は、圧縮レベルに基づいて画像フレームを復号化することができ、当該画像をユーザに表示することができる。かくして、対話型画像ストリーミング・システム100を使用することにより、クライアント106とサーバ102とが連動して、各サイクルに由来するクライアント情報に基づいてストリーミング画像ストリームの各画像フレームを生成することができるようになる。有利なことに、対話型画像ストリーミング・システム100は、(後段でより詳細に説明するように)クライアント情報、連続する画像間の差、及び他の情報に基づいて適切なレベルの圧縮を選択することができ、その結果、より効率的な帯域幅の使用及び対話型画像ストリーミング・システム100内の処理が実現される可能性がある。
サーバ102、1つ又は複数のクライアント106、及びそれらの任意の又はすべてのコンポーネントは、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム・コンピュータ、ノート型又はラップトップ型コンピュータ、タブレットPC、デスクトップ・コンピュータ、ポータブル・コンピュータ・システム、PDA、セット・トップ・ボックス、携帯電話、無線デバイス等の汎用又は専用コンピュータ・システム上で実行することができる。一実施形態において、コンピュータ・システムは、中央処理装置(CPU)、ランダム・アクセス・メモリ(RAM)及び基本入出力システム読取り専用メモリ(BIOS ROM)を含めた関連する揮発性及び不揮発性メモリ、システム・モニタ、キーボード、1つ又は複数のフレキシブル・ディスケット・ドライブ、CD−ROMドライブ、固定ディスク記憶装置(「ハード・ドライブ」又は「ハード・ディスク・ドライブ」としても知られる)、マウスのようなポインティング・デバイス、ならびに任意選択のネットワーク・インターフェイス・アダプタを含むことができ、これらの要素はすべて、各要素を電気的に相互接続するマザーボード又はシステム・プレーナを使用して電気的に接続することができる。一実施形態において、サーバ102は、インターナショナル・ビジネス・マシーンズ・コーポレーション(IBM(登録商標))のeServerとすることも、ソフトウェアを実行し、又はRAM、読取り専用メモリ(ROM)、フラッシュ・メモリ、コンパクト・ディスク・ドライブ、ハード・ドライブ等のデータ記憶装置と結合された1つ又は複数の状態機械を実行し、あるいはその両方を実行する1つ又は複数のプロセッサ又はスレッド・プロセッサを有する同様のサーバとすることもできる。一実施形態において、クライアント106は、データ記憶装置と結合され、キーパッドや表示画面等のユーザ入出力デバイスと結合されたプロセッサを有する無線デバイスとすることができる。
ネットワーク104は、任意のタイプのネットワークであってよく、インターネット、イントラネット、LAN、WAN、イーサネット・ネットワーク、無線ネットワーク等のデータ通信チャネルの組合せであってもよい。中央に配置されたサーバ102がストリーミング画像コンテンツを分散した複数のクライアント106に送信する場合には、インターネット又は他の公衆ネットワークを利用することでそれらの間の通信が容易となる故に、ネットワーク104としては、インターネット又は他の公衆ネットワークが特に有益である可能性がある。クライアント106の一部又は全部は、無線ネットワーク104を介してインターネット・ネットワーク104(及びサーバ102)と通信することができる。しかしながら、本明細書に開示される本発明は、任意のタイプのデータ通信チャネルを利用して実施できることが当業者には理解されるだろう。
サーバ102は、通信モジュール110、コンテンツ変更検出器112、コンテンツ・ジェネレータ114、コンテンツ・エンコーダ116、平滑化モジュール118等のコンポーネントを含むことができる。通信モジュール110を用いると、サーバ102は、ネットワーク104を介してクライアント106との間で情報を容易に送受信することが可能となる。通信モジュール110は、クライアント106と通信する際にクライアント・サーバ・プロトコルのような任意のタイプのプロトコルを使用することができる。一実施形態では、サーバ102は、通信モジュール110を使用してクライアント106からのクライアント情報を受信することができ、符号化された画像フレーム又は圧縮情報あるいはその両方をクライアント106に送信することができる。クライアント情報は、クライアント106又はクライアント106のユーザ(又はユーザ選好)を識別する情報、ならびにユーザの現在位置や方向等、クライアント106にストリーミングすべき画像に関する情報を含むことができる。一例として、ユーザの現在位置に基づく3次元(3D)画像をユーザに表示する画像ストリーミング・アプリケーションの場合では、クライアント情報は、ユーザの位置を示す座標等のインジケーションを含むことができる。ユーザの視界に入るものに関する仮想レンダリングをユーザに表示する別のアプリケーションの場合では、クライアント情報は、ユーザが目を向けている方向を示すインジケーションを提供するコンパス方位等の方位情報も含むことができる。当業者なら、任意のタイプの情報をクライアント情報として含むことができることを理解するだろう。
コンテンツ・ジェネレータ114は、通信モジュール110から受信したクライアント情報に基づいて新しい画像フレームを生成することができる。マルチメディア・アプリケーションあるいは画像ストリーミング・アプリケーションとすることができるコンテンツ・ジェネレータ114は、任意のタイプの方法を使用して新しい画像フレームのコンテンツを判定することができる。例えば、コンテンツ・ジェネレータ114は、クライアント106又はクライアント106のユーザの現在位置又は方位、受信された又は計算されたユーザのスピード、イベントの発生、現在時刻、現在の気象条件又は照明条件、他のクライアント106又はユーザの位置、あるいは他の任意の要因に基づいて、新しい画像フレームを生成することができる。例示的な一実施形態において、コンテンツ・ジェネレータ114は、新しい画像フレームを生成してクライアント106の現在位置の3D表現を作成する。別の例示的な実施形態において、コンテンツ・ジェネレータ114は、クライアント106のユーザの目に映るものの仮想ビューをそれらの現在位置及び方位に基づいて描写する新しい画像フレームを生成することができる。別の実施形態のコンテンツ・ジェネレータ114は、繰り返し受信されるクライアント情報に基づいてクライアント106の速度及び方位を判定することができ、その後、判定された速度及び方位を使用して適切な新しい画像フレームを生成することができる。
コンテンツ変更検出器112は、コンテンツ・ジェネレータ114によって生成された新しい画像フレームを分析し、当該新しい画像フレームを以前の画像フレームと比較してそれらの画像フレームが異なるものかどうかを判定することができる。コンテンツ変更検出器112は、任意のタイプの方法又はそれらの組合せを使用して、新しい画像フレームと以前の画像フレームとの間で画像フレーム変更があるかどうかを判定することができる。コンテンツ変更検出器112によって使用される方法は、管理者又はユーザによって選択されても、ネットワーク104の現在の状態又は他の要因に基づいて選択されてもよい。一実施形態において、コンテンツ変更検出器112は、各画像フレームの圧縮サイズの比較を使用して、変更が生じたかどうかを判定することができる。対話型システムにおいて圧縮された画像フレームにサイズ変更が生じていないということは、クライアント106が同一の画像を繰り返し要求しており、連続する画像フレームが同一であることを示している。別の実施形態において、コンテンツ変更検出器112は、ブール代数分析を使用することにより、2つの画像フレームのビット・マップに関するベクトル処理又は統計処理を利用してベクトル間の差が存在するかどうかを判定することができる。他の実施形態では、画像の規則性が高く、スピードが重視される場合に、コンテンツ変更検出器112は、統計処理アルゴリズムの索引付きベクトルを利用することができる。一代替実施形態において、コンテンツ変更検出器112は、新しい画像フレームが以前の画像フレームと同一かどうか判定する際に役立つ予測を利用したシーン追跡アルゴリズム又は他のアルゴリズムを使用して、クライアント106のユーザが各自の置かれている環境と対話しているレベルを予測しようと試みることができる。別の代替実施形態では、例えばクライアントの位置に変更がない場合は画像が変更されている可能性も低いので、コンテンツ変更検出器112は、クライアント情報を使用して画像の変更が生じたかどうかを判定することができる。別の代替実施形態において、コンテンツ変更検出器112は、コンテンツ変更検出方法のうちの1つを使用して、変更が生じたかどうかを判定する代わりに画像フレーム間の変更の大きさ又は程度を判定することができる。このような判定は、変更の大きさ又は程度が選択された圧縮レベルに影響を与える場合に有益である可能性がある。
コンテンツ・エンコーダ116及び平滑化モジュール118はそれぞれ単独で又は連動して、送信対象の画像フレームに適した圧縮レベルを判定し、当該画像フレームを選択された圧縮レベルで符号化するように働くことができる。一実施形態では、連続する画像フレーム間の画像フレーム変更が存在しない場合(コンテンツ変更検出器112によってそのように判定された場合)に、コンテンツ・エンコーダ116は、送信対象の画像フレームの品質を向上させる(したがって圧縮レベルを低くする)ことを望むことができる。対話型画像ストリーミング・システムにおいて、静止画像(連続するフレーム間で変化しない画像)は、クライアントの視点から見た画像が静止したものであるため、画像品質が重視されることを示唆する。これとは対照的に、連続する画像が異なる場合には、クライアント106の視点に動きがあるため、より低い品質の(より高い圧縮レベルの)画像を利用することができる。ユーザが動きのある画像を見ているときは、詳細部分がぼやけ、肉眼であれば詳細部分の消失も許容されるため、画像の詳細部分の重要性が低くなる可能性がある。ユーザが動きのない画像を見ているときは、詳細部分の傷や欠落、圧縮アーチファクト等がユーザに見える可能性が高いため、画像の詳細部分の重要性が高まる可能性がある。
本明細書に開示されるシステムは有利なことに、画像ストリーム内に描かれる(連続する画像間の差又は欠落部分で表現される)動きと、ユーザ又はクライアント106あるいはその両方に知覚される動きとに基づいて圧縮レベルを適合する。連続する画像が各フレーム間で異なる(動きが暗黙に示される)場合には、コンテンツ・エンコーダ116は、圧縮レベルを高くし、ユーザの閲覧体験を損なうことなく帯域幅要件を緩和することができる。連続する画像が同一である(クライアント106の静止が暗黙に示される)場合には、コンテンツ・エンコーダ116は、圧縮レベルを低くして画像品質を向上させることができる。そのような処理によって帯域幅要件を緩和することができ、ユーザにとっての画像ストリーミング品質を保護することもできる。一実施形態では、コンテンツ・エンコーダ116が連続する同一の画像を送信する必要をなくすことができ、その代わりに、コンテンツ・エンコーダ116が以前の画像のインジケーションをユーザに送信するだけで済むようにすることができ、その結果、ユーザが静止している状況で帯域幅を節約することが可能となる。一代替実施形態において、コンテンツ・エンコーダ116及び平滑化モジュール118は、フレームの軽微な変更によって圧縮レベルが急激に高まるようなことがないように、フレーム間の変更の大きさ又は程度に基づいて圧縮レベルを選択することができる。
図3に関して後でより詳細に説明するように、コンテンツ・エンコーダ116は、平滑化モジュール118の平滑化アルゴリズムを使用して様々な圧縮レベル間の切り換えを平滑にすることによってユーザ体験を改善することができる。平滑化モジュール118は、初期圧縮レベルと、ターゲット圧縮レベルと、入力としてのターゲット圧縮レベルが満たされるまでシステムが積極的に待機するフレーム数とを使用することができる。一代替実施形態において、平滑化モジュール118は、初期圧縮レベルやターゲット圧縮レベル等任意の要因に基づいて、ターゲット圧縮レベルが満たされるまでシステムが積極的に待機するフレーム数を判定することができる。例えば、平滑化モジュール118は、初期圧縮レベルとターゲット圧縮レベルの間のギャップが大きい場合には、より多くのフレーム数を選択することができる。
これらの入力を使用して、平滑化モジュール118は、マルチフレーム平滑化ルーチンを生成する平滑化ヒューリスティックを実行することにより、画像フレームに関する新しい圧縮レベルを判定することができる。一実施形態において、平滑化モジュール118は、図5に関して後でより詳細に説明するように、モーションJPEGやMPEGのような圧縮規格の不可逆量子化ステップを介して圧縮レベルを変更することができる。図5に関して説明する圧縮アルゴリズムは、必要とされる様々な圧縮レベルに関する複数のルックアップ・テーブル(multiplier lookup table)を利用することができる。当業者なら、平滑化モジュール118が任意のタイプの平滑化メカニズムを使用できることを理解するだろう。
本明細書に開示される平滑化モジュール118は有利なことに、本明細書に開示される対話型画像ストリーミング・システム100のような画像ストリーミング・システム内の圧縮レベルを切り換える効果的かつ効率的な仕組みを提供することができる。本明細書に開示される平滑化モジュール118は、ムービーや他のビデオのような固定コンテンツを伴うシステム等、他の任意のタイプの画像ストリーミング・システム内の圧縮レベルも切り換えることができる。任意の画像ストリーミング・システムにおいて、サーバ102は、ユーザの閲覧体験に深刻な影響を及ぼすことなく、平滑化モジュール118を使用して圧縮レベルを増減させる切り換えを平滑に行うことができる。本明細書に開示される平滑化ヒューリスティックを用いると、サーバ102は、複数のフレームにわたる圧縮レベル間の切り換えを平滑に行うことが可能となり、その結果、ユーザの閲覧品質が切り換え操作によって損なわれることも少なくなる。対話型画像ストリーミング・システム100は、平滑化モジュール118を利用して、ユーザ・アクティビティ(即ちクライアント106アプリケーションにおけるユーザ動作)に応じて帯域幅要件を緩和するのに使用される圧縮レベルの変更を容易に行うことができる。したがって、本明細書に開示されるシステムは、ストリーム内の画像フレームに関する圧縮レベルを有利な形で切り換えることにより、システム内での圧縮レベルの変更を容易に行うことが可能となり、その結果効率性がもたらされる可能性がある。平滑化ヒューリスティックを使用して異なる圧縮レベル間の切り換えを平滑にすることにより、ネットワーク制約の範囲内で動作しながらストリーミング画像のビジュアル品質を保護することが可能となる。
図2は、一実施形態に係る図1の画像ストリーミング・システムのクライアント構造を示している。図示の実施形態では、クライアント106は、通信モジュール202、デコーダ204、ユーザ表示装置206、ユーザ入力装置208、位置判定装置210、及び方位判定装置212を含む。サーバ102の通信モジュール110の場合と同様に、通信モジュール202を用いると、クライアント106は、ネットワーク104を介してサーバ102との間で情報を容易に送受信することが可能となる。通信モジュール202は、サーバ102と通信する際に任意のタイプのプロトコルを使用することができる。一実施形態において、クライアント106は、通信モジュール202を使用してクライアント情報をサーバ102に送信することができ、符号化された画像フレーム又は圧縮レベルのインジケーションあるいはその両方をサーバ102から受信することができる。
デコーダ204は、通信モジュール202によって受信された符号化画像を解凍などによって復号化することができる。デコーダ204は、通信モジュール202によって受信された圧縮レベルのインジケーションを使用して画像を復号化する際に役立てることができる。更に、デコーダ204は、画像の復号化を適切に行うことができるように、圧縮レベルに関連する1つ又は複数のルックアップ・テーブルにアクセスすることができる。デコーダ204によって画像が処理された後、ユーザ表示装置206は、復号化された画像を表示画面、印刷画像、ホログラム、他の任意の出力装置などを介してユーザに表示することができる。
先述したように、クライアント情報は、ユーザ又はクライアント106あるいはその両方を識別するインジケーション、選好、位置、方位、又は他の情報を含むことができる。任意選択のユーザ入力装置208、位置判定装置210、及び方位判定装置212は、クライアント情報の請求又は提供を支援することができる。例えば、ユーザ入力装置208は、キーパッド、キーボード、ボタン、スタイラス、マウス、ジョイスティック、バーチャル・リアリティ・デバイス、音声コマンド、眼球運動等、任意のタイプの装置からのユーザ入力を受信することができる。ユーザ入力は、より高い又はより低い圧縮レベル要求や、より速い画面レート要求等のユーザ選好を含むことができる。ユーザ入力は、ユーザ位置又は方向を含むこともできる。位置判定装置210は、クライアント106又はユーザあるいはその両方の現在位置を判定することができる。位置判定装置210は、全地球測位システム(GPS)受信機や慣性計測装置(IMU)等、任意のタイプの位置判定装置であってよい。方位判定装置212は、クライアント106又はユーザあるいはその両方の現在方向を判定することができる。方位判定装置212は、電子コンパス、三角測量を使用したGPS受信機、従来のコンパス、IMU等、任意のタイプの方位判定装置であってよい。ユーザ入力装置208、位置判定装置210、又は方向判定装置212、あるいはそれらすべてによって生成されるクライアント情報を用いることにより、サーバ102は、生成される各画像フレームを、クライアント106又はユーザあるいはその両方の現在の状態に基づいてカスタマイズすることが可能となる。
図3は、一実施形態に従って新しい画像フレームを生成し、符号化し、送信するフローチャートの一例を示している。サーバ102又はサーバ102のいずれかのコンポーネントはそれぞれ単独で又は連動して、フローチャート300の方法を実行することができる。フローチャート300は、クライアント情報を受信する要素302から開始する。一実施形態において、通信モジュール110は、ネットワーク104を介してクライアント106からクライアント情報を受信することができる。クライアント情報が受信された後、要素304で、コンテンツ・ジェネレータ114は、受信されたクライアント情報に基づいて新しい画像フレームを生成することができる。コンテンツ・ジェネレータ114は、アプリケーションに応じて任意のタイプのアルゴリズムを使用して新しい画像フレームを生成することができる。例えば、コンテンツ・ジェネレータ114は、アプリケーションからそのような要求を受けた場合は、ユーザの視点から見たビューを表現する画像フレームを生成することができる。
次に、要素306で、平滑化モジュール118は、生成された画像フレームに関する初期圧縮レベルを判定することができる。一実施形態において、平滑化モジュール118は、単純に最近使用された圧縮レベルを初期圧縮レベルとして選択することもできる。別の実施形態において、平滑化モジュール118は、システムがマルチフレーム平滑化ルーチン内にあるかどうかに基づいて初期圧縮レベルを選択することができる。システムがマルチフレーム平滑化ルーチン内にある間は、初期圧縮レベルは、マルチフレーム平滑化ルーチンにおける現在のフレームに適した圧縮レベルに基づいて選択することができる。当初の圧縮レベルを5として圧縮ルーチンを開始し、フレーム毎に圧縮レベルを1つずつ増分させ、6フレームに及ぶ圧縮ルーチン終了時の圧縮レベルが10となった平滑化モジュール118の一例では、3つ目のフレームに関する初期圧縮レベルは圧縮レベル7(5+2=7)となる可能性がある。一実施形態において、平滑化モジュール118は、ユーザへの影響を緩和するために、1秒から2秒に延長されたマルチフレーム平滑化ルーチンを使用することができる。一例として、画像ストリームが1秒間に15フレーム送信された場合には、ある圧縮レベルから別の圧縮レベルへの切り換えを15〜30フレームで行うマルチフレーム平滑化ルーチンが有益である可能性がある。当業者なら、平滑化モジュール118が他のマルチフレーム平滑化ルーチンを利用できることを理解するだろう。
初期圧縮レベルが平滑化モジュール118によって判定された後、要素308で、コンテンツ変更検出器112は、生成された新しい画像フレームを以前の画像フレームと比較する。先述したように、コンテンツ変更検出器112は、任意の方法を使用して2つの画像フレームを比較することができる。判断ブロック310で、生成された新しい画像フレームとそれ以前の画像フレームとの間で画像フレーム変更が行われていることがコンテンツ変更検出器112によって判定された場合には、要素314に進む。要素314で、平滑化モジュール118は、新しい画像フレームに対する平滑化ヒューリスティックを実行して当該画像フレームの品質を低下させ、圧縮レベルを高くすることができる。画像フレーム間の画像フレーム変更があることから、ユーザの視野が移動する可能性が高く、したがってより低い画像フレーム品質がユーザに許容される可能性が高いことが示唆されるため、平滑化モジュール118は圧縮レベルを高くする。判断ブロック310で、生成された新しい画像フレームとそれ以前の画像フレームとの間で画像フレーム変更が行われていないことがコンテンツ変更検出器112によって判定された場合には、要素312に進む。要素312で、平滑化モジュール118は、新しい画像フレームに対する平滑化ヒューリスティックを実行して当該画像フレームの品質を向上させ、圧縮レベルを低くすることができる。画像フレーム間の画像フレーム変更がないことから、ユーザの視野が移動しない可能性が高く、したがってより高い画像フレーム品質をユーザが要求する可能性が高いことが示唆されるため、平滑化モジュール118は圧縮レベルを低くすることができる。
要素312又は要素314で、平滑化モジュール118は、任意の方法を使用して平滑化ヒューリスティックを実行することができる。一実施形態において、平滑化モジュール118は、複数の画像フレームにわたって複数段階の圧縮ルーチンが行われることになる一連の圧縮品質ステップをじて、初期圧縮レベルとターゲット圧縮レベルの間の増分(圧縮レベルの低下又は増加に応じた適切な方向への増分)を行うことができる。例えば、平滑化モジュール118は、最低圧縮レベルと最高圧縮レベルの間の5段階の圧縮レベルを使用することができる。しかしながら、図5に関して後でより詳細に説明するように、サーバ102及びクライアント106は、各圧縮レベル毎に、当該圧縮レベルに関するルックアップ・テーブルを設ける必要が生じる可能性がある。圧縮レベル数は、サーバ102とクライアント106の両方におけるメモリ使用率と、ヒューリスティックの平滑性と、その結果得られるストリーミング画像との間にトレード・オフの関係を必然的に生み出すことになる。圧縮レベル数が高くなるほど圧縮レベル間の切り換えも平滑になる可能性があるが、追加的なメモリ容量が必要となる可能性があり、そのため、特に処理資源及びメモリ資源の限られたクライアント106に関しては問題が生じる恐れがある。典型的には、平滑な切り換えを行うには3段階以上の圧縮レベルが望ましいが、性能の低下を招く可能性があるものの、より低いレベルも可能であることが当業者には理解されるだろう。マルチフレーム平滑化ルーチンを生成する際に、平滑化モジュール118は、ある圧縮レベルから別の圧縮レベルに概ね線形的に移行する手法を使用することができ、あるいは、より高い又はより低い圧縮レベルにバイアスが掛けられたアルゴリズム等、他の任意のタイプのアルゴリズムを使用することもできる。
平滑化モジュール118が平滑化ヒューリスティックを実行した後、要素316で、コンテンツ・エンコーダ116は、平滑化モジュール118の結果に基づいて画像フレームに関する新しい圧縮レベルを設定することができる。次に、要素318で、コンテンツ・エンコーダ116は、当該新しい圧縮レベルに基づいて新しい画像フレームを符号化することができる。先述したように、コンテンツ・エンコーダ116は、任意のタイプの符号化アルゴリズムを使用して新しい画像フレームを符号化することができる。次に、要素320で、通信モジュール110は、符号化された新しい画像フレームと、新しい圧縮レベルのインジケーションとをクライアント106に送信することができ、その後フローチャート300の方法は終了する。フローチャート300の方法は、要素302に戻って上記のプロセスを各フレーム毎に繰り返すこともできる。
図4は、一実施形態に従ってユーザ入力を受信し、画像フレームを受信し、当該画像フレームをユーザに表示するフローチャートの一例を示している。クライアント106又はクライアント106の任意のコンポーネントはそれぞれ単独で又は連動して、フローチャート400の方法を実行することができる。フローチャート400は、ユーザ入力を受信する要素402から開始する。一実施形態において、通信モジュール202は、先述したようにユーザ入力装置208を介してユーザからの入力を受信することができる。別法として、通信モジュール202は、位置判定装置210又は方位判定装置212からの入力を受信することができる。要素404で、ユーザ入力装置208は、任意選択でユーザ入力を送信用の別の形式に変換することなどによってユーザ入力を処理することもできる。次に、要素406で、通信モジュール202は、ネットワーク104を介してサーバ102にユーザ入力のインジケーションを送信することができる。
ユーザ入力のインジケーションが送信された後、フローチャート400の方法は、通信モジュール202がネットワーク104を介して符号化された画像フレームをサーバ102から受信することができる要素408に進むことができる。要素410で、通信モジュール202は、ネットワーク104を介して符号化された画像フレームに関する圧縮レベルのインジケーションをサーバ102から受信することもできる。一実施形態において、通信モジュール202は、符号化された画像フレームと圧縮レベルのインジケーションを同一の送信において受信することができる。
要素412で、デコーダ204は、圧縮レベルのインジケーションを使用して、符号化された画像フレームを復号化することができる。デコーダ204は、図5に関して後でより詳細に説明するように、指示された圧縮レベルに関連付けられたルックアップ・テーブルを使用して、復号化プロセスの逆量子化ステップを実行することができる。画像フレームが復号化された後、要素414で、ユーザ表示装置206は、復号化された画像フレームをユーザに表示することができ、その後フローチャート400の方法は終了する。フローチャート400の方法は、要素402に戻ってフローチャート全体を各フレーム毎に繰り返すこともできる。
本明細書に開示されるフローチャート400の方法を用いると、対話型画像ストリームをクライアント106装置上に表示することが可能となる。通信モジュール202は、ユーザの対話を示すインジケーションをサーバ102に送信することができ、また、当該ユーザの対話に基づいて符号化された画像フレームを再度受信することができる。次に、デコーダ204は、画像フレームを復号化することができ、ユーザ表示装置206は、復号化された画像フレームをユーザに表示する。図3及び図4の方法を各フレーム毎に繰り返すことにより、対話型画像ストリーミング体験をユーザに与えることができる。有利なことに、本明細書に記載される平滑化ヒューリスティックを用いると、ユーザの閲覧体験の品質の低下を緩和しながら、ユーザのアクションに基づく圧縮レベルの変更も容易となり、その結果、利用可能な帯域幅を効果的かつ効率的に使用することが可能となる。
図5は、一実施形態に従って画像フレームの符号化及び復号化を行うフローチャートの一例を示している。サーバ102のコンテンツ・エンコーダ116とクライアント106のデコーダ204とはそれぞれ単独で又は連動して、フローチャート500の方法を実行することができる。フローチャート500の方法は、MPEGやモーションJPEGのような典型的なビデオ符号化/復号化スキーム又はアルゴリズムを説明することができる。フローチャート500の方法は網羅的なものではなく、具体的な符号化スキームは、MPEGアルゴリズムの動き補償ステップ等より多くのステップを有することも、これとはまったく異なる方法を有することもある。当業者なら、図5の方法は単なる一例に過ぎず、本明細書に開示の諸実施形態とともに他の符号化/復号化方法を使用することも可能であることを理解するだろう。
フローチャート500は、コンテンツ・エンコーダ116が符号化対象の入力画像フレームを受信することができる要素502から開始する。次に、コンテンツ・エンコーダ116は、入力画像フレームに対して離散コサイン変換(DCT)処理を実行することができる。DCT処理は、信号(入力画像フレームの空間情報)を取得し、当該信号を出力として1つ又は複数の8×8のピクセル・ブロックの形で圧縮するのに適した数値データに変換する、実質的に無損失の数学的変換であり得る。要素506で、DCT処理の出力は、選択された圧縮レベルに基づいてコンテンツ・エンコーダ116内で量子化される。コンテンツ・エンコーダ116は、適切な参照テーブルの定数をDCT処理から出力される8×8の各ピクセル・ブロックの除数として使用して、量子化ステップを実行することができる。適切な参照テーブルは、選択された圧縮レベルに関連する参照テーブルであってもよい。一実施形態では、可能な圧縮レベル毎に参照テーブルを設けることができる。次に、フローチャート500の方法は、コンテンツ・エンコーダ116が要素506から出力された量子化後のDCT値を圧縮することができる要素508に進むことができる。要素508で、コンテンツ・エンコーダ116は、量子化後のDCT値をジグザグ・シーケンスの1次元配列に再配置することができ、その後、ラン・レングス符号化(RLE)又はハフマン符号化あるいはその両方が使用されるエントロピー符号化メカニズムを使用することができる。
クライアント106のデコーダ204は、符号化された画像フレームを数学的に反転させ解凍することによって当該画像フレームを復号化することができる。デコーダ204は、受信された画像フレームを解凍することによって要素510から開始することができ、要素512では、選択された圧縮レベルに基づいて、受信された画像に対して逆量子化(dequantization)(「inverse quantization」としても知られる)を実行することができる。デコーダ204は、適切な参照テーブルの定数を解凍ステップ後に得られる8×8の各ピクセル・ブロックの増倍率として使用して、逆量子化ステップを実行することができる。適切な参照テーブルは、選択された圧縮レベルに関連する参照テーブルであってもよい。有利なことに、同一の参照テーブルをそれぞれサーバ102とクライアント106の両方に同時に記憶することができる。次に、デコーダ204は、受信された画像フレームに対して逆DCT変換を実行することができ、その結果出力された画像フレームを表示することができ、あるいは他の何らかの方法で処理することができる。その後、フローチャート500の方法を終了させることができる。
一般に、本発明の諸実施形態を実施する上で実行されるルーチンは、オペレーティング・システム又は特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、あるいは命令シーケンスの一部とすることができる。本発明のコンピュータ・プログラムは、典型的にはネイティブ・コンピュータによって機械読取り可能なフォーマットに変換され、したがって実行可能命令に変換される複数の命令から構成される。また、各プログラムは、当該プログラムのローカルに所在する、あるいはメモリ内又は記憶装置上で発見される変数及びデータ構造から構成される。更に、後述の様々なプログラムは、本発明の特定の実施形態でそれらのプログラムが実装されるアプリケーションに基づいて特定することができる。しかしながら、後述する任意の特定のプログラム名称は便宜上使用されるものに過ぎず、それ故、本発明はそのような名称で特定される具体的なアプリケーション、又はそのように暗示される具体的なアプリケーション、あるいはその両方だけを使用するように限定されるべきではないことを理解していただきたい。
本開示の利益を享受する当業者なら、本発明が画像ストリーミング・システム内の圧縮レベルを切り換える方法、システム、及び媒体を対象とするものであることを理解するだろう。添付図面に示し上記の詳細な説明に記載した本発明の形態は、例示的なものとして解釈されるべきであることを理解していただきたい。添付の特許請求範囲は、本明細書に開示した例示的な実施形態のすべての変更形態を包含するように広義に解釈されることが本出願人の意図するところである。
一実施形態に従って画像をサーバから複数のクライアントにストリーミングするシステム環境を示す図である。 一実施形態に係る図1の画像ストリーミング・システムのクライアント構造を示す図である。 一実施形態に従って新しい画像フレームを生成し、符号化し、送信するフローチャートの一例を示す図である。 一実施形態に従ってユーザ入力を受信し、画像フレームを受信し、当該画像フレームをユーザに表示するフローチャートの一例を示す図である。 一実施形態に従って画像フレームの符号化及び復号化を行うフローチャートの一例を示す図である。

Claims (18)

  1. サーバと、前記サーバにネットワークを介して接続される1つ又は複数のクライアントとを備えている画像ストリーミング・システムにおいて画像フレーム間の圧縮レベルを切り換える方法であって、
    前記サーバが、前記1又は複数のクライアントからのクライアント情報を受信するステップと、
    前記サーバが、前記受信したクライアント情報に基づいて新しい画像フレームを生成するステップと、
    前記サーバが、前記生成された新しい画像フレームについての圧縮レベルを判定するステップと、
    前記サーバが、前記新しい画像フレームと以前の画像フレームとを比較して、前記新しい画像フレームと前記以前の画像フレームとの間の画像フレーム変更があったかどうかを決定するステップと、
    前記サーバが、前記画像フレーム変更があることに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記画像フレーム変更がないことに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させるステップと、
    前記サーバが、前記設定された新しい圧縮レベルに基づいて前記新しい画像フレームを符号化するステップと、
    前記サーバが、前記符号化された新しい画像フレームと前記新しい圧縮レベルを前記1又は複数のクライアントに送信するステップと
    を含む、前記方法。
  2. 前記サーバが、前記新しい画像フレームについての新しい圧縮レベルを達成すべきフレーム数を変更するステップを更に含む、請求項1に記載の方法。
  3. 前記新しい画像フレームについての新しい圧縮レベルは、前記判定された圧縮レベルよりも高い圧縮レベルである、請求項1又は2に記載の方法。
  4. 前記新しい画像フレームについての新しい圧縮レベルは、前記判定された圧縮レベルよりも低い圧縮レベルである、請求項1又は2のいずれか一項に記載の方法。
  5. 前記新しい画像フレームについての新しい圧縮レベルは、ルックアップ・テーブルと関連付けられる、請求項1〜のいずれか一項に記載の方法。
  6. 対話型ストリーミング画像ストリームの複数のフレームに関して、前記受信するステップ、前記生成するステップ、前記判定するステップ、前記決定するステップ、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させるステップ、前記符号化するステップ、及び、前記送信するステップを繰り返す、請求項1〜のいずれか一項に記載の方法。
  7. 前記クライアント情報を受信するステップが、前記サーバ内の通信モジュールによって実行され、
    前記新しい画像フレームを生成するステップが、前記サーバ内のコンテンツ・ジェネレータによって実行され、
    前記画像フレーム変更があったかどうかを決定するステップが、前記サーバ内のコンテンツ変更検出器によって実行され、
    前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させるステップが、前記サーバ内の平滑化モジュールによって実行され、
    前記新しい画像フレームを符号化するステップが、前記サーバ内のコンテンツ・エンコーダによって実行され、
    前記送信するステップが、前記通信モジュールによって実行される、
    請求項1〜のいずれか一項に記載の方法。
  8. 前記クライアント情報を受信するステップが、前記サーバ内の通信モジュールによって実行され、
    前記新しい画像フレームを生成するステップが、前記サーバ内のコンテンツ・ジェネレータによって実行され、
    前記画像フレーム変更があったかどうかを決定するステップが、前記サーバ内のコンテンツ変更検出器によって実行され、
    前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させるステップが、前記サーバ内の平滑化モジュールによって実行され、
    前記新しい画像フレームを符号化するステップが、前記サーバ内のコンテンツ・エンコーダによって実行され、
    前記送信するステップが、前記通信モジュールによって実行され、
    前記変更するするステップが、前記平滑化モジュールによって実行される、請求項2に記載の方法。
  9. 画像ストリーミング・システム内のサーバであって、
    前記1又は複数のクライアントからのクライアント情報を受信する通信モジュールと、
    前記受信したクライアント情報に基づいて新しい画像フレームを生成するコンテンツ・ジェネレータと、
    前記新しい画像フレームと以前の画像フレームとを比較して、前記新しい画像フレームと前記以前の画像フレームとの間の画像フレーム変更があったかどうかを決定するコンテンツ変更検出器と、
    前記画像フレーム変更があることに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記画像フレーム変更がないことに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させる平滑化モジュールと、
    前記設定された新しい圧縮レベルに基づいて前記新しい画像フレームを符号化するコンテンツ・エンコーダと
    を備えており、
    前記通信モジュールが、前記符号化された新しい画像フレームと前記新しい圧縮レベルを前記1又は複数のクライアントに送信する、
    前記サーバ。
  10. 前記平滑化モジュールが、前記新しい画像フレームについての新しい圧縮レベルを達成すべきフレーム数を変更する、請求項に記載のサーバ。
  11. 前記新しい画像フレームについての新しい圧縮レベルは、前記判定された圧縮レベルよりも高い圧縮レベルである、請求項又は10に記載のサーバ。
  12. 前記新しい画像フレームについての新しい圧縮レベルは、前記判定された圧縮レベルよりも低い圧縮レベルである、請求項又は10に記載のサーバ。
  13. 前記コンテンツ・エンコーダと通信する1つ又は複数のルックアップ・テーブルを更に備えており、前記1つ又は複数のルックアップ・テーブルはそれぞれ圧縮レベルと関連付けられている、請求項12のいずれか一項に記載のサーバ。
  14. 画像ストリーミング・システム内のサーバであって、
    前記1又は複数のクライアントからのクライアント情報を受信する手段と、
    前記受信したクライアント情報に基づいて新しい画像フレームを生成する手段と、
    前記生成された新しい画像フレームについての圧縮レベルを判定する手段と、
    前記新しい画像フレームと以前の画像フレームとを比較して、前記新しい画像フレームと前記以前の画像フレームとの間の画像フレーム変更があったかどうかを決定する手段と、
    前記画像フレーム変更があることに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも高く設定して、画像品質を低下させ、一方、前記画像フレーム変更がないことに応じて、前記新しい画像フレームについての新しい圧縮レベルを前記判定された圧縮レベルよりも低く設定して、画像品質を向上させる手段と、
    前記設定された新しい圧縮レベルに基づいて前記新しい画像フレームを符号化する手段と、
    前記符号化された新しい画像フレームと前記新しい圧縮レベルを前記1又は複数のクライアントに送信する手段と
    を備えている、前記サーバ。
  15. 前記新しい画像フレームについての新しい圧縮レベルを達成すべきフレーム数を変更する手段をさらに備えている、請求項14に記載のサーバ。
  16. 前記コンテンツ・エンコーダと通信する1つ又は複数のルックアップ・テーブルを更に備えており、前記1つ又は複数のルックアップ・テーブルはそれぞれ圧縮レベルと関連付けられている、請求項14又は15に記載のサーバ。
  17. 画像ストリーミング・システムであって、
    請求項16のいずれか一項に記載のサーバと、
    前記サーバにネットワークを介して接続される1つ又は複数のクライアントと
    を備えている、前記画像ストリーミング・システム。
  18. サーバと、前記サーバにネットワークを介して接続される1つ又は複数のクライアントとを備えている画像ストリーミング・システムにおいて画像フレーム間の圧縮レベルを切り換えるコンピュータ・プログラムであって、前記サーバに、請求項1〜のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
JP2008521949A 2005-07-19 2006-07-13 画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム Expired - Fee Related JP4900976B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/184,345 US7616821B2 (en) 2005-07-19 2005-07-19 Methods for transitioning compression levels in a streaming image system
US11/184,345 2005-07-19
PCT/EP2006/064229 WO2007009941A2 (en) 2005-07-19 2006-07-13 Transitioning compression levels in a streaming image system

Publications (2)

Publication Number Publication Date
JP2009502069A JP2009502069A (ja) 2009-01-22
JP4900976B2 true JP4900976B2 (ja) 2012-03-21

Family

ID=37025977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008521949A Expired - Fee Related JP4900976B2 (ja) 2005-07-19 2006-07-13 画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム

Country Status (7)

Country Link
US (2) US7616821B2 (ja)
EP (1) EP1908299A2 (ja)
JP (1) JP4900976B2 (ja)
CN (1) CN101223791B (ja)
CA (1) CA2615244A1 (ja)
IL (1) IL188757A (ja)
WO (1) WO2007009941A2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616821B2 (en) * 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US7506071B2 (en) * 2005-07-19 2009-03-17 International Business Machines Corporation Methods for managing an interactive streaming image system
US20070028286A1 (en) * 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system
US8147339B1 (en) * 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8447065B2 (en) 2008-09-16 2013-05-21 Cyberlink Corp. Method of facial image reproduction and related device
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US9965771B2 (en) * 2010-07-02 2018-05-08 Dialogic Corporation System and method of tracking video advertisements
US8743953B2 (en) * 2010-10-22 2014-06-03 Motorola Solutions, Inc. Method and apparatus for adjusting video compression parameters for encoding source video based on a viewer's environment
EP2579593A1 (en) * 2011-10-04 2013-04-10 Thomson Licensing Adaptive quantisation for intra-encoded image blocks
US11314405B2 (en) * 2011-10-14 2022-04-26 Autodesk, Inc. Real-time scrubbing of online videos
US9197904B2 (en) * 2011-12-15 2015-11-24 Flextronics Ap, Llc Networked image/video processing system for enhancing photos and videos
US9137548B2 (en) * 2011-12-15 2015-09-15 Flextronics Ap, Llc Networked image/video processing system and network site therefor
US20130195198A1 (en) * 2012-01-23 2013-08-01 Splashtop Inc. Remote protocol
GB2509169B (en) * 2012-12-21 2018-04-18 Displaylink Uk Ltd Management of memory for storing display data
WO2016010319A2 (ko) 2014-07-14 2016-01-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
US10142651B1 (en) * 2014-12-11 2018-11-27 Pixelworks, Inc. Frame rate conversion with partial motion vector
US10462477B2 (en) 2015-02-25 2019-10-29 Cinova Media Partial evaluator system and method
US9589543B2 (en) * 2015-03-18 2017-03-07 Intel Corporation Static frame image quality improvement for sink displays
US20170103577A1 (en) * 2015-10-12 2017-04-13 Cinova Media Method and apparatus for optimizing video streaming for virtual reality
US10460700B1 (en) 2015-10-12 2019-10-29 Cinova Media Method and apparatus for improving quality of experience and bandwidth in virtual reality streaming systems
US12212751B1 (en) 2017-05-09 2025-01-28 Cinova Media Video quality improvements system and method for virtual reality
US10944971B1 (en) 2017-05-22 2021-03-09 Cinova Media Method and apparatus for frame accurate field of view switching for virtual reality
GB2573271B (en) 2018-03-27 2022-04-06 Displaylink Uk Ltd Data transmission to mobile devices
US10990812B2 (en) * 2018-06-20 2021-04-27 Agora Lab, Inc. Video tagging for video communications
US12204686B2 (en) 2018-06-20 2025-01-21 Agora Lab, Inc. Video tagging for video communications
CN114710640B (zh) * 2020-12-29 2023-06-27 华为技术有限公司 基于虚拟形象的视频通话方法、装置和终端

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW256010B (ja) 1991-04-18 1995-09-01 Ampex
US5157488A (en) 1991-05-17 1992-10-20 International Business Machines Corporation Adaptive quantization within the jpeg sequential mode
GB9206651D0 (en) 1992-03-26 1992-05-06 Solid State Logic Ltd Video processing
US5546557A (en) 1993-06-14 1996-08-13 International Business Machines Corporation System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem
US5396284A (en) 1993-08-20 1995-03-07 Burle Technologies, Inc. Motion detection system
JPH07236139A (ja) * 1994-02-21 1995-09-05 Nippon Columbia Co Ltd データ圧縮装置
JP3954656B2 (ja) 1994-09-29 2007-08-08 ソニー株式会社 画像符号化装置及び方法
US5886743A (en) * 1994-12-28 1999-03-23 Hyundai Electronics Industries Co. Ltd. Object-by information coding apparatus and method thereof for MPEG-4 picture instrument
US5708767A (en) 1995-02-03 1998-01-13 The Trustees Of Princeton University Method and apparatus for video browsing based on content and structure
US5623424A (en) 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
AU713904B2 (en) * 1995-06-29 1999-12-16 Thomson Multimedia S.A. System for encoding and decoding layered compressed video data
GB2342525B (en) 1995-10-30 2000-06-28 Sony Uk Ltd Image quantisation based on image activity
JP3173369B2 (ja) * 1996-04-25 2001-06-04 松下電器産業株式会社 画像圧縮符号化装置
JP3680527B2 (ja) * 1997-01-31 2005-08-10 富士通ディスプレイテクノロジーズ株式会社 薄膜トランジスタマトリクス基板及びその製造方法
DE69837003T2 (de) 1997-02-12 2007-10-18 Mediatek Inc. Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
JPH11239329A (ja) * 1998-02-23 1999-08-31 Sony Corp 画像伝送装置およびそれを使用した画像伝送システム
US6243467B1 (en) * 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
JP4018266B2 (ja) 1998-11-13 2007-12-05 キヤノン株式会社 機器制御装置、端末装置、ネットワークシステム、制御方法、及び記憶媒体
US6449392B1 (en) 1999-01-14 2002-09-10 Mitsubishi Electric Research Laboratories, Inc. Methods of scene change detection and fade detection for indexing of video sequences
EP1190575B1 (en) 1999-06-18 2009-08-12 Intel Corporation Systems and methods for enhanced visual presentation using interactive video streams
EP1287701A1 (en) * 2000-05-18 2003-03-05 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
US6995805B1 (en) 2000-09-29 2006-02-07 Sonic Solutions Method and system for scene change detection
US7599434B2 (en) 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
US6895054B2 (en) 2001-09-28 2005-05-17 Divxnetworks, Inc. Dynamic bit rate control process
US7130472B2 (en) 2002-01-21 2006-10-31 Canon Kabushiki Kaisha Image distribution apparatus, communication terminal apparatus, and control method thereof
US20030161398A1 (en) * 2002-02-21 2003-08-28 Meir Feder Improving static picture quality in compressed video
GB2395081A (en) * 2002-10-31 2004-05-12 Hewlett Packard Co Image capture system
US7336890B2 (en) 2003-02-19 2008-02-26 Microsoft Corporation Automatic detection and segmentation of music videos in an audio/video stream
GB0428160D0 (en) 2004-12-22 2005-01-26 British Telecomm Variable bit rate processing
US7506071B2 (en) 2005-07-19 2009-03-17 International Business Machines Corporation Methods for managing an interactive streaming image system
US7616821B2 (en) 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US20070028286A1 (en) 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system

Also Published As

Publication number Publication date
US20070019866A1 (en) 2007-01-25
WO2007009941A3 (en) 2007-07-26
IL188757A (en) 2011-12-29
CN101223791B (zh) 2010-12-29
CA2615244A1 (en) 2007-01-25
JP2009502069A (ja) 2009-01-22
CN101223791A (zh) 2008-07-16
EP1908299A2 (en) 2008-04-09
US7616821B2 (en) 2009-11-10
IL188757A0 (en) 2008-08-07
US8218886B2 (en) 2012-07-10
US20100020868A1 (en) 2010-01-28
WO2007009941A2 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
JP4900976B2 (ja) 画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム
US7668965B2 (en) Systems, methods, and media for managing an interactive streaming image system
US8254685B2 (en) Detecting content change in a streaming image system
CN101049025B (zh) 根据单个输入产生多个代码转换输出的一种方法和系统
CN106713915B (zh) 对视频数据进行编码的方法
US20040001544A1 (en) Motion estimation/compensation for screen capture video
JP5548671B2 (ja) 画像処理システム、画像提供サーバ、情報処理装置、および画像処理方法
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
US20180184089A1 (en) Target bit allocation for video coding
CA3057894C (en) Video compression using down-sampling patterns in two phases
US6678329B2 (en) Client-assisted motion estimation for client-server video communication
CN114640844B (zh) 直播视频编码中的参考块搜索方法、装置及计算机设备
Junghare et al. Compression Techniques for Remote Visualization on Mobile Platforms
CN112073724A (zh) 视频信息处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110913

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110913

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111206

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees