CN116320394A - Adaptive transfer function for video encoding and decoding - Google Patents

Adaptive transfer function for video encoding and decoding Download PDF

Info

Publication number
CN116320394A
CN116320394A CN202310395840.1A CN202310395840A CN116320394A CN 116320394 A CN116320394 A CN 116320394A CN 202310395840 A CN202310395840 A CN 202310395840A CN 116320394 A CN116320394 A CN 116320394A
Authority
CN
China
Prior art keywords
video data
transfer function
encoded
frame
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310395840.1A
Other languages
Chinese (zh)
Inventor
A·托拉皮斯
D·辛格
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN116320394A publication Critical patent/CN116320394A/en
Pending legal-status Critical Current

Links

Images

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • 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
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • 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/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • 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/10Intensity circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
    • H04N1/6063Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut dependent on the contents of the image to be reproduced
    • H04N1/6066Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut dependent on the contents of the image to be reproduced dependent on the gamut of the image to be reproduced
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • 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
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/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/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/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/177Methods 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 a group of pictures [GOP]
    • 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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 a colour or a chrominance component
    • 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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
    • 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/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/85Camera processing pipelines; Components thereof for processing colour signals for matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/50Tuning indicators; Automatic tuning control
    • H04N5/505Invisible or silent tuning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/641Multi-purpose receivers, e.g. for auxiliary information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • 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/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • 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/02Improving the quality of display appearance
    • G09G2320/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • 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/06Adjustment of display parameters
    • G09G2320/0613The adjustment depending on the type of the information to be displayed
    • G09G2320/062Adjustment of illumination source parameters
    • 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/0626Adjustment of display parameters for control of overall brightness
    • 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/066Adjustment of display parameters for control of contrast
    • 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/0666Adjustment of display parameters for control of colour parameters, e.g. colour temperature
    • 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/0673Adjustment of display parameters for control of gamma adjustment, e.g. selecting another gamma curve
    • 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/0686Adjustment of display parameters with two or more screen areas displaying information with different brightness or colours
    • 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/0693Calibration of display systems
    • 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/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
    • 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
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/14Detecting light within display terminals, e.g. using a single or a plurality of photosensors
    • G09G2360/144Detecting light within display terminals, e.g. using a single or a plurality of photosensors the light being ambient light
    • 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/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/4223Cameras
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4854End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Ecology (AREA)
  • Remote Sensing (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Studio Devices (AREA)

Abstract

The present disclosure relates to adaptive transfer functions for video encoding and decoding. The present invention provides a video encoding and decoding system that implements an adaptive transfer function method within a codec for signal representation. The focus dynamic range used to represent the effective dynamic range of the human visual system may be dynamically determined for each scene, sequence, frame, or region of the input video. Video data may be cropped and quantized into the bit depth of the codec according to the transfer function used for encoding within the codec. The transfer function may be the same as the transfer function of the input video data or may be a transfer function internal to the codec. The encoded video data may be decoded and expanded into the dynamic range of one or more displays. The adaptive transfer function approach may enable a codec to use fewer bits for an internal representation of a signal while still representing the entire dynamic range of the signal in the output.

Description

Adaptive transfer function for video encoding and decoding
The present application is a divisional application of the invention patent application No.201580010095.8 entitled "adaptive transfer function for video encoding and decoding" with application date of 2015, 2, 25.
Technical Field
The present disclosure relates generally to digital video or image processing and display.
Background
Various devices, including but not limited to personal computer systems, desktop computer systems, laptop and notebook computers, tablet or tablet devices, digital cameras, digital video recorders, and mobile phones or smart phones, may include software and/or hardware that may implement one or more video processing methods. For example, an apparatus may include a device (e.g., an Integrated Circuit (IC), such as a system on a chip (SOC), or a subsystem of an IC) that may receive and process digital video input from one or more sources and output processed video frames according to one or more video processing methods. As another example, a software program may be implemented on a device that can receive and process digital video input from one or more sources according to one or more video processing methods and output processed video frames to one or more destinations.
For example, the video encoder may be implemented as a device or alternative software program in which the digital video input is encoded or converted according to a video encoding method into another format, such as a compressed video format, such as the h.264/Advanced Video Coding (AVC) format or the h.265 High Efficiency Video Coding (HEVC) format. As another example, a video decoder may be implemented as an apparatus or alternative software program in which video in a compressed video format (such as AVC or HEVC) is received and decoded or converted into another (decompressed) format, such as a display format used by a display device, according to a video decoding method. The H.264/AVC standard is promulgated by ITU-T in a document titled "ITU-T Recommendation H.264: advanced video coding for generic audiovisual services". The H.265/HEVC standard is promulgated by ITU-T in a document entitled "ITU-T Recommendation H.265: high Efficiency Video Coding".
In many systems, a device or software program may implement both a video encoder component and a video decoder component; such as a device or program, is commonly referred to as a codec. Note that the codec may encode/decode both visual/image data and audio/sound data in the video stream.
The dynamic range is generally defined as the ratio between the maximum possible value and the minimum possible value of the variable amounts in signals such as, for example, sound and light. In digital image and video processing, extended dynamic range or High Dynamic Range (HDR) imaging refers to a technique that produces a wider range of brightness in an electronic image (e.g., as displayed on a display screen or display device) than is obtained using standard digital imaging techniques, known as standard dynamic range or SDR imaging.
An electro-optical transfer function (EOTF) may map digital code values to light values, for example to luminance values. The inverse process, commonly referred to as the optical-electrical transfer function (OETF), maps optical values to electronic/digital values. EOTF and OETF may be collectively referred to as transfer functions. The SI unit of brightness is candela per square meter (cd/m) 2 ). The non-SI term for this unit is "NIT". In Standard Dynamic Range (SDR) imaging systems, in order to simplify the encoding process and decoding process in the encoding/decoding system or codec, a fixed transfer function, such as a fixed power law gamma transfer function, is typically used for the internal representation of video image content. With the advent of High Dynamic Range (HDR) imaging techniques, systems, and displays, a need for more flexible transfer functions has arisen.
Disclosure of Invention
Embodiments of video encoding and decoding systems and methods are described that implement adaptive transfer functions for use in video image content internal representations within video encoding and decoding systems or codecs. These implementations may dynamically determine a focus dynamic range for a current scene, sequence, frame, or region of a frame in an input video based on one or more characteristics of the image data (e.g., luminance, texture, etc.), crop the input video dynamic range to a focus range, and then appropriately map (e.g., quantize) values within the crop range from a bit depth of the input video to a bit depth of the codec according to a transfer function used to represent the video data in the codec.
In an implementation, various transfer functions may be used to represent the input video data and focus range video data in the codec. In some implementations, the transfer function used to represent video data in the codec may be the same as the transfer function used to represent input video data. In some implementations, video data in a codec may be represented using a transfer function (referred to as an internal transfer function or a secondary transfer function) that is different from the transfer function used to represent input video data (referred to as a primary transfer function).
In an embodiment, used by an encoder for a scene, sequence, frame,
Or the focus range of the region, transfer function, quantization parameters and other formats of information may be signaled to the decoder component, for example by metadata embedded in the output bitstream. In a decoder, an encoded bitstream may be decoded and dynamically extended to the full dynamic range of a target device (e.g., a High Dynamic Range (HDR) -enabled display) according to one or more signaled focus ranges of a scene, sequence, frame, or video region.
By dynamically adapting the transfer function to the input video data, embodiments may allow the video data to be represented in the codec with fewer bits than are used to represent the input video data, while also allowing the codec to output the video data such that it extends and fills the dynamic range of an HDR device such as an HDR-enabled display. An implementation of the adaptive transfer function method may, for example, enable a video encoding and decoding system to use 10 or less bits for internal representation and processing of video data within a codec, while when outputting video to an HDR device such as an HDR-enabled display, for example, using 12 or more bits to represent an extended dynamic range or high dynamic range of video data. Thus, an implementation of an adaptive transfer function method for a video encoding and decoding system may simplify the implementation of, and thus its adoption by, HDR technology, especially in the consumer space.
Drawings
Fig. 1 illustrates an exemplary codec or video encoding and decoding system implementing an embodiment of an adaptive transfer function.
Fig. 2 illustrates an exemplary encoder that applies an adaptive transfer function method to video input data and generates encoded video data, according to some embodiments.
Fig. 3 illustrates an exemplary decoder that decodes encoded video data according to an adaptive transfer function method and expands the video data decoded to generate display format video data, according to some embodiments.
Fig. 4 illustrates an exemplary full range of input video data and illustrates an exemplary focus range of video data, according to some embodiments.
Fig. 5 illustrates an example of mapping N-bit input video data within a focus range to generate C-bit video data, according to some embodiments.
Fig. 6 graphically illustrates an example of extending C-bit decoded video into the full dynamic range of an HDR-enabled device to generate D-bit video data for the device, in accordance with some embodiments.
Fig. 7A to 7C graphically illustrate the application of different focus ranges to different portions of a video sequence or video frame according to an embodiment of the adaptive transfer function method.
Fig. 8 is a flow chart of a video encoding method that applies an adaptive transfer function method to video input data and generates encoded video data, according to some embodiments.
Fig. 9 is a flow chart of a video decoding method that decodes encoded video data according to an adaptive transfer function method and expands the decoded video data to generate display format video data, according to some embodiments.
FIG. 10 is a block diagram of one embodiment of a system on a chip (SOC) that may be configured to implement aspects of the systems and methods described herein.
FIG. 11 is a block diagram of one embodiment of a system that may include one or more SOCs.
FIG. 12 illustrates an example computer system that can be configured to implement the various aspects of the systems and methods described herein, in accordance with some embodiments.
Fig. 13 illustrates a block diagram of a portable multifunction device in accordance with some embodiments.
Fig. 14 depicts a portable multifunction device in accordance with some embodiments.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention. As used throughout this application, the word "possible" is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the word "include" means "including but not limited to".
Various units, circuits, or other components may be described as "configured to" perform a task or tasks. In such contexts, "configured to" is a broad expression of structure generally meaning "having" circuitry "that performs one or more tasks during operation. As such, the unit/circuit/component may be configured to perform this task even when the unit/circuit/component is not currently on. In general, the circuitry forming the structure corresponding to "configured to" may comprise hardware circuitry. Similarly, for ease of description, various units/circuits/components may be described as performing one or more tasks. Such descriptions should be construed to include the phrase "configured to". Detailed description of a unit/circuit/component configured to perform one or more tasks is intended to explicitly not refer to 35u.s.c. ≡112, the explanation of this unit/circuit/component in the sixth paragraph.
Detailed Description
Embodiments of video encoding and decoding systems and methods are described that implement adaptive transfer functions for use in video image content internal representations within video encoding and decoding systems or codecs. These implementations may allow the dynamic range of the input video data to be adapted to the codec during the encoding and decoding process. In an embodiment, the transfer function may be dynamically adapted to individual scenes, sequences, or frames of the input video to the codec. In some implementations, the transfer function may be dynamically adapted within the region of the frame. These implementations may dynamically adapt the transfer function to the input video data, retain only information within a dynamically determined effective dynamic range of the human visual system (referred to herein as the focus dynamic range or just the focus range), and map data within the focus range from the bit depth of the input video to the bit depth of the codec according to the transfer function for processing within the codec. The output of the codec may be extended to fill the dynamic range of an output device or target device, including but not limited to an extended dynamic range device or a High Dynamic Range (HDR) device, such as an HDR-enabled display. Fig. 1-3 illustrate an exemplary video encoding and decoding system or codec in which embodiments of the adaptive transfer function method may be implemented.
The human visual system as a whole covers a significant dynamic range. However, the human visual system tends to adapt and limit the dynamic range based on the current scene or image being viewed, for example, according to the brightness (illuminance) and texture characteristics of the scene or image. Thus, while the overall dynamic range of the human visual system is quite large, the effective dynamic range of a given scene, sequence, frame, or region of video may be quite small in terms of image characteristics, including, but not limited to, brightness and texture. Implementations of the video encoding and decoding systems and methods described herein may take advantage of this feature of human vision to employ similar strategies based on the characteristics of the current scene, sequence, frame, or region for dynamically limiting the range within the codec. In an embodiment, the encoder component or process may dynamically limit the range (e.g., brightness) of an input video scene, sequence, frame or region to within the effective dynamic range of the human visual system and within the required range (e.g., bit depth) of the codec, depending on one or more characteristics (e.g., brightness, texture, etc.) of the scene, sequence, frame or region currently being processed. This may be accomplished, for example, by dynamically determining the area within the current scene, sequence, frame, or region in the input video from the sample values and focusing the bit depth (e.g., 10 bits) of the codec into that range. In some implementations, focusing may be performed in the encoder by clipping the input video dynamic range to that area, and then appropriately mapping (e.g., quantizing) values in the clipping range (referred to as the focus dynamic range or focus range) from the bit depth of the input video to the bit depth of the codec according to a transfer function used to represent the video data in the codec. Fig. 4 and 5 graphically illustrate exemplary focus ranges determined for input video data and mapping N-bit input video data to a bit depth of a codec according to a transfer function, according to some embodiments. As used herein, N bits refer to the bit depth of the input video, C bits refer to the bit depth used to represent video data within the codec, and D bits refer to the bit depth of a target device (e.g., display device) that decodes the video.
In an implementation, various transfer functions may be used to represent the input video data and focus range video data in the codec. Examples of transfer functions that may be used to represent video data in an embodiment may include, but are not limited to: a gamma-based power law transfer function, a logarithmic-based transfer function, and a human visual perception-based transfer function, such as the Perception Quantizer (PQ) transfer function proposed by Dolby Laboratories, inc. In some implementations, the transfer function used to represent video data in the codec may be the same as the transfer function used to represent input video data. However, in other implementations, video data in the codec may be represented using a transfer function (referred to as an internal or secondary transfer function) that is different from the transfer function used to represent the input video data (referred to as a primary transfer function). This may allow video data (which may also be referred to as video signals) to be represented with a higher accuracy within a codec, for example, than may be accomplished using a one-level transfer function.
In an embodiment, information for a scene, sequence, focus range of a frame or region, transfer function, quantization parameters, and other formats of an encoder may be signaled to a decoder component, for example, by metadata embedded in an output bitstream. At the decoder, the encoded bitstream may be decoded and dynamically extended to the full dynamic range of a target device, such as an HDR device (e.g., an HDR-enabled display), according to one or more signaled focus ranges of a scene, sequence, frame, or video region. Figure 6 graphically illustrates extending decoded video data into the full dynamic range of an HDR device, in accordance with some embodiments.
By dynamically adapting the transfer function to the input video data, embodiments may allow the video data to be represented in the codec with fewer bits than are used to represent the input video data, while also allowing the codec to output the video data such that it extends and fills the dynamic range of an HDR device such as an HDR-enabled display. An implementation of the adaptive transfer function method may, for example, enable a video encoding and decoding system to use 10 or less bits for internal representation and processing of video data within a codec, while when outputting video to an HDR device such as an HDR-enabled display, for example, using 12 or more bits to represent an extended dynamic range or high dynamic range of video data. Thus, an implementation of an adaptive transfer function method for a video encoding and decoding system may simplify the implementation of, and thus its adoption by, HDR technology, especially in the consumer space.
The adaptive transfer function method described herein may be applied to all color components of a video signal, or alternatively may be applied to one or both of the luminance component and the chrominance component of a video signal, respectively.
Fig. 1 illustrates an exemplary video encoding and decoding system or codec 100 implementing an embodiment of an adaptive transfer function. In an embodiment, according to the adaptive transfer function method, the adaptive transfer function 110 component or module of the codec 100 may convert N-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) video input data 102 to C-bit (e.g., 10-bit or less) video input data 112 and to the encoder 120 component or module of the codec 100. In some implementations, to convert the N-bit video input data 102 to the C-bit video input data 112, the adaptive transfer function 110 may dynamically determine an area from sample values and focus C-bits into the area within a current scene, sequence, frame, or region in the N-bit video input data 102. In some implementations, this focusing may be done in adaptive transfer function 110 by clipping N-bit video input data 102 into a determined focus range, and then appropriately mapping (e.g., quantizing) the N-bit values in the focus range to the bit depth of the codec according to the transfer function used to represent the video data in encoder 120, thereby generating C-bit video input data 112 for encoder 120.
In some implementations, the adaptive transfer function 110 may also generate the format metadata 114 as an output to the encoder 120. The format metadata 114 may describe the adaptive transfer function method as applied to the input video data 102. For example, format metadata 114 may indicate a determined focus range, parameters for mapping video data to encoder bit depth, and may also contain information about a transfer function applied to the focus range.
In some implementations, the encoder 120 may then encode the C-bit video input data 112 to generate as output an encoded stream 122. In some implementations, the encoder 120 may encode the C-bit video input data 112 according to a compressed video format, such as an h.264/Advanced Video Coding (AVC) format or an h.265/High Efficiency Video Coding (HEVC) format. However, other encoding formats may be used. In some implementations, the encoder 120 may, for example, embed the format metadata 114 into the output stream 122 such that the format metadata 114 may be provided to the decoder 130 component. The output encoded stream 122 may be stored to memory or alternatively may be sent directly to the decoder 130 component or module of the codec 100. Fig. 2 illustrates exemplary encoder components of video encoding and decoding system or codec 100 in more detail.
The decoder 130 may read or receive the encoded stream 122 and decode the encoded stream 122 to generate a C-bit decoded stream 132 as an output to an inverse adaptive transfer function 140 component or module of the codec 100. In some embodiments, the format metadata 134 describing the adaptive transfer function method as being applied to the input video data 102 by the adaptive transfer function 110 may be extracted from the input stream 122 and passed to the inverse adaptive transfer function 140. The inverse adaptive transfer function 140 may convert the C-bit decoded stream 132 according to the format metadata 134 and display information 144 to generate a D-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) HDR output 142 to one or more displays 190 or other devices. Fig. 3 illustrates exemplary decoder components of video encoding and decoding system or codec 100 in more detail.
Embodiments of a video encoding and decoding system or codec 100 implementing an adaptive transfer function method as described herein may be implemented, for example, in a device or system that includes one or more image capture devices and/or one or more display devices. The image capturing device may be any device comprising an optical sensor or light sensor capable of capturing digital images or video. Image capture devices may include, but are not limited to, video cameras and still image cameras, as well as image capture devices that may capture both video and single images. The image capture device may be a stand alone device or may be a camera integrated into other devices including, but not limited to, smart phones, mobile phones, PDAs, tablet or tablet devices, multi-function devices, computing devices, laptop computers, notebook computers, netbook computers, desktop computers, and the like. It is noted that the image capturing device may comprise a low profile camera suitable for small devices such as mobile phones, PDAs and tablet devices. The display or display device may include a display screen or panel integrated into other devices including, but not limited to, smart phones, mobile phones, PDAs, tablet or tablet devices, multi-function devices, computing devices, laptop computers, notebook computers, netbook computers, desktop computers, and the like. The display device may also include a video monitor, projector, or generally any device that can display or project digital images and/or digital video. The display or display device may use LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies may also be used.
Fig. 10-14 illustrate non-limiting examples of devices in which embodiments may be implemented. A device or system comprising an image capturing device and/or a display device may comprise hardware and/or software for implementing at least some of the functions for processing video data as described herein. In some embodiments, a portion of the functionality as described herein may be implemented on one device, while another portion may be implemented on another device. For example, in some embodiments, a device including an image capture device may implement a sensor pipeline that processes and compresses (i.e., encodes) an image or video captured via a light sensor, while another device including a display panel or screen may implement a display pipeline that receives and processes the compressed image (i.e., decodes) for display on a display or screen. In some embodiments, at least some of the functions as described herein may be implemented by one or more components or modules of a system on a chip (SOC) that may be used in a device including, but not limited to, a multi-function device, a smart phone, a tablet or tablet device, and other portable computing devices such as a laptop computer, a notebook computer, and a netbook computer. Fig. 10 shows an exemplary SOC, and fig. 11 shows an exemplary device implementing the SOC. FIG. 12 illustrates an exemplary computer system in which the methods and apparatus described herein may be implemented. Fig. 13 and 14 illustrate exemplary multi-function devices that may implement the methods and apparatus described herein.
Implementations are now generally described herein as processing video. However, instead of or in addition to processing video frames or video sequences, embodiments may also be applied to processing single images or still images. Thus, it should be understood that as "video," "video frame," "frame," and the like are used herein, these terms may refer generally to a captured digital image.
Fig. 2 illustrates an exemplary encoder 200 that applies an adaptive transfer function method to video input data 202 and generates encoded video data 232 as output, according to some embodiments. As shown in fig. 1, the encoder 200 may be, for example, a component or module of the codec 100. In an embodiment, the adaptive transfer function component or module 210 of the encoder 200 may convert the N-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) video input data 202 into C-bit (e.g., 10-bit or less) data 212 according to a transfer function method and output the C-bit data 212 to a processing pipeline 220 component of the encoder 200. In some implementations, to convert the N-bit video input data 202 to the C-bit video data 212, the adaptive transfer function module 210 may dynamically determine an area from sample values and focus C-bits into the area within a current scene, sequence, frame, or region in the N-bit video input data 202. In some implementations, this focusing may be done in adaptive transfer function module 210 by clipping the dynamic range of the N-bit video input data 202 to a determined focus range, and then mapping (e.g., quantizing) the N-bit values in the focus range to the C-bits appropriately according to the transfer function used to represent the video data in encoder 200. In some embodiments, adaptive transfer function module 210 may also generate format metadata 214 as an output to encoder 220. The format metadata 214 may describe the adaptive transfer function method as applied to the input video data 202. For example, format metadata 214 may indicate the determined focus range parameters for mapping video data to encoder bit depth, and may also contain information about the transfer function applied to the focus range.
In some implementations, the encoder 200 may then encode the C-bit video input data 212 generated by the adaptive transfer function module 210 to generate the encoded stream 232 as an output. In some implementations, the encoder 120 may encode the C-bit video input data 112 according to a compressed video format, such as an h.264/Advanced Video Coding (AVC) format or an h.265/High Efficiency Video Coding (HEVC) format. However, other encoding formats may be used.
In some implementations, input video frames are subdivided into encoders 200 and processed therein according to blocks of picture elements (referred to as pixels or primitives). For example, a 16×16 block of pixels, referred to as a macroblock, may be used for h.264 encoding. HEVC coding uses blocks known as Coding Tree Units (CTUs) that may vary from 16 x 16 pixels to 64 x 64 pixel blocks. CTUs may be divided into Coding Units (CUs) and may be further subdivided into Prediction Units (PUs) that may vary within a size that decreases from 64 x 64 pixels to 4 x 4 pixel blocks. In some implementations, the video input data 212 may be separated into luma and chroma components, and the luma and chroma components may be processed separately at one or more components or stages of the encoder.
In the exemplary encoder 200 shown in fig. 2, the encoder 200 includes a processing pipeline 220 component and an entropy encoding 230 component. The processing pipeline 220 may include a plurality of components or stages that process the video input data 212. The processing pipeline 220 may, for example, perform intra and inter estimation 222, mode decision 224, motion compensation and reconstruction 226 operations as one or more stages or components.
The following describes operation of the exemplary processing pipeline 220 at a high level and is not intended to be limiting. In some implementations, intra and inter estimates 222 may determine previously encoded pixel blocks to be used in encoding blocks input to the pipeline. In some video encoding techniques, such as h.264 encoding, each input block may be encoded using a block of pixels that are already encoded within the current frame. The process of determining these blocks may be referred to as intra-frame estimation or simply as intra-estimation. In some video encoding techniques, such as h.264 and h.265 encoding, blocks may also be encoded using blocks of pixels from one or more previously reconstructed frames (referred to as reference frames, shown in fig. 2 as reference data 240). In some implementations, the reconstructed and encoded frames output by the encoder pipeline may be decoded and stored to reference data 240 for use as reference frames. In some embodiments, the reference frames stored in the reference data 240 for reconstructing the current frame may include one or more reconstructed frames occurring in the video being processed temporally prior to the current frame, and/or one or more reconstructed frames occurring in the video being processed temporally later than the current frame. The process of finding matching pixel blocks in a reference frame may be referred to as inter-frame estimation, or more generally as motion estimation. In some implementations, the mode decision 224 may receive the output for a given block from the inter and intra estimates 222 and determine the best prediction mode (e.g., inter prediction mode or intra prediction mode) and the corresponding motion vector for the block. This information is passed to motion compensation and reconstruction 226.
The operation of motion compensation and reconstruction 226 may depend on the best mode received from mode decision 224. If the best mode is inter prediction, the motion compensation section obtains reference frame blocks corresponding to motion vectors and combines the blocks into a prediction block. The motion compensation component then applies weighted prediction to the prediction block to generate a final block prediction to be passed to the reconstruction component. In weighted prediction, values from reference data may be weighted according to one or more weighting parameters and shifted by offset values to generate prediction data to be used for encoding the current block. If the best mode is intra prediction, intra prediction is performed using one or more neighboring blocks to generate a predicted block of the current block being processed at that stage of the pipeline.
The reconstruction component performs a block (e.g., macroblock) reconstruction operation of the current block based on the motion compensation output. The reconstruction operations may include, for example, forward Transform and Quantization (FTQ) operations. The motion compensation and reconstruction 226 may output the transformed and quantized data to an entropy encoding 230 component of the encoder 200.
The entropy encoding 230 component may, for example, apply entropy encoding techniques to compress the transformed and quantized data output by the pipeline 220, generating an encoded output stream 232. Exemplary entropy encoding techniques that may be used may include, but are not limited to, huffman encoding techniques, CAVLC (context adaptive variable length coding) and CABAC (context adaptive binary arithmetic coding). In some implementations, the encoder 200 may embed the format metadata 214 into the encoded output stream 232 such that the format metadata 214 may be provided to the decoder. The output encoded stream 232 may be stored to memory or alternatively may be sent directly to the decoder element.
Reference data 240 may also be output by pipeline 220 and stored to memory. Reference data 240 may include, but is not limited to, one or more previously encoded frames (referred to as reference frames) that may be accessed, for example, in motion estimation and motion compensation and reconstruction operations of pipeline 220.
In some embodiments, encoder 200 may include a reformatting 250 component that may be configured to reformat reference frame data obtained from reference data 240 for use by pipeline 220 components when processing a current frame. Reformatting 250 may, for example, involve converting the reference frame data from a focus range/transfer function used to encode the reference frame to a focus range/transfer function to be used to encode the current frame. For example, the focus range/transfer function mapping of reference frame brightness may be from 0.05cd/m in C (e.g., 10) bits 2 To 1000cd/m 2 . For the current frame, the focus range may be extended due to brighter image content; for example, the focus range may be extended or increased to 2000cd/m 2 . Thus, the focus range/transfer function mapping for the current frame brightness may be 0.05cd/m 2 To 2000cd/m 2 . To use the reference frame data in the pipeline 220 (e.g., in a motion estimation operation), the reference frame data may be reformatted according to a focus range/transfer function used by the reformatting 250 component to encode the current frame.
In the given example, the reformatting 250 component may convert the reference frame data from 0.05cd/m 2 Shift to 1000cd/m 2 A range within which it is from 0.05cd/m 2 Range reconstruction to 2000cd/m for current frame 2 Range. In this example, since the reference frame contains only from 0.05cd/m 2 To 1000cd/m 2 Thus some code words in the C-bit representation of the reformatted reference frame data (e.g., representing greater than 1000 cd/m) 2 Code words of values of (c) may not be used in the reformatted reference data. However, multiple values are mapped to the current focus range for prediction orOther operations.
As indicated by the arrow returning from the reference data 240 to the adaptive transfer function module 210, in some embodiments, the adaptive transfer function module 210 may use adaptive transfer function information from one or more previously processed frames to determine a focus range/transfer function for the current frame to be processed in the pipeline 220.
Fig. 3 illustrates an exemplary decoder 300 that decodes the encoded video data 302 according to an adaptive transfer function method and expands the decoded video data 322 to generate display format video data 332, according to some embodiments. As shown in fig. 1, the decoder 300 may be, for example, a component or module of the codec 100. In the exemplary decoder 300 shown in fig. 3, the decoder 300 includes an entropy decoding 310 component, an inverse quantization and transform 320 component, and an inverse adaptive transfer function module 330. The entropy decoding 310 component may, for example, apply entropy decoding techniques to decompress the encoded stream 302 output by an encoder (e.g., encoder 200 shown in fig. 2). The inverse quantization and transform 320 component performs inverse quantization and transform operations on the data output by the entropy decoding 310 to generate a C-bit decoded stream 322 as output to the inverse adaptive transfer function module 330 of the decoder 300. In some embodiments, format metadata 324 describing the adaptive transfer function method as being applied to the current scene, sequence, frame, or region may be extracted from the input stream 302 and passed to the inverse adaptive transfer function module 330. Inverse adaptive transfer function module 330 may extend C-bit decoded stream 322 in accordance with format metadata 324 and display information 392 to generate D-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) HDR output 332 to one or more displays 390 or other devices.
Fig. 4-6 graphically illustrate an exemplary focus range for determining N-bit input video data, mapping the input video data to C-bits available within a codec according to a transfer function, and expanding the decoded video to the full dynamic range of an HDR device to generate D-bit video data for the device, according to some embodiments.
FIG. 4 illustrates an exemplary full view of N-bit input video data according to some embodimentsDynamic range, and illustrates an exemplary focus range determined for input video data. In fig. 4, the vertical axis represents N-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) code values in the input video data. The horizontal axis represents the dynamic range of luminance in the input video data, which in this example is 0cd/m 2 -10000cd/m 2 Wherein cd/m 2 (candelas per square meter) is the SI unit of luminance. The non-SI term for this unit is "NIT". The curve represents an exemplary transfer function of the input video data. Focusing range (2000 cd/m in this example) 2 -4000cd/m 2 ) Representing the effective dynamic range of the human visual system of a current scene, sequence, frame or region determined from one or more characteristics (e.g., luminance, texture, etc.) of the corresponding video data. As can be seen, in this example, the focus range is represented by a ratio of N-bit code values (about 1/8). Note that different focus ranges may be determined for different scenes, sequences, frames, or regions within a video stream, as shown in fig. 7A-7C.
Fig. 5 illustrates an example of mapping N-bit input video data within a determined focus range to generate C-bit video data in a codec, according to some embodiments. In fig. 5, the vertical axis represents a C-bit (e.g., 12-bit, 10-bit, 8-bit, etc.) code value available in the codec. The horizontal axis shows the focus range of luminance values to be mapped to the C-bit code value (2000 cd/m in this example 2 -4000cd/m 2 ). The curve represents an exemplary transfer function for representing focus range data within the code. In some implementations, the transfer function used to represent video data in the codec may be the same as the transfer function used to represent input video data. However, in other implementations, video data in the codec may be represented using a transfer function (referred to as an internal or secondary transfer function) that is different from the transfer function used to represent the input video data (referred to as a primary transfer function). This may allow, for example, the focus range of the video signal to be represented with a higher accuracy within the codec than if a first order transfer function was used.
FIG. 6 illustrates expanding a C-bit decoded video according to some embodimentsAn example of a D-bit video data that is spread into the dynamic range of an HDR-enabled device to generate the device. In fig. 6, the vertical axis represents D-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) code values in video data output from a decoder (e.g., decoder 300 shown in fig. 3). The horizontal axis represents the dynamic range of luminance supported by the display device to which the D-bit video data is output by the decoder; in this example, the dynamic range is shown to be 0cd/m 2 -10000cd/m 2 . The curve represents an exemplary transfer function of the display device. After the encoded video signal is decoded by the decoder, the focus range for the signal internal representation in the codec is remapped from the C-bit representation to a wider dynamic range and a D-bit representation of the display device. Note that different focus ranges may be encoded for different scenes, sequences, frames, or regions within a video stream, as shown in fig. 7A-7C. In some embodiments, format metadata may be provided to a decoder in or with an encoded video stream that indicates a focus range for encoding each scene, sequence, frame, or region. In some implementations, the metadata may also include one or more parameters for mapping video data to a bit depth of the codec. In some embodiments, the metadata may further include information about an internal transfer function used to represent the focus range data in the codec. The metadata may be used by a decoder to remap focus range data from a C-bit representation to a wider dynamic range and a D-bit representation of the display device.
Fig. 7A to 7C graphically illustrate the application of different focus ranges to different portions of a video sequence or video frame according to an embodiment of the adaptive transfer function method.
Fig. 7A graphically illustrates the application of different focus ranges to different scenes or sequences of an input video according to some embodiments of the adaptive transfer function method. In this example, focus range 710A is dynamically determined and used to encode frames 700A-700E, and focus range 710B is dynamically determined and used to encode frames 700F-700G. Frames 700A-700E and frames 700F-700H may, for example, represent different scenes within a video, or may represent different sequences of frames within or across multiple scenes in a video.
Fig. 7B graphically illustrates the application of a different focus range to each frame of the input video according to some embodiments of the adaptive transfer function method. In this example, focus range 710C is dynamically determined and used to encode frame 700I, focus range 710D is dynamically determined and used to encode frame 700J, and focus range 710E is dynamically determined and used to encode frame 700K.
Fig. 7C graphically illustrates the application of different focus ranges to different regions of a video frame according to some embodiments of the adaptive transfer function method. As shown in fig. 7A and 7B, in some embodiments, an adaptive transfer function method may be applied to a frame, scene, or sequence. However, in some implementations, the adaptive transfer function method may be applied to two or more regions 702 within a frame, as shown in fig. 7C, in addition or instead. In this example, focus range 710F is dynamically determined and used to encode region 702A of frame 700L, focus range 710G is dynamically determined and used to encode region 702B of frame 700L, and focus range 710H is dynamically determined and used to encode region 702C of frame 700L. In various embodiments, the region 702 to be encoded according to the adaptive transfer function method may be rectangular or may have other shapes, including but not limited to randomly determined irregular shapes. In some implementations, there may be a fixed number of regions 702 in each frame to be encoded according to the adaptive transfer function method. In some implementations, the number of regions 702 and/or the shape of the regions 702 to be encoded according to the adaptive transfer function method may be determined for each frame, scene, or sequence. In some embodiments, format metadata generated by the encoder and passed to the decoder may indicate the focus range, quantization parameters, and other information used to encode each region 702 in one or more frames 700. In implementations where a secondary transfer function or an internal transfer function is used within the codec, the format metadata may contain information for converting from the secondary transfer function to the primary transfer function. In embodiments where the number of regions 702 may vary, an indication of the actual number of regions 702 may be included in metadata that is passed to the decoder. In some embodiments, the coordinates and shape information of region 702 may also be included in metadata that is passed to the decoder.
In video content, the various parameters used in the adaptive transfer function method (e.g., focus range, quantization parameters, etc.) may be similar from one region or frame to the next in the input video being processed, especially within the scene. Thus, in some embodiments, the adaptive transfer function method may provide intra (spatial) prediction and/or inter (temporal) prediction of one or more of these adaptive transfer function parameters in the encoder, for example by utilizing weighted prediction processes in codecs such as AVC codec and HEVC codec. In inter (temporal) prediction, previously processed reference data from one or more temporally past or future frames may be used to predict one or more parameters for content in the current frame. In intra (spatial) prediction, data from one or more neighboring blocks or regions within a frame may be used to predict one or more parameters for content in the current block or region.
Fig. 8 is a high level flow chart of a video encoding method that applies an adaptive transfer function method to video input data and generates encoded video data, according to some embodiments. As indicated at 800 of fig. 8, N-bit (e.g., 12-bit, 14-bit, 16-bit, etc.) video data may be received for encoding. In some embodiments, frames of the video stream are processed sequentially by an encoder. In some implementations, an input video frame is subdivided into encoders and processed by the encoder according to blocks of pixels (e.g., macroblocks, CUs, PUs, or CTUs).
As indicated at 802 of fig. 8, a focus range of the input video data may be determined. In some implementations, the focus range for each scene, sequence, or frame of video input to the encoder can be dynamically determined. In some embodimentsIn this case, the focus range of each of two or more regions within a frame may be dynamically determined. In some implementations, the focus range can be determined based on one or more characteristics (e.g., brightness, texture, etc.) of the current scene, sequence, frame, or region being processed. The focus range represents the effective dynamic range of the human visual system for image data (e.g., brightness) in a current scene, sequence, frame, or region. For example, if the luminance dynamic range in the input video data is 0cd/m 2 -10000cd/m 2 An exemplary focus range based on specific features of various scenes, sequences, frames, or regions may be 2000cd/m 2 -4000cd/m 2 、0cd/m 2 -1000cd/m 2 、1000cd/m 2 -2500cd/m 2 Etc. Fig. 4 graphically illustrates an exemplary focus range determined for N-bit input video data, in accordance with some embodiments.
As indicated at 804 of fig. 8, N-bit video data within the focus range may be mapped to C-bit video data according to a transfer function. In some implementations, the input video data may be cropped according to the determined focus range, and then the cropped data values may be appropriately mapped (e.g., quantized) to the available C bits in the encoder according to the transfer function used to represent the video data in the encoder. Fig. 5 graphically illustrates an exemplary mapping of N-bit input video data to available C-bits in an encoder according to an exemplary focus range of a transfer function, in accordance with some embodiments. In an implementation, various transfer functions may be used to represent N-bit input video data and C-bit video data in an encoder. Examples of transfer functions that may be used to represent video data in embodiments may include, but are not limited to, gamma-based power law transfer functions, logarithmic-based transfer functions, transfer functions based on human visual perception, such as PQ transfer functions. In some implementations, the transfer function used to represent the C-bit video data in the encoder may be the same as the transfer function used to represent the N-bit input video data. However, in other implementations, the input video data may be represented according to a first-order transfer function, and the video data in the encoder may be represented using a different (second-order) transfer function. The secondary transfer function may represent the video signal with a higher accuracy, for example, within the encoder than would be possible using the primary transfer function.
As shown by element 806 of fig. 8, the adaptive transfer function processing performed at elements 800 through 804 will iterate as long as there are N-bit input video data (e.g., scenes, sequences, frames, or regions) to be processed. As indicated at 810 of fig. 8, per unit C-bit video data (e.g., scene, sequence, frame, or region) output by the adaptive transfer function method at elements 800 through 804 is input to and processed by an encoder. As previously mentioned, in some implementations, the N-bit input video data may be subdivided into and processed by adaptive transfer function modules or components, and then passed to the encoder as C-bit video data from blocks of pixels (e.g., macroblocks, CUs, PUs, or CTUs).
As indicated at 810 of fig. 8, one or more components of the encoder may process the C-bit video data to generate an encoded (and compressed) video data output (e.g., CAVLC output or CABAC output). In some embodiments, the encoder may encode the C-bit video input data according to a compressed video format, such as the h.264/AVC format or the h.265/HEVC format. However, other encoding formats may be used. In some embodiments, the focus range, transfer function, quantization parameters, and other format information used to encode each scene, sequence, frame, or region may be embedded as metadata in the encoded output stream, or may be signaled to one or more decoders by other means. Encoder 200 of fig. 2 illustrates an exemplary encoder for processing C-bit video data to generate an encoded output stream. In some implementations, the encoded output stream including metadata may be written to memory, for example, via Direct Memory Access (DMA). In some implementations, instead of or in addition to writing the output stream and metadata to memory, the encoded output stream and metadata may be sent directly to at least one decoder. The decoder may be implemented on the same or different devices and apparatuses as the devices and apparatuses implementing the encoder.
Fig. 9 is a high-level flow chart of a video decoding method that decodes encoded video data according to an adaptive transfer function method and expands the decoded video data to generate display format video data, according to some embodiments. As indicated at 900 of fig. 9, the decoder may obtain encoded data (e.g., CAVLC or CABAC encoded and compressed data). The encoded data may be read from memory, received from an encoder, or otherwise acquired, for example. As indicated at 902 of fig. 9, the decoder may decode the encoded data to generate decoded C-bit video data and format metadata. In some implementations, the decoder may decode the encoded data according to a compressed video format, such as the h.264/AVC format or the h.265/HEVC format. However, other encoding/decoding formats may be used. The format metadata extracted from the encoded data may include, for example, focus ranges, transfer functions, quantization parameters, and other format information used to encode each scene, sequence, frame, or region.
As shown by element 904 of fig. 9, the decoding performed at 900 and 902 may proceed as long as encoded data is present. As indicated at 910 of fig. 9, each unit of decoded data (e.g., each scene, sequence, frame, or region) decoded by the decoder may be output and processed according to an inverse adaptive transfer function method. At least a portion of the format metadata extracted from the encoded data may also be output to an inverse adaptive transfer function method.
As indicated at 910 of fig. 9, the inverse adaptive transfer function method may dynamically extend the decoded C-bit video data from the focus range to generate full dynamic range D-bit video data for output to a target device, such as an HDR-enabled display device. For a given scene, sequence, frame or region, the expansion may be performed dynamically according to the corresponding format metadata extracted from the encoded data by the decoder. Figure 6 graphically illustrates extending decoded video data into the full dynamic range of an HDR device in accordance with some embodiments
First order transfer function and second order transfer function
Examples of transfer functions that may be used to represent video data in embodiments of the adaptive transfer function method as described herein may include, but are not limited to, gamma-based power law transfer functions, logarithmic (log-based) transfer functions, and transfer functions based on human visual perception, such as the Perception Quantizer (PQ) transfer functions proposed by Dolby Laboratories, inc.
In some implementations, the transfer function used to represent video data in the codec may be the same as the transfer function used to represent input video data (referred to as a first order transfer function). In these implementations, the input video data may be cropped according to the focus range determined for the scene, sequence, frame, or region and then mapped (e.g., quantized) into the available bits of the codec according to a first order transfer function. The focus range, clipping, and mapping (e.g., quantization) parameters may be signaled to the decoder, for example, as metadata in the output encoded stream, such that the inverse adaptive transfer function method may be performed on the decoder to generate full range video data for the device (e.g., HDR-enabled display).
However, in some implementations, a transfer function other than the primary transfer function (referred to as an internal transfer function or a secondary transfer function) may be used to represent video data within the codec. In these implementations, the input video data may be cropped to a focus range determined for a scene, sequence, frame, or region, and then mapped, scaled, or quantized into the available bits of the codec according to a secondary transfer function. The secondary transfer function may, for example, allow video signals to be represented with higher precision within the codec than would be possible using the primary transfer function. In these implementations, in addition to the focus range, clipping, and mapping (e.g., quantization) parameters, information about how to convert video data from the secondary transfer function to the primary transfer function may also be signaled to the decoder, e.g., as metadata in the output stream. The information may include, but is not limited to, the type of secondary transfer function (e.g., power law gamma transfer function, logarithmic transfer function, PQ transfer function, etc.) and one or more control parameters of the transfer function. In some implementations, information describing the first order transfer function may also be signaled.
In some embodiments of the adaptive transfer function method, the internal transfer function or secondary transfer function used within the codec may be a discontinuous transfer function representation, where one or more portions of the original transfer function or primary transfer function of the internal representation may be preserved, while the remainder of the internal representation employs a different transfer function. In these embodiments, one or more regions of the reserved primary transfer function may be accurately described and signaled in the output stream, for example, using a tabular representation. Information about the different transfer functions may also be signaled.
As shown in fig. 7A to 7C, an implementation of the adaptive transfer function method may be performed at a frame level or a region level within a frame. Thus, intra-frame adjacent or neighboring encoded and decoded video frames or regions may have significantly different transfer function representations, which may have, for example, a negative impact on encoding (e.g., motion estimation, motion compensation, and reconstruction), because the transfer function representation of the current frame or region being encoded may be significantly different from that of the adjacent frames or regions available for the encoding process. However, in some implementations, weighted prediction that may be provided in a codec using coding formats such as Advanced Video Coding (AVC) and High Efficiency Video Coding (HEVC) formats may be used to substantially increase coding efficiency. In these implementations, weighting parameters may be provided for frames or regions that may be used in a weighted prediction process to adjust for differences in the transfer function representation. The weighting parameter may be signaled, for example, by including the parameter in frame or block metadata. For example, in AVC or HEVC encoders, weighting parameters may be signaled in the slice header metadata and may be selected by changing reference indices within macroblocks in AVC or within Prediction Units (PUs) in HEVC. In some implementations, the weighting information may be explicitly signaled from the block, either related to the slice header portion or not. For example, in some implementations, a primary or master weight may be signaled in the slice header and have delta or difference that may be used to adjust the primary weight signaled at the block level. In some implementations, the weighting parameters may also include color weighting information. In some embodiments, these weighting parameters may be used for intra prediction as well as inter prediction. For example, in intra prediction, instead of or in addition to using previously processed neighboring or neighboring data (e.g., pixels or blocks of pixels) as such, additional weighting parameters and offset parameters may be provided that may be used to adjust the prediction according to possibly different transfer function characteristics of neighboring or neighboring samples.
In some embodiments where an internal transfer function or a secondary transfer function is used to represent data within the codec, in addition to the weighting parameters, information about the secondary transfer function may also be signaled in the codec for transfer function prediction. In some implementations, the secondary transfer function information may be signaled, for example, in a slice header using a transfer function table, such that each reference data index is associated with one or more transfer function adjustment parameters. In some implementations, the secondary transfer function information may be signaled at the block level instead or in addition. In implementations using discontinuous transfer function representations, multiple weighting parameters (e.g., parameters having different effects on different luminance values or levels) may be signaled in the slice header and/or at the block level.
In some embodiments, where an internal or secondary transfer function is used and adjusted to represent data within the codec, the internal transfer function and adjustments for a scene, sequence, frame, or region may be dynamically determined. In some implementations, the internal transfer function may be determined based on one or more characteristics of the current video frame or one or more regions of the frame. The features may include, but are not limited to, minimum and peak luminance, motion, texture, color, histogram mode, percentage concentration, and the like. In some implementations, determining the internal transfer function of the current frame may also utilize temporally past and/or future frames as reference frames. In some implementations, for example, determining the internal transfer function may utilize windows of one, two, or more reference frames that occur before and/or after a current frame in a video or video sequence. The use of window-based information to determine the internal transfer function may result in a change in characteristics of each frame and may help avoid or smooth too pronounced jumps or discontinuities in the internal transfer function adjustment that may otherwise adversely affect encoding. The smooth, window-based adaptive transfer function approach may provide better transfer function selection for encoding purposes and for final signal reconstruction at full transfer function range/desired transfer function range. In some implementations, the window-based adaptive transfer function method may include estimating a peak luminance and a minimum luminance of frames within a window to determine an internal transfer function. In some implementations, the luminance histogram, histogram pattern, concentration of values and how to adjust them, and the partitioning of areas or regions within the window can be estimated by a window-based method for determining the internal transfer function. In some embodiments, information about the human visual system may be utilized in this selection to achieve improved performance.
In some embodiments, the decision windows used in the window-based adaptive transfer function approach may not overlap and the decision is made separately for each frame or region. In some implementations, there may be overlap at window boundaries while boundary frames outside the current window are considered in the estimation, but are not themselves adjusted. In some implementations, multiple windows may affect boundary frames through an adaptive process, such as a weighted average of internal transfer function information based on window distance, which may help ensure a smooth transition between adjacent windows. In some embodiments, the window-based decision process for internal transfer functions may be based on a "run window" approach, where the internal transfer function for each frame is determined from characteristics of the frame itself and characteristics of one or more temporally past and/or future frames and/or windows. In some embodiments, the internal transfer function of the current frame may also be determined using the internal transfer functions of past and/or future frames and/or windows. In some embodiments, a multi-channel approach may be implemented in which the behavior and performance of the internal transfer function pre-selected in the previous channel is taken into account to tune the subsequent internal transfer function to achieve higher coding efficiency and better presentation of the given final transfer function objective.
In some implementations, the internal transfer function (e.g., range, type, bit depth, etc.) may be determined and adjusted based on characteristics of the video data being encoded. In some implementations, the compressibility or characteristics of a particular transfer function of the signal of interest may also be considered in selecting and/or adjusting the internal transfer function. In some implementations, the internal transfer function may additionally or alternatively be determined and adjusted based on one or more target displays and their characteristics or limitations. For example, if the current target display is known to have a limited dynamic range compared to the dynamic range supported by the first order transfer function, it may not be significant to include values outside the target display range in the encoded compressed signal. Instead, an internal transfer function representation may be determined that may provide a best fit of the signal to the dynamic range of the display, which may allow for a better compressed representation of the signal for that particular display capability. In some implementations, if multiple displays are to be supported by the codec, a dynamic range may be selected for the displays, and an internal transfer function representation that provides a best fit to the selected dynamic range may be determined. For example, the best capable display (e.g., with the highest dynamic range) may be selected and its dynamic range may be used to adjust the internal transfer function to generate video output for all displays. As another example, the dynamic range may be selected based on a pricing model in which one or more characteristics of the display (e.g., dynamic range) may be weighted (e.g., based on a ranking of the display determined or indicated based on importance or other factors).
Implementations of adaptive transfer function methods for video encoding and decoding systems or codecs as described herein may provide functionality to signal (from the encoder) and support (from the encoder and decoder) extending dynamic range or high dynamic range while keeping the complexity (e.g., bit depth) of the codec within reasonable limits. This may be accomplished by dynamically determining the focus range at the region, frame, scene or sequence level, cropping the input data to the focus range, and mapping the cropped data from the bit depth of the input video to the bit depth of the codec, while signaling appropriate parameters (e.g., focus range, quantization parameters, etc.) from the encoder to the decoder at the region, frame, scene or sequence level so that the dynamic range may be extended to the full range of the HDR-enabled display. Additionally, in some implementations, when different transfer function representations are used to encode different frames, appropriate parameters (e.g., weights, etc.) for performing the weighting parameters may be signaled.
Exemplary apparatus and devices
Fig. 10-14 illustrate non-limiting examples of devices and apparatus in or with which embodiments or components of various digital video or image processing and display methods and apparatus as described herein may be implemented. Fig. 10 shows an exemplary SOC, and fig. 11 shows an exemplary device implementing the SOC. FIG. 12 illustrates an exemplary computer system in which the methods and apparatus described herein may be implemented. Fig. 13 and 14 illustrate exemplary multi-function devices that may implement the methods and apparatus described herein.
Exemplary System on a chip (SOC)
Referring now to FIG. 10, a block diagram of one embodiment of a System On Chip (SOC) 8000 that may be used in the embodiments is shown. SOC 8000 is illustrated as coupled to memory 8800. As its name implies, the components of SOC 8000 may be integrated onto a single semiconductor substrate as an integrated circuit "chip". In some embodiments, these components may be implemented on two or more discrete chips in a system. However, SOC 8000 will be used herein as an example. In the illustrated embodiment, the components of the SOC 8000 include a Central Processing Unit (CPU) complex 8020, on-chip peripheral components 8040A-8040C (more briefly referred to as "peripherals"), a Memory Controller (MC) 8030, and a communication structure 8010. The components 8020,8030,8040A-8040C can all be coupled to a communication structure 8010. The memory controller 8030 may be coupled to the memory 8800 during use, and the peripheral 8040B may be coupled to the external interface 8900 during use. In the illustrated embodiment, the CPU complex 8020 includes one or more processors (P) 8024 and a level two (L2) cache 8022.
Peripherals 8040A-8040B may be any collection of additional hardware functions that are included in SOC 8000. For example, the peripherals 8040A-8040B may include video peripherals such as an image signal processor configured to process image capture data from a camera or other image sensor, a display controller configured to display video data on one or more display devices, a Graphics Processing Unit (GPU), a video encoder/decoder or codec, a scaler, a rotator, a mixer, and the like. The peripheral devices may include audio peripheral devices such as microphones, speakers, interfaces to microphones and speakers, audio processors, digital signal processors, mixers, and the like. The peripheral may include a peripheral interface controller (e.g., peripheral 8040B) for various interfaces 8900 external to SOC 8000, including interfaces such as Universal Serial Bus (USB) ports, peripheral Component Interconnect (PCI) ports (including PCI express (PCIe) ports), serial ports, parallel ports, and the like. The peripheral device may include a networked peripheral device such as a Media Access Controller (MAC). Any collection of hardware may be included.
The CPU complex 8020 may include one or more CPU processors 8024 that function as CPUs for the SOC 8000. The CPU of the system includes one or more processors that execute system main control software, such as an operating system. Typically, software executed by the CPU during use may control other components of the system to achieve the desired functionality of the system. The processor 8024 may also execute other software, such as applications. The application may provide functionality for the user and may rely on the operating system for lower level device control. Thus, the processor 8024 may also be referred to as an application processor. The CPU complex 8020 may further include other hardware, such as an L2 cache 8022 and/or interfaces to other components of a system (e.g., interfaces to a communication structure 8010). In general, a processor may include any circuitry and/or microcode configured to execute instructions defined in an instruction set architecture implemented by the processor. Instructions and data operated on by the processor in response to executing the instructions may generally be stored in memory 8800, although some instructions may be defined as also having direct processor access to peripheral devices. Processors may encompass processor cores implemented on other components having integrated circuits as a system on a chip (SOC 8000) or other level of integration. The processor may further include discrete microprocessors, processor cores and/or microprocessors integrated into a multi-chip module implementation, processors implemented as multiple integrated circuits, and the like.
The memory controller 8030 may generally include circuitry for receiving memory operations from other components of the SOC 8000 and for accessing the memory 8800 to complete the memory operations. The memory controller 8030 may be configured to access any type of memory 8800. For example, the memory 8800 can be Static Random Access Memory (SRAM), dynamic RAM (DRAM), such as Synchronous DRAM (SDRAM) including double data rate (DDR, DDR2, DDR3, etc.) DRAM. Low power/mobile versions of DDR DRAM (e.g., LPDDR, mDDR, etc.) may be supported. The memory controller 8030 may include a memory operation queue for ordering (and possibly reordering) the operations and presenting the operations to the memory 8800. The memory controller 8030 may also include a data buffer for storing write data waiting to be written to memory and read data waiting to be returned to the source of the memory operation. In some embodiments, the memory controller 8030 may include a memory cache for storing recently accessed memory data. For example, in SOC implementations, the memory cache may reduce power consumption in the SOC by avoiding re-accessing data from memory 8800 in anticipation of a quick to re-access. In some cases, this memory cache may also be referred to as a system cache, as opposed to a private cache (such as the L2 cache 8022 or a cache in the processor 8024), which only serves certain components. Furthermore, in some embodiments, the system cache need not be located within the memory controller 8030.
In one embodiment, the memory 8800 may be packaged with the SOC 8000 in a chip-on-chip configuration or a package-on-package configuration. A multi-chip module configuration of SOC 8000 and memory 8800 may also be used. Such a configuration may be relatively more secure (in terms of data observability) than transmissions to other components in the system (e.g., to endpoints 16A-16B). Thus, the protected data may reside unencrypted in memory 8800, while the protected data may be encrypted for exchange between SOC 8000 and external endpoints.
The communication structure 8010 may be any communication interconnect and protocol for communicating between components of the SOC 8000. The communication fabric 8010 may be bus-based, including shared bus configurations, crossbar configurations, and layered buses with bridges. The communication fabric 8010 may also be packet-based and may be a hierarchy with bridges, a crossbar, point-to-point, or other interconnectors.
It is noted that the number of components of SOC 8000 (and the number of sub-components of those components shown in fig. 10 (such as within CPU complex 8020) may be different in different embodiments. There may be more or less of each component/sub-component than shown in fig. 10.
Fig. 11 is a block diagram of one embodiment of a system 9000 comprising at least one instance of SOC 8000 coupled to an external memory 8800 and one or more external peripherals 9020. A Power Management Unit (PMU) 9010 is provided that supplies a supply voltage to the SOC 8000 and one or more supply voltages to the memory 8800 and/or the peripheral 9020. In some implementations, more than one instance of SOC 8000 may be included (more than one memory 8800 may also be included).
The peripheral device 9020 may include any desired circuitry, depending on the type of system 9000. For example, in one embodiment, the system 9000 can be a mobile device (e.g., personal Digital Assistant (PDA), smart phone, etc.), and the peripheral device 9020 can comprise a device for various types of wireless communications, such as wifi, bluetooth, cellular, global positioning system, etc. The peripheral device 9020 may also include additional storage, including RAM storage, solid state storage, or disk storage. The peripheral devices 9020 may include user interface devices (such as a display screen including a touch display screen or a multi-touch display screen), a keyboard or other input device, a microphone, a speaker, and the like. In other embodiments, the system 9000 may be any type of computing system (e.g., desktop personal computer, laptop, workstation, network set-top box, etc.).
The external storage 8800 can comprise any type of memory. For example, the external memory 8800 can be SRAM, dynamic RAM (DRAM), such as Synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.), RAMBUS DRAM, low power version of DDR DRAM (e.g., LPDDR, mDDR, etc.), etc. The external memory 8800 can include one or more memory modules to which the memory device can be mounted, such as single rank memory modules (SIMMs), dual rank memory modules (DIMMs), and the like. Alternatively, the external memory 8800 can include one or more memory devices mounted on the SOC 8000 in a chip-on-chip configuration or package-on-package implementation.
Examples of multifunction devices
Fig. 13 illustrates a block diagram of a portable multifunction device in accordance with some embodiments. In some embodiments, the device is a portable communication device such as a mobile phone that also includes other functions such as PDA, camera, video capture and/or playback, and/or music player functions. Exemplary embodiments of the portable multifunction device include, but are not limited to, those from Apple inc (Cupertino, california)
Figure BDA0004177553000000261
Device, iPod->
Figure BDA0004177553000000262
Equipment and->
Figure BDA0004177553000000263
An apparatus. Other portable electronic devices may also be used, such as having A laptop, mobile phone, smart phone, tablet or tablet computer with a touch-sensitive surface (e.g., a touch screen display and/or a touch pad). It should also be appreciated that in some embodiments, the device is not a portable communication device, but rather a desktop computer having a touch-sensitive surface (e.g., a touch screen display and/or a touch pad). In some embodiments, the device is a gaming computer having an orientation sensor (e.g., an orientation sensor in a game controller). In other embodiments, the device is not a portable communication device, but a camera and/or video camera.
In the following discussion, an electronic device including a display and a touch-sensitive surface is described. It should be understood, however, that the electronic device may include one or more other physical user interface devices, such as a physical keyboard, mouse, and/or joystick.
The device typically supports various applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, workout support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and/or digital video player applications.
Various applications executable on the device may use at least one common physical user interface device such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device may be adjusted and/or changed from one application to the next and/or within the respective application. In this way, a common physical architecture of the device (such as a touch-sensitive surface) may support various applications with a user interface that is intuitive and transparent to the user.
Device 2100 can include memory 2102 (which can include one or more computer-readable storage media), a memory controller 2122, one or more processing units (CPUs) 2120, a peripheral interface 2118, RF circuitry 2108, audio circuitry 2110, speakers 2111, a touch-sensitive display system 2112, a microphone 2113, an input/output (I/O) subsystem 2106, other input control devices 2116, and external ports 2124. Device 2100 can include one or more optical sensors or cameras 2164. These components may communicate via one or more communication buses or signal lines 2103.
It should be understood that device 2100 is only one example of a portable multifunction device and that device 2100 may have more or fewer components than shown, may combine two or more components, or may have different configurations or arrangements of the components. The various components shown in fig. 13 may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and/or application specific integrated circuits.
Memory 2102 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to the memory 2102 by other components of the device 2100 (e.g., the CPU 2120 and the peripheral interface 2118) may be controlled by a memory controller 2122.
Peripheral interfaces 2118 can be used to couple the input and output peripherals of the device to the CPU 2120 and memory 2102. The one or more processors 2120 run or execute various software programs and/or sets of instructions stored in the memory 2102 to perform various functions of the device 2100 and process data.
In some embodiments, the peripheral interface 2118, CPU 2120, and memory controller 2122 may be implemented on a single chip, such as chip 2104. In some other embodiments, they may be implemented on separate chips.
The RF (radio frequency) circuit 2108 receives and transmits RF signals, also known as electromagnetic signals. The RF circuit 2108 converts/converts an electrical signal into/from an electromagnetic signal and communicates with a communication network and other communication devices via the electromagnetic signal. The RF circuitry 2108 may include well-known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, an encoder/decoder (codec) chipset, a Subscriber Identity Module (SIM) card, memory, and so forth. The RF circuitry 2108 may communicate with networks such as the internet (also known as the World Wide Web (WWW)), intranets, and/or wireless networks such as cellular telephone networks, wireless Local Area Networks (LANs), and/or Metropolitan Area Networks (MANs), among other devices via wireless communications. The wireless communication may use any of a variety of communication standards, communication protocols, and communication technologies, including, but not limited to, global system for mobile communications (GSM), enhanced Data GSM Environment (EDGE), high Speed Downlink Packet Access (HSDPA), high Speed Uplink Packet Access (HSUPA), wideband code division multiple access (W-CDMA), code Division Multiple Access (CDMA), time Division Multiple Access (TDMA), bluetooth, wireless fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and/or IEEE 802.11 n), voice over internet protocol (VoIP), wi-MAX, email protocol (e.g., internet Message Access Protocol (IMAP), and/or Post Office Protocol (POP)), instant messaging (e.g., extensible message processing field protocol (XMPP), session initiation protocol for instant messaging and field usage extension (SIMPLE), instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol including communication protocols not yet developed at the date of this document.
The audio circuitry 2110, speaker 2111 and microphone 2113 provide an audio interface between a user and the device 2100. The audio circuit 2110 receives audio data from the peripheral interface 2118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 2111. The speaker 2111 converts electrical signals into sound waves audible to the human ear. The audio circuit 2110 also receives an electrical signal that is converted by a microphone 2113 from sound waves. The audio circuit 2110 converts the electrical signal into audio data and transmits the audio data to the peripheral interface 2118 for processing. Audio data may be retrieved from and/or transferred to the memory 2102 and/or the RF circuitry 2108 by the peripheral interface 2118. In some embodiments, the audio circuit 2110 also includes a headset jack. The headset jack provides an interface between the audio circuit 2110 and a removable audio input/output peripheral, such as an output-only earphone or a headset having both an output (e.g., a monaural earphone or a binaural earphone) and an input (e.g., a microphone).
The I/O subsystem 2106 couples input/output peripheral devices on the device 2100, such as a touch screen 2112 and other input control devices 2116 to the peripheral device interface 2118. The I/O subsystem 2106 may include a display controller 2156 and one or more input controllers 2160 for other input control devices 2116. The one or more input controllers 2160 receive electrical signals from/send electrical signals to other input control devices 2116. Other input control devices 2116 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and the like. In some alternative implementations, one or more input controllers 2160 may be coupled (or not coupled) to any of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. The one or more buttons may include an up/down button for controlling the volume of the speaker 2111 and/or microphone 2113. The one or more buttons may include a push button.
The touch sensitive display 2112 provides an input interface and an output interface between the device and a user. The display controller 2156 receives electrical signals from and/or transmits electrical signals to the touch screen 2112. The touch screen 2112 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some implementations, some or all of the visual output may correspond to a user interface object.
Touch screen 2112 has a touch-sensitive surface, sensor, or set of sensors that receives input from a user based on haptic and/or tactile contact. Touch screen 2112 and display controller 2156 (along with any associated modules and/or sets of instructions in memory 2102) detect contact (and any movement or interruption of the contact) on touch screen 2112 and translate the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on touch screen 2112. In one exemplary embodiment, the point of contact between the touch screen 2112 and the user corresponds to a finger of the user.
Touch screen 2112 may use LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, but other display technologies may be used in other embodiments. Touch screen 2112 and display controller 2156 may detect contact and any movement or interruption thereof using any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen 2112. In one exemplary embodiment, a projected mutual capacitance sensing technique is used, such as that from Apple inc (Cupertino, california)
Figure BDA0004177553000000291
iPod/>
Figure BDA0004177553000000292
And->
Figure BDA0004177553000000293
The technology found in (a) is provided.
The touch screen 2112 may have a video resolution of over 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user may use any suitable object or appendage, such as a stylus, finger, etc., to make contact with the touch screen 2112. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may not be as accurate as stylus-based input due to the large contact area of the finger on the touch screen. In some embodiments, the device translates the finger-based coarse input into a precise pointer/cursor position or command for performing the action desired by the user.
In some embodiments, device 2100 may include a touchpad (not shown) for activating or deactivating particular functions in addition to touchscreen 2112. In some implementations, the touch pad is a touch sensitive area of the device that, unlike the touch screen, does not display visual output. The touch pad may be a touch-sensitive surface separate from the touch screen 2112 or an extension of the touch-sensitive surface formed by the touch screen.
The device 2100 also includes a power system 2162 for powering the various components. Power system 2162 may include a power management system, one or more power sources (e.g., battery, alternating Current (AC)), a recharging system, power failure detection circuitry, a power converter or inverter, a power status indicator (e.g., light Emitting Diode (LED)), and any other components associated with the generation, management, and distribution of power in portable devices.
Device 2100 can also include one or more optical sensors or cameras 2164. Fig. 13 shows optical sensors coupled to optical sensor controller 2158 in I/O subsystem 2106. The optical sensor 2164 may include, for example, a Charge Coupled Device (CCD), or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor or photosensor. The optical sensor 2164 receives light projected through one or more lenses from the environment and converts the light into data representative of an image. In conjunction with an imaging module 2143 (also referred to as a camera module), the optical sensor 2164 may capture still images and/or video sequences. In some embodiments, at least one optical sensor may be located at a rear of the device 2100 opposite the touch screen display 2112 at the front of the device. In some embodiments, the touch screen display may be used as a viewfinder for capturing still and/or video images. In some embodiments, alternatively or additionally, at least one optical sensor may be located at the front of the device.
Device 2100 can also include one or more proximity sensors 2166. Fig. 13 illustrates a proximity sensor 2166 coupled to the peripheral interface 2118. Alternatively, the proximity sensor 2166 may be coupled to an input controller 2160 in the I/O subsystem 2106. In some implementations, the proximity sensor turns off and disables the touch screen 2112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
Device 2100 can also include one or more orientation sensors 2168. In some embodiments, the one or more orientation sensors include one or more accelerometers (e.g., one or more linear accelerometers and/or one or more rotational accelerometers). In some embodiments, the one or more orientation sensors include one or more gyroscopes. In some embodiments, the one or more orientation sensors comprise one or more magnetometers. In some embodiments, the one or more orientation sensors include one or more of a Global Positioning System (GPS), a global navigation satellite system (GLONASS), and/or other global navigation system receivers. GPS, GLONASS, and/or other global navigation system receivers may be used to obtain information regarding the position and orientation (e.g., longitudinal or lateral) of device 2100. In some embodiments, the one or more orientation sensors include any combination of orientation sensors/rotation sensors. Fig. 13 illustrates one or more orientation sensors 2168 coupled to the peripheral interface 2118. Alternatively, the one or more orientation sensors 2168 may be coupled to the input controller 2160 in the I/O subsystem 2106. In some embodiments, information is displayed in a portrait view or a landscape view on a touch screen display based on analysis of data received from one or more orientation sensors.
In some embodiments, device 2100 may also include one or more other sensors (not shown), including, but not limited to, ambient light sensors and motion detectors. These sensors may be coupled to the peripheral interface 2118 or may be coupled to the input controller 2160 in the I/O subsystem 2106. For example, in some embodiments, device 2100 can include at least one forward (away from the user) light sensor and at least one backward (toward the user) light sensor that can be used to collect ambient light metrics from the environment in which device 2100 is located for use by video and image acquisition, processing, and display applications.
In some embodiments, the software components stored in memory 2102 include an operating system 2126, a communication module 2128, a contact/motion module (or set of instructions) 2130, a graphics module 2132, a text input module 2134, a Global Positioning System (GPS) module 2135, and an application program 2136. Further, in some embodiments, memory 2102 stores device/global internal state 2157. The device/global internal state 2157 includes one or more of the following: an active application state indicating which applications (if any) are currently active; display status indicating what applications, views, or other information occupy various areas of the touch screen display 2112; a sensor state including information obtained from the respective sensors of the devices and the input control device 2116; and location information regarding the device's location and/or pose.
The operating system 2126 (e.g., darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or embedded operating systems such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between the various hardware components and software components.
The communication module 2128 facilitates communication with other devices via one or more external ports 2124 and also includes various software components for processing data received by the RF circuitry 2108 and/or the external ports 2124. External port 2124 (e.g., universal Serial Bus (USB), firewire, etc.) is adapted to be coupled directly to other devices or indirectly via a network (e.g., the internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as or similar to and/or compatible with a 30-pin connector used on an iPod (trademark of Apple inc.) device.
The contact/motion module 2130 may detect contact with the touch screen 2112 (in conjunction with the display controller 2156) and other touch sensitive devices (e.g., a touchpad or physical click wheel). The contact/motion module 2130 includes a number of software components for performing various operations related to the detection of contact, such as determining whether contact has occurred (e.g., detecting a finger press event), determining whether movement of the contact exists and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether contact has terminated (e.g., detecting a finger lift event or a contact break). The contact/motion module 2130 receives contact data from a touch-sensitive surface. Determining movement of the point of contact may include determining a velocity (magnitude), a speed (magnitude and direction), and/or an acceleration (change in magnitude and/or direction) of the point of contact, the movement of the point of contact being represented by a series of contact data. These operations may be applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch"/multiple finger contacts). In some embodiments, the contact/motion module 2130 and the display controller 2156 detect contact on the touchpad.
The contact/motion module 2130 may detect gesture inputs of a user. Different gestures on the touch-sensitive surface have different contact patterns. Thus, gestures may be detected by detecting specific contact patterns. For example, detecting a single-finger tap gesture includes detecting a finger-down event, and then detecting a finger-up (lift-off) event at the same location (or substantially the same location) as the finger-down event (e.g., at an icon location). As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift off) event.
Graphics module 2132 includes various software components for rendering and displaying graphics on touch screen 2112 or other display, including components for changing the intensity of the graphics displayed. As used herein, the term "graphic" includes any object that may be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, and the like.
In some embodiments, graphics module 2132 stores data to be used to represent graphics. Each graphic may be assigned a corresponding code. The graphic module 2132 receives one or more codes designating graphics to be displayed from an application program or the like, together with coordinate data and other graphic attribute data as necessary, and then generates screen image data to output to the display controller 2156.
The text input module 2134, which may be a component of the graphics module 2132, provides a soft keyboard for entering text in a variety of applications requiring text input.
The GPS module 2135 determines the location of the device and provides such information to various applications for use by it (e.g., to the phone module 2138 for use by it in a location-based dialing process, to the camera module 2143 as picture/video metadata, to applications for providing location-based services, such as map/navigation applications).
The application 2136 may include, but is not limited to, one or more of the following modules (or sets of instructions), or a subset or superset thereof:
a telephony module 2138;
video conference module 2139;
a camera module 2143 for still imaging and/or video imaging;
an image management module 2144;
a browser module 2147;
search module 2151;
a video and music player module 2152, which may be comprised of a video player module and a music player module; and/or
Online video module 2155.
Examples of other applications 2136 that may be stored in memory 2102 include, but are not limited to, other word processing applications, other image editing applications, drawing applications, presentation applications, communication/social media applications, map applications, JAVA-enabled applications, encryption applications, digital rights management applications, voice recognition applications, and voice replication applications.
In conjunction with the RF circuitry 2108, the audio circuitry 2110, the speaker 2111, the microphone 2113, the touch screen 2112, the display controller 2156, the contact module 2130, the graphics module 2132, and the text input module 2134, the telephone module 2138 can be used to input a sequence of characters corresponding to a telephone number, access one or more telephone numbers in an address book, modify the telephone number that has been entered, dial the corresponding telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As described above, the wireless communication may use any of a variety of communication standards, protocols, and techniques.
In conjunction with RF circuitry 2108, audio circuitry 2110, speaker 2111, microphone 2113, touch screen 2112, display controller 2156, optical sensor 2164, optical sensor controller 2158, contact/motion module 2130, graphics module 2132, text input module 2134, and telephony module 2138, videoconferencing module 2139 includes executable instructions to initiate, conduct, and terminate a videoconference between a user and one or more other participants according to user instructions.
In conjunction with touch screen 2112, display controller 2156, one or more optical sensors 2164, optical sensor controller 2158, contact/motion module 2130, graphics module 2132, and image management module 2144, camera module 2143 includes executable instructions for: capturing still images or video (including video streams) and storing them in memory 2102, modifying features of still images or video, or deleting still images or video from memory 2102.
In conjunction with the touch screen 2112, the display controller 2156, the contact/motion module 2130, the graphics module 2132, the text input module 2134, and the camera module 2143, the image management module 2144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, tagging, deleting, presenting (e.g., in a digital slide or album), and storing still and/or video images.
In conjunction with RF circuitry 2108, touch screen 2112, display system controller 2156, contact/motion module 2130, graphics module 2132 and text input module 2134, browser module 2147 includes executable instructions for browsing the internet (including searching, linking to, receiving and displaying web pages or portions thereof, and attachments and other files linked to web pages) according to user instructions.
In conjunction with touch screen 2112, display system controller 2156, contact/motion module 2130, graphics module 2132 and text input module 2134, search module 2151 includes executable instructions for searching text, music, sound, images, video and/or other files in memory 2102 that match one or more search criteria (e.g., one or more search terms specified by a user) according to user instructions.
In conjunction with the touch screen 2112, display system controller 2156, contact/motion module 2130, graphics module 2132, audio circuitry 2110, speaker 2111, RF circuitry 2108 and browser module 2147, the video and music player module 2152 includes executable instructions that allow a user to download and playback recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), as well as executable instructions for displaying, rendering or otherwise playing back video (e.g., on the touch screen 2112 or on an external display connected via external port 2124). In some embodiments, device 2100 may include the functionality of an MP3 player such as an iPod (trademark of Apple inc.).
In conjunction with the touch screen 2112, display system controller 2156, touch/motion module 2130, graphics module 2132, audio circuitry 2110, speaker 2111, RF circuitry 2108, text input module 2134, and browser module 2147, the online video module 2155 includes instructions that allow a user to access, browse, receive (e.g., by streaming and/or downloading), play back (e.g., on a touch screen or on an external display connected via external port 2124), and otherwise manage online video in one or more video formats such as h.264/AVC format or h.265/HEVC format.
Each of the modules and applications identified above corresponds to a set of executable instructions for performing one or more of the functions described above, as well as the methods described in this application (e.g., computer-implemented methods and other information processing methods described herein). These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments. In some implementations, the memory 2102 can store a subset of the modules and data structures identified above. Further, the memory 2102 may store additional modules and data structures not described above.
In some implementations, the device 2100 is a device that performs the operation of a predefined set of functions on the device solely through a touch screen and/or touchpad. The number of physical input control devices (such as push buttons, dials, etc.) on the device 2100 may be reduced by using a touch screen and/or touchpad as the primary input control device for operation of the device 2100.
The set of predefined functions that may be performed exclusively by the touch screen and/or touch pad include navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates the device 2100 from any user interface that may be displayed on the device 2100 to a main menu, home menu, or root menu. In such implementations, the touch pad may be referred to as a "menu button". In some other embodiments, the menu buttons may be physical push buttons or other physical input control devices, rather than touch pads.
Fig. 14 illustrates a portable multifunction device 2100 with a touch screen 2112 in accordance with some embodiments. The touch screen may display one or more graphics within a User Interface (UI) 2200. In at least some embodiments of device 2100, a user can gesture on graphics using, for example, one or more fingers 2202 (not necessarily drawn to scale in the figures) or using one or more styluses 2203 (not necessarily drawn to scale in the figures) to select one or more of the graphics.
The device 2100 may also include one or more physical buttons, such as a "home" button or menu button 2204. As previously described, menu button 2204 may be used to navigate to any application 2136 of a set of applications executable on device 2100. Alternatively, in some embodiments, the menu buttons may be implemented as soft keys in a GUI displayed on the touch screen 2112.
In one embodiment, device 2100 includes a touch screen 2112, a home button or menu button 2204, a push button 2206 for powering the device on and off and locking the device, one or more volume adjustment buttons 2208, a Subscriber Identity Module (SIM) card slot 2210, a headset jack 2212, and a docking/charging external port 2124. Pressing button 2206 may be used to turn on/off power on the device by pressing the button and holding the button in a pressed state for a predetermined time interval, to lock the device by pressing the button and releasing the button before the predetermined time interval elapses, and/or to unlock the device or initiate an unlocking process. In alternative embodiments, device 2100 may also accept voice input through microphone 2113 for activating or deactivating some functions.
Device 2100 can also include one or more cameras 2164. The camera 2164 may include, for example, a Charge Coupled Device (CCD), or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor or photosensor. The camera 2164 receives light projected through one or more lenses from the environment and converts the light into data representing images or video frames. In some embodiments, at least one camera 2164 may be located at a rear of the device 2100 opposite the touchscreen display 2112 at the front of the device. In some embodiments, alternatively or additionally, at least one camera 2164 may be located in front of the device having the touch-screen display 2112, for example, so that a user may obtain images of other video conference participants for video conferencing while watching the user on the touch-screen display 2112. In some embodiments, at least one camera 2164 may be located in a front of device 2100, and at least one camera 2164 may be located in a rear of device 2100. In some implementations, the touch screen display 2112 can be used as a viewfinder and/or user interface for still image and/or video sequence acquisition applications.
Device 2100 may include video and image processing hardware and/or software including, but not limited to, video encoding and/or decoding components, codecs, modules, or pipelines that may be used to capture, process, convert, compress, decompress, store, modify, transmit, display, otherwise manage and manipulate still images and/or video frames or video sequences captured or otherwise acquired (e.g., via a network interface) via camera 2164. In some embodiments, device 2100 may also include one or more light sensors or other sensors that may be used to collect ambient light metrics or other metrics from the environment in which device 2100 is located for video and image acquisition, processing, and display use.
Exemplary computer System
FIG. 12 illustrates an exemplary computer system 2900 that can be configured to perform any or all of the embodiments described above. In different embodiments, computer system 2900 may be any of a variety of types of devices, including, but not limited to: personal computer systems, desktop computers, laptop computers, notebook computers, tablet computers, mainframe computers, handheld computers, workstations, network computers, cameras, set-top boxes, mobile devices, consumer devices, application servers, storage devices, video recording devices, peripheral devices (such as switches, modems, routers), or generally any type of computing device or electronic device.
Various embodiments as described herein may be performed within one or more computer systems 2900 that may interact with various other devices. It is noted that, according to various embodiments, any of the components, acts, or functions described above in connection with fig. 1-11 may be implemented on one or more computers configured as the computer system 2900 shown in fig. 12. In the illustrated embodiment, the computer system 2900 includes one or more processors 2910 coupled to a system memory 2920 via an input/output (I/O) interface 2930. The computer system 2900 also includes a network interface 2940 coupled to the I/O interface 2930, and one or more input/output devices or components 2950, such as a cursor control 2960, a keyboard 2970, one or more displays 2980, one or more cameras 2990, and one or more sensors 2992, including but not limited to light sensors and motion detectors. In some cases, it is contemplated that an embodiment may be implemented using a single instance of computer system 2900, while in other embodiments, multiple such systems or multiple nodes comprising computer system 2900 may be configured to host different portions or instances of an embodiment. For example, in one embodiment, some elements may be implemented via one or more nodes of the computer system 2900 that are different from those nodes implementing other elements.
In various embodiments, computer system 2900 may be a single processor system including one processor 2910, or a multi-processor system including several processors 2910 (e.g., two, four, eight, or other suitable number). Processor 2910 may be any suitable processor capable of executing instructions. For example, in various embodiments, processor 2910 may be a general-purpose processor or an embedded processor implementing any of a variety of Instruction Set Architectures (ISA), such as the x829, powerPC, SPARC or MIPS ISA, or any other suitable ISA. In a multiprocessor system, each processor 2910 may typically, but need not necessarily, implement the same ISA.
The system memory 2920 may be configured to store program instructions 2922 and/or data accessible to the processor 2910. In various embodiments, the system memory 2920 may be implemented using any suitable memory technology, such as Static Random Access Memory (SRAM), synchronous Dynamic RAM (SDRAM), non-volatile/flash memory, or any other type of memory. In the illustrated embodiment, the program instructions 2922 may be configured to implement any of the functions described herein. Further, memory 2920 may include any of the information structures or data structures described herein. In some embodiments, program instructions and/or data may be received, transmitted, or stored on a different type of computer-accessible medium or similar medium, independent of system memory 2920 or computer system 2900. Although computer system 2900 is described as implementing the functions of the functional blocks of the previous figures, any of the functions described herein may be implemented via such a computer system.
In one embodiment, the I/O interface 2930 may be configured to coordinate I/O communications between the processor 2910, the system memory 2920, and any peripheral devices in the device, including the network interface 2940 or other peripheral device interfaces, such as the input/output device 2950. In some implementations, the I/O interface 2930 may perform any necessary protocol, timing, or other data conversion to convert data signals from one component (e.g., the system memory 2920) into a format suitable for use by another component (e.g., the processor 2910). In some implementations, the I/O interface 2930 may include support for devices attached, for example, through various types of peripheral bus, such as variants of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard. In some embodiments, the functionality of I/O interface 2930 may be divided into two or more separate components, such as a north bridge and a south bridge, for example. Further, in some embodiments, some or all of the functionality of the I/O interface 2930 (such as an interface to the system memory 2920) may be incorporated directly into the processor 2910.
The network interface 2940 may be configured to allow data to be exchanged between the computer system 2900 and other devices (e.g., bearers or proxy devices) attached to the network 2985, or between nodes of the computer system 2900. In various embodiments, network 2985 may include one or more networks including, but not limited to: a Local Area Network (LAN) (e.g., ethernet or enterprise network), a Wide Area Network (WAN) (e.g., the internet), a wireless data network, some other electronic data network, or some combination thereof. In various embodiments, the network interface 2940 may support communication via a wired or wireless general-purpose data network, such as any suitable type of ethernet; communication is via a telecommunications/telephony network, such as an analog voice network or a digital fiber optic communication network; communication is via a storage area network, such as a fibre channel SAN, or via any other suitable type of network and/or protocol.
Input/output devices 2950 may, in some embodiments, include one or more display terminals, keyboards, keypads, touchpads, scanning devices, voice or optical recognition devices, or any other devices suitable for inputting or accessing data by one or more computer systems 2900. Multiple input/output devices 2950 may be present in the computer system 2900, or may be distributed across various nodes of the computer system 2900. In some embodiments, similar input/output devices may be separate from computer system 2900 and may interact with one or more nodes of computer system 2900 through a wired or wireless connection, such as through network interface 2940.
As shown in fig. 12, memory 2920 may contain program instructions 2922 that may be executable by a processor to implement any of the elements or acts described above. In one embodiment, the program instructions may implement the methods described above. In other embodiments, different elements and data may be included. Note that the data may include any of the data or information described above.
Those skilled in the art will appreciate that the computer system 2900 is merely illustrative and is not intended to limit the scope of the embodiments. In particular, the computer systems and devices may include any combination of hardware or software that can perform the indicated functions, including computers, network devices, internet devices, personal digital assistants, wireless telephones, pagers, and the like. The computer system 2900 may also be connected to other devices not shown or otherwise operate as a standalone system. Furthermore, the functionality provided by the illustrated components may be combined in fewer components or distributed in additional components in some embodiments. Similarly, in some embodiments, the functionality of some of the illustrated components may not be provided, and/or other additional functionality may be provided.
Those skilled in the art will also recognize that while various items are shown as being stored in memory or on storage during use, these items or portions thereof may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments, some or all of the software components may execute in memory on another device and communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or portable article for reading by a suitable drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system 2900 may be transmitted to computer system 2900 via a transmission medium or signal (such as an electrical, electromagnetic, or digital signal) that is transmitted via a communication medium (such as a network and/or wireless link). Various embodiments may further include receiving, transmitting, or storing instructions and/or data implemented in accordance with the foregoing description on a computer-accessible medium. Generally, computer-accessible media may include non-transitory computer-readable storage media or memory media such as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, etc.), ROM, and the like. In some embodiments, the computer-accessible medium may include transmission media or signals such as electrical, electromagnetic, or digital signals transmitted via a communication medium, such as a network and/or wireless link.
In various embodiments, the methods described herein may be implemented in software, hardware, or a combination thereof. Further, the order of the blocks of the method may be changed, various elements may be added, reordered, combined, omitted, modified, etc. Various modifications and alterations will become apparent to those skilled in the art having the benefit of this disclosure. The various embodiments described herein are intended to be illustrative rather than limiting. Many variations, modifications, additions, and improvements are possible. Thus, multiple instances may be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the claims that follow. Finally, structures and functions presented as discrete components in an exemplary configuration may be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements may fall within the scope of the embodiments as defined in the claims that follow.

Claims (25)

1. A system, comprising:
a video decoder configured to perform operations comprising:
Receiving a bitstream comprising (i) encoded video data corresponding to a plurality of frames of source video data encoded by an encoder and (ii) format metadata representing a luminance value focus range of the source video data, the format metadata providing information about the focus range luminance values and a plurality of transfer functions for mapping a full dynamic range of the source video data to the luminance value focus range, wherein different transfer functions of the plurality of transfer functions are used corresponding to the plurality of frames;
obtaining the encoded video data and the format metadata from the bitstream; and
decoding a particular frame of the plurality of frames from the encoded video data, wherein the decoding comprises:
selecting a specific transfer function of the plurality of transfer functions corresponding to the feature frame using the information provided by the format metadata; and
a luminance value of the particular frame is determined using the luminance value focus range indicated by the format metadata and the particular transfer function.
2. The system of claim 1, wherein the plurality of transfer functions comprises (i) a first transfer function configured to clip source video data corresponding to a frame of the plurality of frames according to a focus range of the source video data corresponding to the frame, and (ii) a second transfer function configured to map the clipped source video data corresponding to the frame to a usable number of bits for representing the encoded video data.
3. The system of claim 2, wherein the source video data and the encoded video data are represented using different numbers of bits, and
wherein a first number of bits used to represent the source video data is greater than a second number of bits used to represent the encoded video data.
4. The system of claim 3, wherein the decoder is configured to decode the encoded video data obtained from the bitstream using a third number of bits different from the first number of bits and the second number of bits.
5. The system of claim 2, wherein a first number of frames of the plurality of frames are encoded using one or more portions of a first transfer function and a second number of frames of the plurality of frames are encoded using a second transfer function.
6. The system of claim 5, wherein the format metadata includes information indicative of the one or more portions of a first transfer function.
7. The system of claim 1, wherein a first transfer function of the plurality of transfer functions and a second, different transfer function are used to map a first frame and a second frame of the plurality of frames, respectively.
8. The system of claim 7, wherein the first frame and the second frame are adjacent frames in the source video data.
9. A method performed by a video decoder, the method comprising:
receiving a bitstream comprising (i) encoded video data corresponding to a plurality of frames of source video data encoded by an encoder and (ii) format metadata representing a luminance value focus range of the source video data, the format metadata providing information about the focus range luminance values and a plurality of transfer functions for mapping a full dynamic range of the source video data to the luminance value focus range, wherein different transfer functions of the plurality of transfer functions are used corresponding to the plurality of frames;
obtaining the encoded video data and the format metadata from the bitstream; and
decoding a particular frame of the plurality of frames from the encoded video data, wherein the decoding comprises:
selecting a specific transfer function of the plurality of transfer functions corresponding to the feature frame using the information provided by the format metadata; and
a luminance value of the particular frame is determined using the luminance value focus range indicated by the format metadata and the particular transfer function.
10. The method of claim 9, wherein the plurality of transfer functions comprises (i) a first transfer function configured to clip source video data corresponding to a frame of the plurality of frames according to a focus range of the source video data corresponding to the frame, and (ii) a second transfer function configured to map the clipped source video data corresponding to the frame to a usable number of bits for representing the encoded video data.
11. The method of claim 10, wherein the source video data and the encoded video data are represented using different numbers of bits, and
wherein a first number of bits used to represent the source video data is greater than a second number of bits used to represent the encoded video data.
12. The method of claim 11, wherein the decoder is configured to decode the encoded video data obtained from the bitstream using a third number of bits different from the first number of bits and the second number of bits.
13. The method of claim 10, wherein a first number of frames of the plurality of frames are encoded using one or more portions of a first transfer function and a second number of frames of the plurality of frames are encoded using a second transfer function.
14. The method of claim 13, wherein the format metadata includes information indicative of the one or more portions of a first transfer function.
15. The method of claim 9, wherein a first transfer function of the plurality of transfer functions and a second, different transfer function are used to map a first frame and a second frame of the plurality of frames, respectively.
16. The method of claim 15, wherein the first frame and the second frame are adjacent frames in the source video data.
17. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause a video decoder to perform operations comprising:
receiving a bitstream comprising (i) encoded video data corresponding to a plurality of frames of source video data encoded by an encoder and (ii) format metadata representing a luminance value focus range of the source video data, the format metadata providing information about the focus range luminance values and a plurality of transfer functions for mapping a full dynamic range of the source video data to the luminance value focus range, wherein different transfer functions of the plurality of transfer functions are used corresponding to the plurality of frames;
Obtaining the encoded video data and the format metadata from the bitstream; and
decoding a particular frame of the plurality of frames from the encoded video data, wherein the decoding comprises:
selecting a specific transfer function of the plurality of transfer functions corresponding to the feature frame using the information provided by the format metadata; and
a luminance value of the particular frame is determined using the luminance value focus range indicated by the format metadata and the particular transfer function.
18. The non-transitory computer-readable medium of claim 17, wherein the plurality of transfer functions comprises (i) a first transfer function configured to clip source video data corresponding to a frame of the plurality of frames according to a focus range of the source video data corresponding to the frame, and (ii) a second transfer function configured to map the clipped source video data corresponding to the frame to a usable number of bits to represent the encoded video data.
19. The non-transitory computer readable medium of claim 18, wherein the source video data and the encoded video data are represented using different numbers of bits,
Wherein a first number of bits for representing the source video data is greater than a second number of bits for representing the encoded video data, and
wherein the decoder is configured to decode the encoded video data obtained from the bitstream using a third number of bits different from the first number of bits and the second number of bits.
20. The non-transitory computer-readable medium of claim 18, wherein a first number of frames of the plurality of frames are encoded using one or more portions of a first transfer function and a second number of frames of the plurality of frames are encoded using a second transfer function, and wherein the format metadata includes information indicating the one or more portions of a first transfer function.
21. The non-transitory computer-readable medium of claim 17, wherein a first transfer function and a different second transfer function of the plurality of transfer functions are used to map a first frame and a second frame of the plurality of frames, respectively, and
wherein the first frame and the second frame are adjacent frames in the source video data.
22. A system, comprising:
a video decoder configured to:
Receiving encoded video data output by a video encoder;
processing the encoded video data to generate decoded C-bit video data representing a focal dynamic range of the input video data and extracted format metadata; and
expanding the decoded C-bit video data to generate D-bit video data covering a full dynamic range of a target device, wherein D is greater than C;
wherein, to extend the decoded C-bit video data, an inverse adaptive transfer function component of the video decoder maps a focus dynamic range of the decoded C-bit video data indicated in the format metadata to a full dynamic range of the target device, wherein the focus dynamic range of the decoded C-bit video data is less than a total dynamic range of input video data encoded by the video encoder.
23. A system, comprising:
a video encoder, comprising:
a processing pipeline configured to process video data according to an encoding format to generate encoded video data, wherein the encoded video data is represented within the processing pipeline with a bit depth of C bits using a code value of an internal transfer function; and
An adaptive transfer function component configured to:
receiving input video data using a code value of a transfer function at a bit depth of N bits, where N is greater than C;
determining a focus dynamic range of the input video data based at least in part on one or more characteristics of the input video data, wherein the focus dynamic range is less than a total dynamic range of the input video data;
mapping the input video data within the focus dynamic range from a bit depth of the input video data to a bit depth of the video encoder to generate C-bit video data; and is also provided with
Outputting the C-bit video data to the processing pipeline for processing; and
a video decoder configured to:
receiving encoded video data output by the processing pipeline of the video encoder;
processing the encoded video data to generate decoded C-bit video data representing a focus dynamic range determined for the input video data and extracted format metadata indicative of one or more parameters used in the mapping; and
the decoded C-bit video data is extended based at least in part on the format metadata to generate D-bit video data that covers a full dynamic range of a target device, where D is greater than C.
24. An apparatus, comprising:
a decoder configured to decode the encoded C-bit video data generated by the encoder to generate decoded C-bit video data representing a range of luminance values extracted from the N-bit video data, wherein N > C, wherein the range of luminance values represented in the encoded C-bit video data is less than a full dynamic range of luminance of the N-bit video data; and
an inverse adaptive transfer function component configured to expand the decoded C-bit video data to generate D-bit video data covering a full dynamic range of a target device, wherein
D>C;
Wherein to extend the decoded C-bit video data, the inverse adaptive transfer function component maps a range of luminance values extracted from the N-bit video data to a full dynamic range of the target device according to a transfer function of the target device.
25. An apparatus, comprising:
an adaptive transfer function component configured to:
receiving input video data using a code value of a transfer function at a bit depth of N bits;
determining a focus dynamic range of the input video data based at least in part on one or more characteristics of the input video data, wherein the focus dynamic range is less than a total dynamic range of the input video data;
Mapping the input video data within the focus dynamic range from a bit depth N to a bit depth C of the input video data to generate C-bit video data, where N > C; and
an encoder configured to process the C-bit video data according to an encoding format to generate encoded C-bit video data, wherein the video data is represented in the encoder using code values of an internal transfer function.
CN202310395840.1A 2014-02-25 2015-02-25 Adaptive transfer function for video encoding and decoding Pending CN116320394A (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201461944484P 2014-02-25 2014-02-25
US61/944,484 2014-02-25
US201461946638P 2014-02-28 2014-02-28
US201461946633P 2014-02-28 2014-02-28
US61/946,638 2014-02-28
US61/946,633 2014-02-28
PCT/US2015/017540 WO2015130797A1 (en) 2014-02-25 2015-02-25 Adaptive transfer function for video encoding and decoding
CN201580010095.8A CN106031172B (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580010095.8A Division CN106031172B (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function

Publications (1)

Publication Number Publication Date
CN116320394A true CN116320394A (en) 2023-06-23

Family

ID=53882764

Family Applications (7)

Application Number Title Priority Date Filing Date
CN202310395840.1A Pending CN116320394A (en) 2014-02-25 2015-02-25 Adaptive transfer function for video encoding and decoding
CN201910771191.4A Pending CN110365974A (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function
CN202010008012.4A Active CN111246050B (en) 2014-02-25 2015-02-25 System, apparatus and method for video data processing
CN202010303152.4A Active CN111526350B (en) 2014-02-25 2015-02-25 Adaptive video processing
CN201580010095.8A Active CN106031172B (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function
CN201580010103.9A Active CN106030503B (en) 2014-02-25 2015-02-25 Adaptive video processing
CN201580008321.9A Active CN106233706B (en) 2014-02-25 2015-02-25 Apparatus and method for providing backward compatibility of video with both standard and high dynamic range

Family Applications After (6)

Application Number Title Priority Date Filing Date
CN201910771191.4A Pending CN110365974A (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function
CN202010008012.4A Active CN111246050B (en) 2014-02-25 2015-02-25 System, apparatus and method for video data processing
CN202010303152.4A Active CN111526350B (en) 2014-02-25 2015-02-25 Adaptive video processing
CN201580010095.8A Active CN106031172B (en) 2014-02-25 2015-02-25 For Video coding and decoded adaptive transmission function
CN201580010103.9A Active CN106030503B (en) 2014-02-25 2015-02-25 Adaptive video processing
CN201580008321.9A Active CN106233706B (en) 2014-02-25 2015-02-25 Apparatus and method for providing backward compatibility of video with both standard and high dynamic range

Country Status (8)

Country Link
US (10) US10271054B2 (en)
EP (2) EP3829171A1 (en)
JP (5) JP6383425B2 (en)
KR (7) KR102025037B1 (en)
CN (7) CN116320394A (en)
AU (5) AU2015223123A1 (en)
DE (2) DE112015000950T5 (en)
WO (3) WO2015130793A1 (en)

Families Citing this family (222)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9955084B1 (en) * 2013-05-23 2018-04-24 Oliver Markus Haynold HDR video camera
KR102294106B1 (en) 2013-06-20 2021-08-27 소니그룹주식회사 Reproduction device, reproduction method, and recording medium
JP2015005878A (en) 2013-06-20 2015-01-08 ソニー株式会社 Reproduction device, reproduction method and recording medium
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
CN116320394A (en) 2014-02-25 2023-06-23 苹果公司 Adaptive transfer function for video encoding and decoding
JP2015195439A (en) * 2014-03-31 2015-11-05 ソニー株式会社 image processing apparatus, image processing method and program
CN106464966B (en) * 2014-05-12 2020-12-08 索尼公司 Communication apparatus, communication method, and computer-readable storage medium
US10217438B2 (en) * 2014-05-30 2019-02-26 Apple Inc. User interface and method for directly setting display white point
CN106105177B (en) * 2014-06-10 2019-09-27 松下知识产权经营株式会社 Transform method and converting means
CN105393549A (en) * 2014-06-27 2016-03-09 松下知识产权经营株式会社 Data output device, data output method, and data generation method
US10163408B1 (en) * 2014-09-05 2018-12-25 Pixelworks, Inc. LCD image compensation for LED backlighting
CN109151253B (en) 2014-09-22 2020-12-18 松下知识产权经营株式会社 Display device, display method, and reproduction display system
US9729801B2 (en) * 2014-10-02 2017-08-08 Dolby Laboratories Licensing Corporation Blending images using mismatched source and display electro-optical transfer functions
JP6601729B2 (en) * 2014-12-03 2019-11-06 パナソニックIpマネジメント株式会社 Data generation method, data reproduction method, data generation device, and data reproduction device
TW201633779A (en) * 2014-12-16 2016-09-16 湯姆生特許公司 Method and device of converting a HDR version of a picture to a SDR version of said picture
US9558538B2 (en) * 2015-01-09 2017-01-31 Vixs Systems, Inc. Dynamic range converter with frame by frame adaptation and methods for use therewith
US9589313B2 (en) * 2015-01-09 2017-03-07 Vixs Systems, Inc. Dynamic range converter with pipelined architecture and methods for use therewith
US9860504B2 (en) 2015-01-09 2018-01-02 Vixs Systems, Inc. Color gamut mapper for dynamic range conversion and methods for use therewith
US9544560B2 (en) * 2015-01-09 2017-01-10 Vixs Systems, Inc. Dynamic range converter with generic architecture and methods for use therewith
US9560330B2 (en) * 2015-01-09 2017-01-31 Vixs Systems, Inc. Dynamic range converter with reconfigurable architecture and methods for use therewith
US10475361B2 (en) 2015-02-02 2019-11-12 Apple Inc. Adjustable display illumination
US10390057B2 (en) * 2015-02-17 2019-08-20 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
CN113613009A (en) * 2015-02-27 2021-11-05 索尼公司 Transmission device, transmission method, reception device, and reception method
US20160182853A1 (en) * 2015-03-20 2016-06-23 Mediatek Inc. Dynamic Content Adaptive Frame Rate Conversion
US10109228B2 (en) * 2015-04-10 2018-10-23 Samsung Display Co., Ltd. Method and apparatus for HDR on-demand attenuation control
US10735755B2 (en) * 2015-04-21 2020-08-04 Arris Enterprises Llc Adaptive perceptual mapping and signaling for video coding
JP6476057B2 (en) * 2015-04-28 2019-02-27 日本放送協会 Quantization table correction device, gradation reduction device, and program
KR102322709B1 (en) * 2015-04-29 2021-11-08 엘지디스플레이 주식회사 Image processing method, image processing circuit and display device using the same
KR102337159B1 (en) * 2015-05-21 2021-12-08 삼성전자주식회사 Apparatus and method for outputting content, and display apparatus
US10136074B2 (en) * 2015-06-02 2018-11-20 Samsung Electronics Co., Ltd. Distribution-point-based adaptive tone mapping
US10007412B2 (en) * 2015-06-24 2018-06-26 Samsung Electronics Co., Ltd. Tone mastering system with creative intent metadata
JP6530854B2 (en) 2015-07-16 2019-06-12 ドルビー ラボラトリーズ ライセンシング コーポレイション Signal shaping and coding for HDR and wide gamut signals
KR102254535B1 (en) * 2015-07-22 2021-05-20 애리스 엔터프라이지즈 엘엘씨 System for coding high dynamic range and wide color reproduction sequences
TWI764870B (en) * 2015-07-28 2022-05-21 法商內數位麥德遜專利控股有限公司 Video signal processing device and method
JP6548516B2 (en) * 2015-08-26 2019-07-24 キヤノン株式会社 IMAGE DISPLAY DEVICE, IMAGE PROCESSING DEVICE, CONTROL METHOD OF IMAGE DISPLAY DEVICE, AND CONTROL METHOD OF IMAGE PROCESSING DEVICE
US10687080B2 (en) * 2015-08-28 2020-06-16 Arris Enterprises Llc Color volume transforms in coding of high dynamic range and wide color gamut sequences
EP3739564A1 (en) * 2015-08-31 2020-11-18 LG Electronics Inc. Image display apparatus
JP6986670B2 (en) * 2015-09-11 2021-12-22 パナソニックIpマネジメント株式会社 Video receiving method and video receiving device
US10798422B2 (en) * 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication
US10715772B2 (en) * 2015-11-09 2020-07-14 Netflix, Inc. High dynamic range color conversion correction
CN106878694B (en) * 2015-12-10 2018-12-18 瑞昱半导体股份有限公司 high dynamic range signal processing system and method
WO2017101137A1 (en) * 2015-12-15 2017-06-22 华为技术有限公司 High dynamic range image processing method and apparatus, and terminal device
EP3396945B1 (en) * 2015-12-25 2024-05-08 Sharp Kabushiki Kaisha Display device, method for controlling display device, control program, and recording medium
US20170186403A1 (en) * 2015-12-28 2017-06-29 Printing Technology Research Institute Method of simulating print color on mobile devices
CN105657539B (en) * 2015-12-30 2019-05-31 深圳Tcl数字技术有限公司 Video broadcasting method and device
JP6233424B2 (en) 2016-01-05 2017-11-22 ソニー株式会社 Imaging system and imaging method
JP6237797B2 (en) * 2016-01-05 2017-11-29 ソニー株式会社 Video system, video processing method, program, and video converter
JP6652301B2 (en) * 2016-01-27 2020-02-19 キヤノン株式会社 Image processing apparatus, image processing method, and program
KR20170090824A (en) * 2016-01-29 2017-08-08 삼성전자주식회사 Electronic apparatus and the contorl method thereof
US10264196B2 (en) 2016-02-12 2019-04-16 Contrast, Inc. Systems and methods for HDR video capture with a mobile device
US10257394B2 (en) 2016-02-12 2019-04-09 Contrast, Inc. Combined HDR/LDR video streaming
JP6992740B2 (en) * 2016-02-26 2022-01-13 ソニーグループ株式会社 Information processing equipment, display devices, information recording media, information processing methods, and programs
US20170279866A1 (en) * 2016-03-22 2017-09-28 Intel Corporation Adaptation of streaming data based on the environment at a receiver
JP2017175459A (en) * 2016-03-24 2017-09-28 シャープ株式会社 Signal converter, signal conversion method, television receiver, program, and recording medium
US10152947B2 (en) 2016-04-06 2018-12-11 Microsoft Technology Licensing, Llc Display brightness updating
EP3456058A1 (en) 2016-05-13 2019-03-20 VID SCALE, Inc. Bit depth remapping based on viewing parameters
CN107395950B (en) * 2016-05-16 2021-11-09 西安电子科技大学 Media data processing method, device and system
WO2018000126A1 (en) * 2016-06-27 2018-01-04 Intel Corporation Method and system of multi-dynamic range multi-layer video blending with alpha channel sideband for video playback
EP4013026A1 (en) * 2016-06-27 2022-06-15 Sony Group Corporation Signal processing device, signal processing method, camera system, video system, and server
EP4336850A3 (en) 2016-07-08 2024-04-17 InterDigital Madison Patent Holdings, SAS Systems and methods for region-of-interest tone remapping
US9916638B2 (en) * 2016-07-20 2018-03-13 Dolby Laboratories Licensing Corporation Transformation of dynamic metadata to support alternate tone rendering
US10587818B2 (en) * 2016-08-02 2020-03-10 Magna Electronics Inc. Vehicle vision system with enhanced camera brightness control
AU2017308749A1 (en) 2016-08-09 2019-02-21 Contrast, Inc. Real-time HDR video for vehicle control
US10277829B1 (en) 2016-08-12 2019-04-30 Apple Inc. Video capture in low-light conditions
CN106210921B (en) * 2016-08-12 2019-10-11 深圳创维-Rgb电子有限公司 A kind of image effect method for improving and its device
CN106101679B (en) * 2016-08-23 2018-01-12 青岛海信电器股份有限公司 The processing method and processing system of high dynamic range signal
US10757385B2 (en) * 2016-08-24 2020-08-25 Qualcomm Incorporated Color gamut adaptation with feedback channel
US11153594B2 (en) 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
KR102594201B1 (en) * 2016-09-22 2023-10-27 삼성디스플레이 주식회사 Method of processing image and display apparatus performing the same
US9883112B1 (en) * 2016-09-22 2018-01-30 Pinnacle Imaging Corporation High dynamic range imaging
US10778999B2 (en) 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
US20180098041A1 (en) * 2016-09-30 2018-04-05 Sean J. Lawrence Adaptive chroma subsampling based on display brightness
EP3312798A1 (en) * 2016-10-20 2018-04-25 Thomson Licensing Method and device for inverse tone mapping
US10244244B2 (en) * 2016-10-26 2019-03-26 Dolby Laboratories Licensing Corporation Screen-adaptive decoding of high dynamic range video
US9942513B1 (en) 2016-10-31 2018-04-10 Cisco Technology, Inc. Automated configuration of behavior of a telepresence system based on spatial detection of telepresence components
JP2018081595A (en) * 2016-11-17 2018-05-24 キヤノン株式会社 Image processing device and method and imaging device
US10218952B2 (en) 2016-11-28 2019-02-26 Microsoft Technology Licensing, Llc Architecture for rendering high dynamic range video on enhanced dynamic range display devices
US11468547B2 (en) 2016-12-12 2022-10-11 Dolby Laboratories Licensing Corporation Systems and methods for adjusting video processing curves for high dynamic range images
JP6822122B2 (en) * 2016-12-19 2021-01-27 ソニー株式会社 Image processing equipment, image processing methods and programs
JP6822123B2 (en) * 2016-12-19 2021-01-27 ソニー株式会社 Image processing equipment, image processing methods and programs
JP6822121B2 (en) * 2016-12-19 2021-01-27 ソニー株式会社 Image processing equipment, image processing methods and programs
GB2558000B (en) * 2016-12-21 2020-06-10 Apical Ltd Display control
GB2558236B (en) * 2016-12-22 2021-03-31 Apical Ltd Image data comprising encoded image data and additional data for modification of image
CN106710505A (en) * 2017-01-16 2017-05-24 努比亚技术有限公司 Display device and method
CN108320721B (en) 2017-01-17 2022-05-24 华硕电脑股份有限公司 Brightness adjusting device and brightness adjusting method thereof
WO2018136432A1 (en) * 2017-01-18 2018-07-26 Dolby Laboratories Licensing Corporation Segment-based reshaping for coding high dynamic range video
JP6684971B2 (en) 2017-01-18 2020-04-22 ドルビー ラボラトリーズ ライセンシング コーポレイション Segment-based reconstruction for encoding high dynamic range video
CN106791865B (en) * 2017-01-20 2020-02-28 杭州当虹科技股份有限公司 Self-adaptive format conversion method based on high dynamic range video
US10104334B2 (en) 2017-01-27 2018-10-16 Microsoft Technology Licensing, Llc Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content
US10176561B2 (en) 2017-01-27 2019-01-08 Microsoft Technology Licensing, Llc Content-adaptive adjustments to tone mapping operations for high dynamic range content
CN110301136B (en) 2017-02-17 2023-03-24 交互数字麦迪逊专利控股公司 System and method for selective object of interest scaling in streaming video
US11310532B2 (en) 2017-02-24 2022-04-19 Interdigital Vc Holdings, Inc. Method and device for reconstructing image data from decoded image data
JP7086587B2 (en) * 2017-02-24 2022-06-20 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Method and device for reconstructing image data from decoded image data
JP7143838B2 (en) * 2017-02-28 2022-09-29 ソニーグループ株式会社 Image processing device and image processing method
CN108540781A (en) * 2017-03-03 2018-09-14 扬智科技股份有限公司 Image signal processor and video-signal processing method
US10467984B2 (en) * 2017-03-06 2019-11-05 E Ink Corporation Method for rendering color images
KR102628139B1 (en) 2017-03-07 2024-01-22 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 Customized video streaming for multi-device presentations
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
CN106911903A (en) * 2017-03-15 2017-06-30 四川长虹电器股份有限公司 A kind of SDR signals turn the image quality data processing method of HDR signal effects
CN110447051B (en) 2017-03-20 2023-10-31 杜比实验室特许公司 Perceptually preserving contrast and chroma of a reference scene
KR102191875B1 (en) * 2017-03-20 2020-12-16 엘지전자 주식회사 Method for transmitting 360 video, method for receiving 360 video, 360 video transmitting device, and 360 video receiving device
CN108737877B (en) * 2017-04-21 2020-06-02 华为技术有限公司 Image processing method and device and terminal equipment
CN108810531B (en) * 2017-05-03 2019-11-19 腾讯科技(深圳)有限公司 Video coding processing method, device and electronic equipment
US10403214B2 (en) 2017-05-12 2019-09-03 Apple Inc. Electronic devices with tone mapping to accommodate simultaneous display of standard dynamic range and high dynamic range content
US10847118B2 (en) * 2017-05-12 2020-11-24 Apple Inc. Electronic devices with tone mapping engines
US10242628B2 (en) * 2017-05-18 2019-03-26 Dell Products, L.P. Light Emitting Diode (LED) backlight control for reproduction of High Dynamic Range (HDR) content using Standard Dynamic Range (SDR) Liquid Crystal Display (LCD) panels
GB2563413B (en) * 2017-06-14 2021-12-22 Displaylink Uk Ltd Processing display data
GB2563411B (en) * 2017-06-14 2022-10-05 Displaylink Uk Ltd Processing display data
JP7037584B2 (en) * 2017-06-16 2022-03-16 ドルビー ラボラトリーズ ライセンシング コーポレイション Efficient end-to-end single layer reverse display management coding
US10778978B2 (en) * 2017-08-21 2020-09-15 Qualcomm Incorporated System and method of cross-component dynamic range adjustment (CC-DRA) in video coding
CN107656454A (en) * 2017-09-21 2018-02-02 深圳市晟达机械设计有限公司 A kind of efficient cell monitoring management system
KR102444156B1 (en) * 2017-09-22 2022-09-16 삼성디스플레이 주식회사 Display device and mehthod for driving the same
US11533450B2 (en) 2017-09-25 2022-12-20 Comcast Cable Communications, Llc Anti-piracy video transmission and display
US10609372B2 (en) 2017-09-29 2020-03-31 Dolby Laboratories Licensing Corporation Up-conversion to content adaptive perceptual quantization video signals
CN107682673B (en) * 2017-10-09 2019-11-12 成都索贝数码科技股份有限公司 A method of 4KHDR and HDSDR signal is supervised based on GPU and video IO card simultaneously
US10972767B2 (en) * 2017-11-01 2021-04-06 Realtek Semiconductor Corp. Device and method of handling multiple formats of a video sequence
KR102413839B1 (en) 2017-11-15 2022-06-28 삼성전자 주식회사 Apparatus for providing content, method for controlling thereof and recording media thereof
CN108024032A (en) * 2017-11-24 2018-05-11 深圳Tcl新技术有限公司 Image enhancement processing method, TV, server and computer-readable recording medium
CN108288278B (en) * 2018-01-22 2020-11-24 海信视像科技股份有限公司 Image brightness processing method and device and electronic equipment
CN108200441B (en) * 2018-01-22 2020-10-13 海信视像科技股份有限公司 Image brightness processing method and device and electronic equipment
US10880531B2 (en) * 2018-01-31 2020-12-29 Nvidia Corporation Transfer of video signals using variable segmented lookup tables
JP2019140430A (en) * 2018-02-06 2019-08-22 船井電機株式会社 Reproduction device
US11025942B2 (en) * 2018-02-08 2021-06-01 Samsung Electronics Co., Ltd. Progressive compressed domain computer vision and deep learning systems
EP3525463A1 (en) * 2018-02-13 2019-08-14 Koninklijke Philips N.V. System for handling multiple hdr video formats
ES2724212B2 (en) * 2018-03-02 2021-03-31 Visionapp Solutions S L METHOD IMPLEMENTED IN THE COMPUTER AND SYSTEM FOR THE PREVENTION OF VISION IMPAIRMENT CAUSED BY THE PROLONGED USE OF ELECTRONIC DISPLAYS IN LOW LIGHTING CONDITIONS.
US10609424B2 (en) * 2018-03-09 2020-03-31 Dolby Laboratories Licensing Corporation Single-layer progressive coding for supporting multi-capability HDR composition
KR102465188B1 (en) * 2018-04-05 2022-11-10 캐논 가부시끼가이샤 Method and apparatus for encapsulating images in files
US11120725B2 (en) 2018-04-24 2021-09-14 Advanced Micro Devices, Inc. Method and apparatus for color gamut mapping color gradient preservation
TWI811217B (en) * 2018-04-30 2023-08-11 圓剛科技股份有限公司 Video signal conversion device
TW201946430A (en) 2018-04-30 2019-12-01 圓剛科技股份有限公司 Video signal conversion device and method thereof
TWI808971B (en) * 2018-04-30 2023-07-21 圓剛科技股份有限公司 Video signal conversion device
TWI808970B (en) * 2018-04-30 2023-07-21 圓剛科技股份有限公司 Video signal conversion device
US10692467B2 (en) 2018-05-04 2020-06-23 Microsoft Technology Licensing, Llc Automatic application of mapping functions to video signals based on inferred parameters
US20190356891A1 (en) * 2018-05-16 2019-11-21 Synaptics Incorporated High dynamic range (hdr) data conversion and color space mapping
US11030728B2 (en) * 2018-05-29 2021-06-08 Apple Inc. Tone mapping techniques for increased dynamic range
US10951888B2 (en) 2018-06-04 2021-03-16 Contrast, Inc. Compressed high dynamic range video
CN112313954A (en) * 2018-06-28 2021-02-02 苹果公司 Video coding system
US11115563B2 (en) * 2018-06-29 2021-09-07 Ati Technologies Ulc Method and apparatus for nonlinear interpolation color conversion using look up tables
KR102572432B1 (en) * 2018-07-03 2023-08-30 삼성전자주식회사 Display apparatus, control method thereof and recording media
CN115606189A (en) 2018-07-12 2023-01-13 三星电子株式会社(Kr) Method and apparatus for rendering content for visual accessibility
CN112470484B (en) * 2018-07-17 2023-09-08 杜比实验室特许公司 Method and apparatus for streaming video
US11962819B2 (en) 2018-07-17 2024-04-16 Dolby Laboratories Licensing Corporation Foviation and HDR
US20200045341A1 (en) * 2018-07-31 2020-02-06 Ati Technologies Ulc Effective electro-optical transfer function encoding for limited luminance range displays
US10930022B2 (en) * 2018-08-09 2021-02-23 Nvidia Corporation Motion adaptive rendering using variable rate shading
CN109192145A (en) * 2018-09-21 2019-01-11 合肥惠科金扬科技有限公司 A kind of subregion light adjusting circuit and display device
KR20210062066A (en) * 2018-09-26 2021-05-28 돌비 레버러토리즈 라이쎈싱 코오포레이션 Projector light dimming using metadata from future frames
CN109167946B (en) * 2018-09-30 2021-02-19 Oppo广东移动通信有限公司 Video processing method, video processing device, electronic equipment and storage medium
CN109274985B (en) * 2018-10-12 2020-04-28 腾讯科技(深圳)有限公司 Video transcoding method and device, computer equipment and storage medium
CN109151574B (en) * 2018-10-15 2020-03-24 Oppo广东移动通信有限公司 Video processing method, video processing device, electronic equipment and storage medium
KR20210076068A (en) 2018-10-17 2021-06-23 코닝 인코포레이티드 A method of achieving reduced energy consumption of a display device, and a device having a display device with reduced energy consumption
US10957024B2 (en) 2018-10-30 2021-03-23 Microsoft Technology Licensing, Llc Real time tone mapping of high dynamic range image data at time of playback on a lower dynamic range display
US11503310B2 (en) * 2018-10-31 2022-11-15 Ati Technologies Ulc Method and apparatus for an HDR hardware processor inline to hardware encoder and decoder
WO2020100200A1 (en) * 2018-11-12 2020-05-22 Eizo株式会社 Image processing system, image processing device, and computer program
CN109327734B (en) * 2018-11-27 2020-11-13 成都索贝数码科技股份有限公司 Method for down-converting HDR video to SDR video based on dynamic photometry
US10860504B2 (en) 2018-12-05 2020-12-08 New Century Technologies Ltd. Peripheral device with embedded video codec functionality
EP3672267A1 (en) 2018-12-20 2020-06-24 InterDigital VC Holdings, Inc. Methods for processing audio and/or video contents and corresponding signal, devices, electronic assembly, system, computer readable program products and computer readable storage media
US11587526B2 (en) * 2018-12-20 2023-02-21 Dolby Laboratories Licensing Corporation Luminance adaption to minimize discomfort and improve visibility
CN111479164A (en) * 2019-01-23 2020-07-31 上海哔哩哔哩科技有限公司 Hardware decoding dynamic resolution seamless switching method and device and storage medium
KR20200095651A (en) 2019-02-01 2020-08-11 삼성전자주식회사 An electronic device for playing high dynamic range content and method thereof
JP7263053B2 (en) 2019-02-28 2023-04-24 キヤノン株式会社 IMAGING DEVICE, IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
US10509991B1 (en) 2019-03-18 2019-12-17 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10496862B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US10496911B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US10534948B1 (en) 2019-03-18 2020-01-14 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
CN111754412B (en) * 2019-03-29 2024-04-19 Tcl科技集团股份有限公司 Method and device for constructing data pair and terminal equipment
US11404025B2 (en) 2019-04-10 2022-08-02 Mediatek Inc. Video processing system for performing artificial intelligence assisted picture quality enhancement and associated video processing method
WO2020211770A1 (en) * 2019-04-15 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Temporal prediction of parameters in non-linear adaptive loop filter
US10523420B1 (en) 2019-04-18 2019-12-31 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
US10504013B1 (en) 2019-04-24 2019-12-10 Capital One Services, Llc Colorspace encoding multimedia data on a physical page
ES2945657T3 (en) * 2019-04-25 2023-07-05 Dolby Laboratories Licensing Corp Content-aware PQ range analyzer and tone mapping on live feeds
CN111916031B (en) * 2019-05-10 2023-03-21 京东方科技集团股份有限公司 Display method and display device
EP3742728B1 (en) * 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder
TWI734501B (en) * 2019-05-31 2021-07-21 聯發科技股份有限公司 Method and apparatus of video coding
US11115602B2 (en) * 2019-06-11 2021-09-07 Watchguard Video, Inc. Emulating light sensitivity of a target
US10529300B1 (en) 2019-06-20 2020-01-07 Capital One Services, Llc Adaptive image display based on colorspace conversions
US10614635B1 (en) 2019-07-25 2020-04-07 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US10937385B1 (en) * 2019-08-20 2021-03-02 Apple Inc. Frame replay with bit depth considerations
US10833852B1 (en) 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US11159737B2 (en) * 2019-10-14 2021-10-26 Google Llc Exposure change control in low light environments
CN110798689B (en) * 2019-10-18 2021-01-19 西安交通大学 Method for converting NV12+ format into P010 format
US10715183B1 (en) 2019-10-25 2020-07-14 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10762371B1 (en) 2019-11-14 2020-09-01 Capital One Services, Llc Object detection techniques using colorspace conversions
CN110868634B (en) * 2019-11-27 2023-08-22 维沃移动通信有限公司 Video processing method and electronic equipment
TWI739227B (en) * 2019-12-03 2021-09-11 智成電子股份有限公司 System-on-chip module to avoid redundant memory access
EP4038602A1 (en) * 2019-12-05 2022-08-10 Google LLC Dual color management for a multi-pixel density display
US10878600B1 (en) 2019-12-10 2020-12-29 Capital One Services, Llc Augmented reality system with color-based fiducial marker utilizing local adaptive technology
WO2021118556A1 (en) * 2019-12-11 2021-06-17 Google Llc Color calibration of display modules using a reduced number of display characteristic measurements
NO346123B1 (en) * 2020-02-05 2022-03-07 Movi Tech As Video decoding method and device enabling improved user interaction with video content
CN111294655B (en) 2020-02-20 2021-10-22 深圳创维-Rgb电子有限公司 HDR (high-definition multimedia System) film source playing method and device and storage medium
CN111415393B (en) * 2020-03-16 2023-08-01 安博思华智能科技有限责任公司 Method and device for adjusting display of multimedia blackboard, medium and electronic equipment
CN111524077B (en) * 2020-04-17 2023-11-17 三维六度(北京)文化有限公司 Method and system for repairing image data
CN111540324B (en) * 2020-05-20 2021-12-24 Tcl华星光电技术有限公司 Display device and pixel compensation method and device thereof
TWI754970B (en) * 2020-06-22 2022-02-11 鴻海精密工業股份有限公司 Device, method and storage medium for accelerating operation of an activation function
US11302036B2 (en) 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings
CN111970564B (en) * 2020-08-26 2023-03-24 展讯通信(上海)有限公司 Optimization method and device for HDR video display processing, storage medium and terminal
US11425502B2 (en) 2020-09-18 2022-08-23 Cisco Technology, Inc. Detection of microphone orientation and location for directional audio pickup
CN112118437B (en) * 2020-09-24 2021-08-17 上海松鼠课堂人工智能科技有限公司 Virtual reality classroom simulation method and system
US11769234B2 (en) 2020-10-07 2023-09-26 Qualcomm Incorporated Methods and apparatus for histogram based tone mapping
US11538136B2 (en) * 2020-10-28 2022-12-27 Qualcomm Incorporated System and method to process images of a video stream
CN112351264B (en) * 2020-11-04 2023-05-23 深圳Tcl数字技术有限公司 Display precision adjusting method, device, terminal equipment and storage medium
WO2022125892A2 (en) * 2020-12-11 2022-06-16 Contrast, Inc. Dynamic transfer function for reversible encoding
US11115625B1 (en) 2020-12-14 2021-09-07 Cisco Technology, Inc. Positional audio metadata generation
CN112927273A (en) * 2021-01-28 2021-06-08 北京字节跳动网络技术有限公司 Three-dimensional video processing method, equipment and storage medium
US11470162B2 (en) * 2021-01-30 2022-10-11 Zoom Video Communications, Inc. Intelligent configuration of personal endpoint devices
US11544826B2 (en) * 2021-04-30 2023-01-03 Realnetworks, Inc. Intelligent metadata service for video enhancement
CN113160342B (en) * 2021-05-14 2023-08-25 杭州网易智企科技有限公司 Encoding method and device based on feedback, storage medium and electronic equipment
CN113489930B (en) * 2021-06-10 2024-03-19 中央广播电视总台 Video signal processing method, device and storage medium
US11666823B1 (en) * 2021-06-29 2023-06-06 Amazon Technologies, Inc. Video game streaming with dynamic range conversion
US11617946B1 (en) 2021-06-29 2023-04-04 Amazon Technologies, Inc. Video game streaming with dynamic range conversion
US11612812B1 (en) 2021-06-29 2023-03-28 Amazon Technologies, Inc. Video game streaming with dynamic range conversion
CN113395551A (en) * 2021-07-20 2021-09-14 珠海极海半导体有限公司 Processor, NPU chip and electronic equipment
CN117897953A (en) * 2021-08-16 2024-04-16 交互数字Ce专利控股有限公司 System and method for processing video content based on viewing conditions
CN113676773B (en) * 2021-08-16 2023-11-14 广州虎牙信息科技有限公司 Video playing method, system, device, computer equipment and storage medium
US11606605B1 (en) * 2021-09-30 2023-03-14 Samsung Electronics Co., Ltd. Standard dynamic range (SDR) / hybrid log-gamma (HLG) with high dynamic range (HDR) 10+
US20230127327A1 (en) * 2021-10-22 2023-04-27 Samsung Electronics Co., Ltd. System and method for learning tone curves for local image enhancement
US11734806B2 (en) 2021-11-24 2023-08-22 Roku, Inc. Dynamic tone mapping
CN114363507A (en) * 2021-12-02 2022-04-15 维沃移动通信有限公司 Image processing method and device
CN114422829A (en) * 2022-01-30 2022-04-29 杭州雾联科技有限公司 HDR cloud video processing method, system and equipment
CN114466246A (en) * 2022-02-14 2022-05-10 维沃移动通信有限公司 Video processing method and device
US20230281766A1 (en) * 2022-03-02 2023-09-07 Nvidia Corporation Remastering lower dynamic range content for higher dynamic range displays
CN114727029B (en) * 2022-03-21 2024-03-22 北京百度网讯科技有限公司 Video processing method and device, electronic equipment and storage medium

Family Cites Families (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1020068A (en) 1909-04-29 1912-03-12 Singer Mfg Co Feeding mechanism for sewing-machines.
US1027105A (en) 1911-01-31 1912-05-21 George Crawford Spring-wheel.
US1021245A (en) 1911-02-16 1912-03-26 Morton Arthur George Detachable hinge for windows.
US1026426A (en) 1911-05-15 1912-05-14 Fred Kestler Cinder-leveler.
US5042077A (en) 1987-10-02 1991-08-20 General Electric Company Method of highlighting subtle contrast in graphical images
US5357278A (en) 1993-01-14 1994-10-18 Sony Electronics, Inc. Integrated linear/non-linear static and controllable dynamic companding
US6141047A (en) 1993-12-22 2000-10-31 Canon Kabushiki Kaisha Image signal processing apparatus and image pickup device
EP0679020A1 (en) * 1994-04-19 1995-10-25 Eastman Kodak Company Method and apparatus for constrained gamut clipping
US5815206A (en) 1996-05-03 1998-09-29 Lsi Logic Corporation Method for partitioning hardware and firmware tasks in digital audio/video decoding
US6829301B1 (en) * 1998-01-16 2004-12-07 Sarnoff Corporation Enhanced MPEG information distribution apparatus and method
US6118820A (en) 1998-01-16 2000-09-12 Sarnoff Corporation Region-based information compaction as for digital images
US6560285B1 (en) 1998-03-30 2003-05-06 Sarnoff Corporation Region-based information compaction as for digital images
CA2269651A1 (en) 1998-05-12 1999-11-12 Lucent Technologies, Inc. Transform domain image watermarking method and system
US6396508B1 (en) * 1999-12-02 2002-05-28 Matsushita Electronics Corp. Dynamic low-level enhancement and reduction of moving picture disturbance for a digital display
US7072523B2 (en) 2000-09-01 2006-07-04 Lenovo (Singapore) Pte. Ltd. System and method for fingerprint image enhancement using partitioned least-squared filters
US6762741B2 (en) 2000-12-22 2004-07-13 Visteon Global Technologies, Inc. Automatic brightness control system and method for a display device using a logarithmic sensor
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
GB0110748D0 (en) 2001-05-02 2001-06-27 Apical Ltd Image enhancement methods and apparatus therefor
JP4129812B2 (en) 2001-05-24 2008-08-06 株式会社リコー Image processing method, apparatus, and image forming apparatus
IL159233A0 (en) * 2001-06-07 2004-06-01 Genoa Technologies Ltd Device, system and method of data conversion for wide gamut displays
US6757648B2 (en) * 2001-06-28 2004-06-29 Microsoft Corporation Techniques for quantization of spectral data in transcoding
US20030086595A1 (en) 2001-11-07 2003-05-08 Hui Hu Display parameter-dependent pre-transmission processing of image data
US7120293B2 (en) 2001-11-30 2006-10-10 Microsoft Corporation Interactive images
US7433532B2 (en) * 2002-05-01 2008-10-07 Kestrel Corporation Max entropy optimized retinal camera
US6778183B1 (en) * 2002-07-10 2004-08-17 Genesis Microchip Inc. Method and system for adaptive color and contrast for display devices
US7239422B2 (en) * 2002-12-04 2007-07-03 Eastman Kodak Company Color gamut mapping using a cost function
US7550701B2 (en) 2003-02-25 2009-06-23 Omnivision Cdm Optics, Inc. Non-linear wavefront coding systems and methods
US7254271B2 (en) 2003-03-05 2007-08-07 Seadragon Software, Inc. Method for encoding and serving geospatial or other vector data as images
US20050117799A1 (en) 2003-12-01 2005-06-02 Chiou-Shann Fuh Method and apparatus for transforming a high dynamic range image into a low dynamic range image
GB0402640D0 (en) * 2004-02-06 2004-03-10 Pelikon Ltd Ambient light sensor
US20050219252A1 (en) 2004-03-30 2005-10-06 Buxton Mark J Two-dimensional buffer, texture and frame buffer decompression
US8218625B2 (en) * 2004-04-23 2012-07-10 Dolby Laboratories Licensing Corporation Encoding, decoding and representing high dynamic range images
US20050243176A1 (en) * 2004-04-30 2005-11-03 James Wu Method of HDR image processing and manipulation
EP1769459B1 (en) 2004-05-31 2014-11-26 Phase One A/S Image compression for rapid high-quality imaging
US7457477B2 (en) 2004-07-06 2008-11-25 Microsoft Corporation Digital photography with flash/no flash extension
US8050511B2 (en) * 2004-11-16 2011-11-01 Sharp Laboratories Of America, Inc. High dynamic range images from low dynamic range images
KR100596982B1 (en) 2004-12-15 2006-07-05 삼성전자주식회사 Dual layer bus architecture, system-on-a-chip having the dual layer bus architecture and method of accessing the dual layer bus
US7593024B2 (en) * 2005-01-15 2009-09-22 International Business Machines Corporation Screen calibration for display devices
US7693304B2 (en) 2005-05-12 2010-04-06 Hewlett-Packard Development Company, L.P. Method and system for image quality calculation
US20070035751A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Gamut shape dependent color management system
WO2007026283A2 (en) 2005-08-31 2007-03-08 Koninklijke Philips Electronics, N.V. Ambient lighting derived from video content using adaptive extraction regions
US7809200B2 (en) * 2005-11-15 2010-10-05 Teledyne Licensing, Llc Dynamic range compression of high dynamic range imagery
US8537893B2 (en) * 2006-01-23 2013-09-17 Max-Planck-Gesellschaft Zur Forderung Der Wissenschaften E.V. High dynamic range codecs
US8014445B2 (en) 2006-02-24 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for high dynamic range video coding
US8194997B2 (en) * 2006-03-24 2012-06-05 Sharp Laboratories Of America, Inc. Methods and systems for tone mapping messaging
KR101521041B1 (en) * 2006-05-25 2015-05-15 톰슨 라이센싱 Method and system for weighted encoding
US7730043B1 (en) 2006-06-29 2010-06-01 Adobe Systems Incorporated Incremental batch-mode editing of digital media objects
US8888592B1 (en) * 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
CN101119497A (en) 2006-08-04 2008-02-06 广达电脑股份有限公司 Image processing apparatus and method thereof
KR100843088B1 (en) * 2006-08-16 2008-07-02 삼성전자주식회사 Apparatus and method for outputting wide color gamut space image
TWI333383B (en) 2006-09-25 2010-11-11 Ind Tech Res Inst Color adjustment circuit, digital color adjustment device and a multimedia apparatus using the same
US20080112024A1 (en) * 2006-11-09 2008-05-15 Seiko Epson Corporation Image processing apparatus, image processing method, image processing program, recording medium storing image processing program, and image display apparatus
KR101318081B1 (en) 2006-11-21 2013-10-14 엘지디스플레이 주식회사 LCD and drive method thereof
CA2570090C (en) * 2006-12-06 2014-08-19 Brightside Technologies Inc. Representing and reconstructing high dynamic range images
US7899267B2 (en) 2007-05-23 2011-03-01 Zoran Corporation Dynamic range compensation by filter cascade
US20080316372A1 (en) 2007-06-20 2008-12-25 Ning Xu Video display enhancement based on viewer characteristics
US8330768B2 (en) * 2007-07-27 2012-12-11 Sharp Laboratories Of America, Inc. Apparatus and method for rendering high dynamic range images for standard dynamic range display
US8538197B2 (en) * 2007-08-02 2013-09-17 Sony Corporation Image processing apparatus
US8004538B2 (en) 2007-09-21 2011-08-23 Global Oled Technology Llc Preferential tone scale for electronic displays
TW200928860A (en) * 2007-12-31 2009-07-01 Htc Corp Method and device for adjusting output frame
US9584710B2 (en) 2008-02-28 2017-02-28 Avigilon Analytics Corporation Intelligent high resolution video system
US8159616B2 (en) 2008-03-27 2012-04-17 Bang & Olufsen A/S Histogram and chrominance processing
US9384535B2 (en) 2008-06-13 2016-07-05 Imax Corporation Methods and systems for reducing or eliminating perceived ghosting in displayed stereoscopic images
EP2144444B1 (en) 2008-07-10 2012-06-27 The University Of Warwick HDR video data compression devices and methods
JP2010056769A (en) * 2008-08-27 2010-03-11 Seiko Epson Corp Device and method for processing image
US8339475B2 (en) 2008-12-19 2012-12-25 Qualcomm Incorporated High dynamic range image combining
EP2200268B1 (en) * 2008-12-22 2012-02-08 Thomson Licensing Method of calibration of a target color reproduction device
US8406569B2 (en) * 2009-01-19 2013-03-26 Sharp Laboratories Of America, Inc. Methods and systems for enhanced dynamic range images and video from multiple exposures
JP5274287B2 (en) * 2009-02-09 2013-08-28 三菱電機株式会社 Display device and display system
CN104486605B (en) 2009-03-10 2017-04-12 杜比实验室特许公司 Extended dynamic range and extended dimensionality image signal conversion
JP5589006B2 (en) 2009-03-13 2014-09-10 ドルビー ラボラトリーズ ライセンシング コーポレイション Hierarchical compression of high dynamic range, visual dynamic range and wide color gamut videos
US8325385B2 (en) * 2009-03-27 2012-12-04 Konica Minolta Laboratory U.S.A., Inc. System and methods for processing color data in converting color data from one color space to another color space
JP5566048B2 (en) 2009-04-28 2014-08-06 キヤノン株式会社 Display device and control method thereof
KR101456874B1 (en) * 2009-05-11 2014-10-31 돌비 레버러토리즈 라이쎈싱 코오포레이션 Light detection, color appearance models, and modifying dynamic range for image display
JP2011022481A (en) * 2009-07-17 2011-02-03 Panasonic Corp Liquid crystal display apparatus
US8897377B2 (en) 2009-12-31 2014-11-25 Broadcom Corporation Transcoding multiple media elements for independent wireless delivery
EP2360926A1 (en) 2010-01-19 2011-08-24 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Image encoder and image decoder
WO2011089917A1 (en) 2010-01-22 2011-07-28 パナソニック株式会社 Control device, display device, eyeglasses device and video system
JP5577415B2 (en) * 2010-02-22 2014-08-20 ドルビー ラボラトリーズ ライセンシング コーポレイション Video display with rendering control using metadata embedded in the bitstream
US8890793B2 (en) * 2010-03-26 2014-11-18 Hong Kong Applied Science and Technology Research Institute, Co. Ltd. Adjusting a brightness level of a backlight of a display device
US8280184B2 (en) 2010-04-01 2012-10-02 Himax Media Solutions, Inc. Image enhancement method and apparatuses utilizing the same
US8493316B2 (en) 2010-04-22 2013-07-23 Qualcomm Incorporated Adjusting backlight intensity based on a progress of a task
US20110292992A1 (en) 2010-05-28 2011-12-01 Microsoft Corporation Automating dynamic information insertion into video
EP2580913A4 (en) 2010-06-08 2017-06-07 Dolby Laboratories Licensing Corporation Tone and gamut mapping methods and apparatus
CN102986214A (en) * 2010-07-06 2013-03-20 皇家飞利浦电子股份有限公司 Generation of high dynamic range images from low dynamic range images
CN103180891B (en) * 2010-07-22 2015-09-02 杜比实验室特许公司 Display management server
WO2012017946A1 (en) * 2010-08-04 2012-02-09 日本電気株式会社 Image processing method, image processing device and image processing program
US8677428B2 (en) 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
TWI479898B (en) 2010-08-25 2015-04-01 Dolby Lab Licensing Corp Extending image dynamic range
US8704859B2 (en) * 2010-09-30 2014-04-22 Apple Inc. Dynamic display adjustment based on ambient conditions
EP2445214A1 (en) * 2010-10-19 2012-04-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding using temporally coherent dynamic range mapping
US8462221B2 (en) 2010-11-03 2013-06-11 Eastman Kodak Company Method for producing high dynamic range images
US9275605B2 (en) * 2010-11-23 2016-03-01 Dolby Laboratories Licensing Corporation Content metadata enhancement of high dynamic range images
US9024951B2 (en) * 2011-02-16 2015-05-05 Apple Inc. Devices and methods for obtaining high-local-contrast image data
US20140003527A1 (en) 2011-03-10 2014-01-02 Dolby Laboratories Licensing Corporation Bitdepth and Color Scalable Video Coding
US8621320B2 (en) * 2011-04-07 2013-12-31 Apple Inc. Per-image forward error correction
WO2012142285A2 (en) 2011-04-12 2012-10-18 Dolby Laboratories Licensing Corporation Quality assessment for images that have extended dynamic ranges or wide color gamuts
US8971408B2 (en) * 2011-04-14 2015-03-03 Dolby Laboratories Licensing Corporation Piecewise cross color channel predictor
TWI690211B (en) 2011-04-15 2020-04-01 美商杜比實驗室特許公司 Decoding method for high dynamic range images, processor non-transistory readable medium and computer program product thereof
EP2702764B1 (en) * 2011-04-25 2016-08-31 Dolby Laboratories Licensing Corporation Non-linear vdr residual quantizer
EP2702766B1 (en) * 2011-04-28 2017-06-14 Koninklijke Philips N.V. Apparatuses and methods for hdr image encoding and decoding
USRE49692E1 (en) 2011-05-10 2023-10-10 Koninklijke Philips N.V. High dynamic range image signal generation and processing
KR20200074229A (en) * 2011-05-27 2020-06-24 돌비 레버러토리즈 라이쎈싱 코오포레이션 Scalable systems for controlling color management comprising varying levels of metadata
US8891863B2 (en) 2011-06-13 2014-11-18 Dolby Laboratories Licensing Corporation High dynamic range, backwards-compatible, digital cinema
US20120324492A1 (en) 2011-06-20 2012-12-20 Microsoft Corporation Video selection based on environmental sensing
US8576445B2 (en) * 2011-06-28 2013-11-05 Konica Minolta Laboratory U.S.A., Inc. Method for processing high dynamic range images using tone mapping to extended RGB space
JP5747711B2 (en) * 2011-07-22 2015-07-15 富士通株式会社 Network evaluation device
WO2013039730A2 (en) 2011-09-15 2013-03-21 Dolby Laboratories Licensing Corporation Method and system for backward compatible, extended dynamic range encoding of video
US8988552B2 (en) 2011-09-26 2015-03-24 Dolby Laboratories Licensing Corporation Image formats and related methods and apparatuses
RU2643485C2 (en) 2011-09-27 2018-02-01 Конинклейке Филипс Н.В. Device and method for conversion of dynamic range of images
EP2769540B1 (en) 2011-10-20 2018-11-28 Dolby Laboratories Licensing Corporation Method and system for video equalization
WO2013068132A1 (en) 2011-11-09 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-layer prediction between layers of different dynamic sample value range
MX365965B (en) 2011-12-06 2019-06-21 Dolby Laboratories Licensing Corp Device and method of improving the perceptual luminance nonlinearity - based image data exchange across different display capabilities.
US8773543B2 (en) * 2012-01-27 2014-07-08 Nokia Corporation Method and apparatus for image data transfer in digital photographing
KR101793628B1 (en) 2012-04-08 2017-11-06 삼성전자주식회사 Transparent display apparatus and method thereof
JP5598769B2 (en) 2012-04-16 2014-10-01 コニカミノルタ株式会社 Color adjustment method and color adjustment program
US20130308027A1 (en) 2012-05-03 2013-11-21 Aptina Imaging Corporation Systems and methods for generating metadata in stacked-chip imaging systems
US20140092108A1 (en) * 2012-05-24 2014-04-03 Popslate Media, Inc. Dynamically Changeable Decorative-Protective Accessory for a Mobile Computing Device
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9258641B2 (en) * 2012-06-07 2016-02-09 Qbiz, Llc Method and system of audio capture based on logarithmic conversion
US9330606B2 (en) 2012-06-08 2016-05-03 Apple Inc. Electronic device with display brightness control
KR20130141920A (en) * 2012-06-18 2013-12-27 삼성디스플레이 주식회사 System and method for converting color gamut
AR091515A1 (en) * 2012-06-29 2015-02-11 Sony Corp DEVICE AND METHOD FOR IMAGE PROCESSING
EP2873237B1 (en) * 2012-07-13 2022-03-30 Koninklijke Philips N.V. Improved hdr image decoding methods and devices
US8821281B2 (en) 2012-07-17 2014-09-02 International Business Machines Corporation Detection of an orientation of a game player relative to a screen
CN105787909B (en) 2012-08-08 2018-07-20 杜比实验室特许公司 Image procossing for high dynamic range images
US20140229875A1 (en) * 2012-09-28 2014-08-14 Wenlong Li Content based dynamic control for display brightness
US9064313B2 (en) 2012-09-28 2015-06-23 Intel Corporation Adaptive tone map to a region of interest to yield a low dynamic range image
CN103077696B (en) 2013-01-15 2015-08-12 Opera软件股份公司 For regulating method and apparatus and the display system of brightness of display screen
US9654701B2 (en) * 2013-01-25 2017-05-16 Dolby Laboratories Licensing Corporation Global display management based light modulation
US9058667B2 (en) 2013-01-30 2015-06-16 Apple Inc. Detail preserving image transfer operations
ES2770426T3 (en) 2013-02-21 2020-07-01 Koninklijke Philips Nv Improved HDR image encoding and decoding methods and devices
TWI473039B (en) 2013-03-05 2015-02-11 Univ Tamkang Method and image processing device for image dynamic range compression with local contrast enhancement
GB201304221D0 (en) 2013-03-08 2013-04-24 Univ Warwick High Dynamic Range Imaging Systems
FR3003378A1 (en) 2013-03-12 2014-09-19 St Microelectronics Grenoble 2 TONE MAPPING METHOD
WO2014145003A1 (en) 2013-03-15 2014-09-18 Ostendo Technologies, Inc. Dynamic gamut display systems, methods, and applications thereof
US20140321561A1 (en) 2013-04-26 2014-10-30 DDD IP Ventures, Ltd. System and method for depth based adaptive streaming of video information
US8866975B1 (en) 2013-05-02 2014-10-21 Dolby Laboratories Licensing Corporation Backwards-compatible delivery of digital cinema content with higher dynamic range and related preprocessing and coding methods
KR102031580B1 (en) 2013-05-10 2019-11-08 엘지디스플레이 주식회사 Display apparatus and display apparatus control method
CN103391435A (en) * 2013-07-02 2013-11-13 广东工业大学 Coding method for high dynamic range (HDR) image compatible with low dynamic range (LDR) and decoding method thereof
JP6351313B2 (en) 2013-07-11 2018-07-04 キヤノン株式会社 Image encoding device, image decoding device, image processing device, and control method thereof
CN105379258A (en) 2013-07-14 2016-03-02 Lg电子株式会社 Method and apparatus for transmitting and receiving ultra high-definition broadcasting signal for expressing high-quality color in digital broadcasting system
RU2670782C9 (en) 2013-07-18 2018-11-23 Конинклейке Филипс Н.В. Methods and devices for creating code mapping functions for hdr image coding and methods and devices for using such encoded images
US20150130967A1 (en) * 2013-11-13 2015-05-14 Nvidia Corporation Adaptive dynamic range imaging
US9973723B2 (en) * 2014-02-24 2018-05-15 Apple Inc. User interface and graphics composition with high dynamic range video
CN116320394A (en) 2014-02-25 2023-06-23 苹果公司 Adaptive transfer function for video encoding and decoding
JP6731722B2 (en) * 2015-05-12 2020-07-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Display method and display device
EP3235236B1 (en) 2015-12-17 2018-06-20 Koninklijke Philips N.V. Dynamic range coding for images and video
US10212456B2 (en) * 2017-06-02 2019-02-19 Apple Inc. Deblocking filter for high dynamic range (HDR) video
US10200687B2 (en) * 2017-06-02 2019-02-05 Apple Inc. Sample adaptive offset for high dynamic range (HDR) video compression

Also Published As

Publication number Publication date
KR20220106177A (en) 2022-07-28
AU2018208733A1 (en) 2018-08-16
CN106030503B (en) 2020-04-17
JP2021010171A (en) 2021-01-28
US20150245043A1 (en) 2015-08-27
AU2023200732A1 (en) 2023-03-09
KR102025037B1 (en) 2019-09-24
AU2015223123A1 (en) 2016-09-15
CN110365974A (en) 2019-10-22
AU2021204255A1 (en) 2021-07-22
US20150243200A1 (en) 2015-08-27
US20150245044A1 (en) 2015-08-27
WO2015130793A1 (en) 2015-09-03
AU2018208733B2 (en) 2020-01-30
US10986345B2 (en) 2021-04-20
KR20190109579A (en) 2019-09-25
KR102330316B1 (en) 2021-11-24
JP2018207512A (en) 2018-12-27
US20150245050A1 (en) 2015-08-27
US20190182487A1 (en) 2019-06-13
US10812801B2 (en) 2020-10-20
KR20210143940A (en) 2021-11-29
KR102654563B1 (en) 2024-04-05
US20210235093A1 (en) 2021-07-29
KR102509533B1 (en) 2023-03-14
DE112015000950T5 (en) 2016-12-08
US20210227226A1 (en) 2021-07-22
EP3111644A1 (en) 2017-01-04
CN111526350B (en) 2022-04-05
KR20180102222A (en) 2018-09-14
AU2023200732B2 (en) 2024-01-18
CN106233706A (en) 2016-12-14
CN106031172A (en) 2016-10-12
JP2024009972A (en) 2024-01-23
KR102414567B1 (en) 2022-06-29
US10212429B2 (en) 2019-02-19
JP6383425B2 (en) 2018-08-29
WO2015130797A1 (en) 2015-09-03
AU2020201023A1 (en) 2020-03-05
KR20160110985A (en) 2016-09-23
CN111246050B (en) 2022-10-28
DE112015000959T5 (en) 2016-11-17
JP7429676B2 (en) 2024-02-08
US20220408096A1 (en) 2022-12-22
WO2015130796A1 (en) 2015-09-03
AU2020201023B2 (en) 2021-04-01
CN111526350A (en) 2020-08-11
CN106031172B (en) 2019-08-20
US20150243243A1 (en) 2015-08-27
US20210037246A1 (en) 2021-02-04
JP7038021B2 (en) 2022-03-17
US11445202B2 (en) 2022-09-13
JP2022009011A (en) 2022-01-14
US10271054B2 (en) 2019-04-23
CN111246050A (en) 2020-06-05
CN106030503A (en) 2016-10-12
KR101898643B1 (en) 2018-09-14
AU2021204255B2 (en) 2022-11-24
US10264266B2 (en) 2019-04-16
KR20230041827A (en) 2023-03-24
EP3829171A1 (en) 2021-06-02
KR20200118237A (en) 2020-10-14
US10880549B2 (en) 2020-12-29
JP2017513257A (en) 2017-05-25
CN106233706B (en) 2020-01-03

Similar Documents

Publication Publication Date Title
AU2023200732B2 (en) Adaptive transfer function for video encoding and decoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination