BR112015015575A2 - particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração - Google Patents

particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração Download PDF

Info

Publication number
BR112015015575A2
BR112015015575A2 BR112015015575A BR112015015575A BR112015015575A2 BR 112015015575 A2 BR112015015575 A2 BR 112015015575A2 BR 112015015575 A BR112015015575 A BR 112015015575A BR 112015015575 A BR112015015575 A BR 112015015575A BR 112015015575 A2 BR112015015575 A2 BR 112015015575A2
Authority
BR
Brazil
Prior art keywords
partition
forecast
partitions
photo
partitioning
Prior art date
Application number
BR112015015575A
Other languages
English (en)
Inventor
Puri Atul
N Gokhale Neelesh
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of BR112015015575A2 publication Critical patent/BR112015015575A2/pt

Links

Classifications

    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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/1887Methods 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 variable length codeword
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/96Tree coding, e.g. quad-tree 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Abstract

resumo patente de invenção: "particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração". a presente invenção refere-se a técnicas relacionadas ao particionamento adaptativo ao conteúdo para previsão e codificação. um método para particionamento em codificação de vídeo compreende receber um quadro de vídeo, segmentar o quadro de vídeo em uma pluralidade de ladrilhos, unidades de codificação ou superfragmentos, determinar uma técnica de particionamento escolhida para pelo menos um ladrilho, uma unidade de codificação ou um superfragmento para particionamento de codificação, sendo que a técnica de particionamento escolhida compreende uma técnica de particionamento estruturado que compreende pelo menos uma dentre uma técnica de particionamento de árvore binária, uma técnica de particionamento de árvore k-d ou uma representação de livro de códigos de uma técnica de particionamento de árvore k-d, particionar o pelo menos um ladrilho, a unidade de codificação ou o superfragmento em uma pluralidade de partições de previsão com o uso da técnica de particionamento escolhida, e realizar particionamento de codificação de indicadores ou livros de códigos associados à pluralidade de partições de previsão em um fluxo de bits.

Description

Relatório Descritivo da Patente de Invenção para PARTICIONAMENTO ADAPT ATIVO AO CONTEÚDO PARA A PREVISÃO E CODIFICAÇÃO PARA VÍDEO DA PRÓXIMA GERAÇÃO.
PEDIDOS RELACIONADOS [001] Este pedido reivindica o benefício do Pedido Provisório n2 U.S. 61/758.314 depositado em 30 de janeiro de 2013 e intitulado NEXT GENERATION VIDEO CODING, cujo conteúdo se encontra ora incorporado em sua totalidade.
ANTECEDENTES [002] Um criptografador de vídeo compacta informações de vídeo de modo que mais informações possam ser enviadas através de uma determinada largura de banda. O sinal compactado pode, então, ser transmitido para um receptor que tem um decodificador que decodifica ou descompacta o sinal antes de exibir.
[003] A Codificação de Vídeo de Alta Eficácia (HEVC) é o mais recente padrão de compactação de vídeo, que é desenvolvido pela Joint Collaborative Team on Video Coding (JCT-VC) formada por ISO/IEC Moving Picture Experts Group (MPEG) e ITU-T Video Coding Experts Group (VCEG). A HEVC é desenvolvida em resposta ao padrão anterior, H.264/AVC (Advanced Video Coding) não ter a capacidade para fornecer compactação suficiente para evoluir aplicações de vídeo de maior resolução. De modo similar aos padrões de codificação de vídeo anteriores, o HEVC inclui módulos funcionais básicos, tais como codificação de intra/inter previsão, transformação, quantização, circuito de filtração e entropia.
[004] O padrão HEVC contínuo pode tentar aprimorar as limitações do padrão de H.264/AVC tais como escolhas limitadas para partições de previsão e partições de codificação permitidas, múltiplas referência e geração previsão permitidas limitadas, tamanhos de bloco de transformação e transformações reais limitados, mecanismos limitados
2/108 para reduzir os artefatos de codificação e técnicas de criptografia de entropia ineficientes. Entretanto, o padrão HEVC contínuo pode usar abordagens interativas para solucionar tais problemas.
BREVE DESCRIÇÃO DOS DESENHOS [005] O material descrito neste documento está ilustrado a título de exemplo e não a título de limitação nas Figuras anexas. Visando a simplicidade e clareza da ilustração, os elementos ilustrados nas Figuras não estão, necessariamente, desenhados em escala. Por exemplo, as dimensões de alguns elementos podem ser exageradas em relação a outros elementos visando a clareza. Ademais, onde foi considerado adequado, as identificações de referência foram repetidas dentre as Figuras para indicar elementos correspondentes ou análogos. Nas Figuras:
[006] a FIGURA 1 é um diagrama ilustrativo de um criptografador de vídeo da próxima geração exemplificativo;
[007] a FIGURA 2 é um diagrama ilustrativo de um decodificador de vídeo da próxima geração exemplificativo;
[008] a FIGURA 3 ilustra um quadro de vídeo exemplificativo que tem ladrilhos, unidades de codificação ou superfragmentos exemplificativos para particionar;
[009] a FIGURA 4 ilustra superfragmentos exemplificativos de uma fileira de ladrilhos de um quadro de vídeo exemplificativo;
[0010] a FIGURA 5 ilustra uma segmentação exemplificativa de camada de região de um quadro de vídeo;
[0011] as FIGURAS 6(A) e 6(B) ilustram um quadro de vídeo exemplificativo segmentado em camadas de região e particionados de acordo com ladrilhos em superfragmentos;
[0012] a FIGURA 7 é um fluxograma que mostra um subconjunto de um processo de criptografia exemplificativo;
[0013] a FIGURA 8 ilustra um particionamento exemplificativo de
3/108 uma porção de quadro com o uso de uma técnica de particionamento de árvore binária;
[0014] a FIGURA 9 ilustra um particionamento exemplificativo de uma porção de quadro com uso de uma técnica de particionamento de árvore k-d [0015] a FIGURA 10 ilustra uma corrente de bits exemplificativa;
[0016] a FIGURA 11 é um fluxograma que mostra um processo de decodificação exemplificativo;
[0017] as FIGURAS 12(A) e 12(B) são diagramas ilustrativos de subsistemas de criptografadores exemplificativos;
[0018] a FIGURA 13 é um diagrama ilustrativo de um subsistema de decodificador;
[0019] as FIGURAS 14(A) e 14(B) fornecem, em conjunto, uma ilustração detalhada de um exemplo combinado de um sistema e processo de criptografia e decodificação de vídeo;
[0020] a FIGURA 15 é um diagrama ilustrativo de um sistema de codificação de vídeo exemplificativo;
[0021] a FIGURA 16 é um diagrama ilustrativo de um sistema exemplificativo;
[0022] a FIGURA 17 ilustra um dispositivo exemplificativo;
[0023] as FIGURAS 18(A), 18(B) e 18(C) ilustram partições de previsão e partições de codificação exemplificativas para um quadro de vídeo, todas dispostas de acordo com pelo menos algumas implantações da presente descrição.
Descrição Detalhada [0024] Uma ou mais modalidades ou implantações serão descritas, agora, com referência às Figuras incluídas. Embora as configurações e disposições específicas sejam discutidas, deve-se entender que isso é realizado apenas para propósitos ilustrativos. As pessoas versadas na técnica relevante irão reconhecer que outras configura
4/108 ções e disposições podem ser empregadas sem que se afaste do espírito e escopo da descrição. Ficará evidente para os elementos versados na técnica relevante que as técnicas e/ou disposições descritas neste documento também podem ser empregadas em uma variedade de outros sistemas e aplicações além do que está descrito neste documento.
[0025] Embora a seguinte descrição estabeleça várias implantações que podem ser manifestadas em arquiteturas tais como arquiteturas de sistema em um chip (SoC) por exemplo, a implantação das técnicas e/ou disposições descritas neste documento não são restringidas a arquiteturas e/ou sistemas de computação específicos e podem ser implantados por qualquer arquitetura e/ou sistema de computação para propósitos similares. Por exemplo, várias arquiteturas que empregam, por exemplo, chips de múltiplos circuitos integrados (IC) e/ou pacotes e/ou vários dispositivos de computação e/ou dispositivos de eletrônicos de consumo (CE), tais como descodificadores, telefones inteligentes, etc., podem implantar as técnicas e/ou disposições descritas neste documento. Ademais, embora a seguinte descrição possa estabelecer diversos detalhes específicos, tais como implantações lógicas, tipos e inter-relações de componentes de sistema, escolhas de particionamento/integração lógica, etc., a matéria reivindicada pode ser praticada sem tais detalhes específicos. Em outros casos, algum material tais como, por exemplo, estruturas de controle e sequências de instrução de software completas, podem não ser mostradas em detalhes a fim de não omitir o material descrito neste documento.
[0026] O material descrito neste documento pode ser implantado em hardware, firmware, software ou qualquer combinação dos mesmos. O material descrito neste documento também pode ser implantado como instruções armazenadas em um meio legível por máquina, que pode ser lido e executado por um ou mais processadores. Um
5/108 meio legível por máquina pode incluir qualquer meio e/ou mecanismo para armazenar ou transmitir informações sob uma forma legível por uma máquina (por exemplo, um dispositivo de computação). Por exemplo, um meio legível por máquina pode incluir uma memória apenas de leitura (ROM); memória acesso aleatório (RAM); meios de armazenamento de disco magnético; meios de armazenamento óptico; dispositivos de memória flash; sinais elétricos, ópticos, acústicos ou outras formas de sinais propagados (por exemplo, ondas transportadoras, sinais infravermelhos, sinais digitais, etc.); e outros.
[0027] As referências no relatório descritivo a uma implantação, uma implantação exemplificative, etc., indicam que a implantação descrita pode incluir um recurso, estrutura ou característica específicas, mas todas as modalidades podem não incluir, necessariamente, o recurso, estrutura ou característica específicos. Ademais, tais frases não são, necessariamente, referentes à mesma implantação. Ademais, quando um recurso, estrutura ou característica específica for descrito em relação a uma modalidade, entende-se que é do conhecimento de um versado na técnica a realização de tal recurso, estrutura ou característica em relação a outras implantações explicitamente descritas ou não neste documento.
[0028] Os sistemas, aparelho, artigos e métodos estão descritos abaixo em relação ao particionamento adaptativo ao conteúdo para a previsão e codificação para a codificação de vídeo da próxima geração.
[0029] Os sistemas, aparelho, artigos e métodos de vídeo da próxima geração (NGV) estão descritos abaixo. A codificação de vídeo NGV pode incorporar uma capacidade para adaptação significativa com base em conteúdo no processo de codificação de vídeo para alcançar uma compactação superior. Conforme discutido acima, o padrão H.264/AVC pode ter uma variedade de limitações e tentativas
6/108 contínuas para aprimorar o padrão, tal como, por exemplo, o padrão de HEVC pode usar abordagens interativas para solucionar tais limitações. Neste documento, um sistema de NGV que inclui um criptografador e um decodificador será descrito.
[0030] Além disso, conforme discutido, o padrão H.264/AVC pode incluir escolhas limitadas de partições de previsão e partições de codificação. Em particular, conforme discutido neste documento, um quadro de vídeo pode ser recebido para a codificação. Em alguns exemplos, o quadro de vídeo pode ser segmentado em ladrilhos, unidades de codificação ou superfragmentos (por exemplo, ladrilhos, unidades de codificação ou superfragmentos podem ser descritos como uma porção de quadros neste documento). Por exemplo, um ladrilho ou unidade de codificação pode ser uma porção quadrado ou retangular do quadro de vídeo. O quadro de vídeo pode ser completamente dividido em uma pluralidade de ladrilhos ou unidade de codificação ou unidades de codificação, por exemplo. Em outros exemplos, o quadro de vídeo pode ser segmentado em superfragmentos. Por exemplo, um quadro de vídeo pode ser segmentado em duas ou mais camadas de região. Em alguns exemplos, as camadas de região podem representar um plano dianteiro, um plano de fundo e um plano médio de uma cena ou similares. Em tais exemplos, o quadro de vídeo também pode ser dividido em ladrilhos. Um superfragmento pode incluir uma porção de camada de região individual de um ladrilho. Por exemplo, se um ladrilho incluir apenas uma camada de região, o superfragmento pode ser o ladrilho inteiro. Se um ladrilho incluir duas camadas de região, o ladrilho pode ser dividido em dois superfragmentos, um superfragmento que inclui a porção de ladrilho que tem uma primeira camada de região e um segundo superfragmento que inclui a porção de ladrilho que tem a segunda camada de região e assim por diante. Os superfragmentos podem ser de qualquer formato e podem ser tanto contíguos
7/108 quanto não contíguos.
[0031] De qualquer maneira, uma técnica escolhida pode ser determinada para o particionamento de previsão de um ladrilho, unidade de codificação ou superfragmento de um quadro de vídeo. Em alguns exemplos, a técnica escolhida pode ser escolhida com base em um tipo de foto do quadro de vídeo. Em outros exemplos, a técnica escolhida pode ser escolhida com base em uma característica do ladrilho, unidade de codificação ou superfragmento que é particionado. Em alguns exemplos, a técnica escolhida pode ser escolhida a partir de um particionamento de árvore binária ou um particionamento de árvore kd. Em algumas implantações de NGV, três tipos de foto podem ser usados (embora subtipos também possam ser utilizados): foto-l (por exemplo, intra compensação apenas), foto-P (por exemplo, previsível) ou foto-F/B (por exemplo, funcional/bidirecional). Conforme discutido, em alguns exemplos, a técnica escolhida pode ter por base no tipo de foto do quadro de vídeo. Por exemplo, se o tipo de foto for foto-l, a técnica escolhida pode ser um particionamento de árvore k-d e se o tipo de foto for foto-P ou foto-F, a técnica escolhida pode ser um particionamento de árvore binária. Com base na técnica de particionamento de previsão escolhida, a porção de quadro pode ser particionada em qualquer quantidade de partições de previsão.
[0032] Vários particionamentos de previsão potenciais ou candidatos em partições de previsão podem ser realizados. As partições de previsão dos particionamentos candidatos podem ser indexadas e transmitidas para um controlador de criptografia, que pode determinar quais partições de previsão (por exemplo, particionamento de previsão) usar em várias implantações de criptografia (por exemplo, uma variedade de particionamentos que têm diferentes partições de previsão podem ser avaliadas através de uma otimização de distorção de taxa ou similares para determinar um particionamento de previsão se
8/108 lecionado). Ademais, as partições de previsão podem ser usadas para a interprevisão (por exemplo, compensação de movimento) ou intraprevisão. Os dados associados às partições de previsão (por exemplo, o formato e local da partição no quadro de vídeo ou similares) e os dados de interprevisão ou intraprevisão podem ser criptografados em uma corrente de bits para a transmissão para um decodificador conforme discutido neste documento através de indicadores ou palavrascódigo ou similares.
[0033] Ademais, através de um ciclo de decodificação implantado em um criptografador, uma partição prevista (por exemplo, dados de pixel previstos associados a uma partição de previsão) podem ser gerados. A partição prevista e a partição real (por exemplo, dados de pixels originais) podem ser diferenciadas para determinar uma partição de dados de erro de previsão (por exemplo, um sinal de erro ou resíduo). É possível determinar se a partição de dados de erro de previsão precisa ser codificada (por exemplo, quantizada e criptografada por transformação) através de um limiar ou similares. Em alguns exemplos, a partição de dados de erro de previsão associada à partição de previsão pode ser codificada diretamente. Por exemplo, quadros que são fotos-l podem ser codificados sem um subparticionamento adicional, tal como um particionamento de codificação. Em outros exemplos, a partição de previsão pode ser adicionalmente particionada em partições de codificação ou chips antes da codificação. Por exemplo, quadros que são fotos-P ou fotos-F/B podem ser adicionalmente particionados antes da codificação (por exemplo, codificação particionada). Em alguns exemplos, o particionamento de codificação pode ser realizado através de particionamento de árvore binária. Assim como ocorre com o particionamento de previsão, vários particionamentos de codificação potenciais ou candidatos podem ser realizados. As partições de codificação dos particionamentos de codificação candidatos podem ser
9/108 indexadas e transmitidas para um controlador de criptografia, que pode determinar quais partições de codificação usar na criptografia ou similares (por exemplo, uma variedade de particionamentos que têm diferentes partições de codificação pode ser avaliada - juntamente com vários tipos de transformações em alguns exemplos - através de uma otimização de distorção de taxa ou similares para determinar um particionamento de codificação selecionado). Os dados associados às partições de codificação (por exemplo, o formato e local da partição de codificação através de indicadores ou palavras-código ou similares) e os dados de erro de previsão associados podem ser codificados por transformação, quantizados e criptografados em uma corrente de bits para a transmissão para um decodificador conforme discutido neste documento.
[0034] Em alguns exemplos, um decodificador pode receber e decodificar a corrente de bits para determinar dados de interprevisão ou intraprevisão associados a uma partição de previsão, dados que definem a partição de previsão (por exemplo, indicadores ou palavrascódigo, conforme discutido), dados associados a uma partição de dados de erro de previsão individual (por exemplo, coeficientes quantizados) ou similares. A Interprevisão ou a intraprevisão pode ser realizada na partição de previsão conforme discutido neste documento e um processamento adicional pode ser realizado para quadros de vídeo gerados para a apresentação. Ademais, os dados que definem a partição de previsão (por exemplo, partições de codificação de partições de dados de erros de previsão) podem ser quantizados inversamente e transformados inversamente para gerar partições de codificação decodificadas, as quais podem ser combinadas para gerar partições de dados de erros de previsão decodificadas. As partições de dados de erros de previsão decodificadas podem ser adicionadas com partições previstas (decodificadas) para gerar uma partição reconstruída, que
10/108 pode ser montada a outra(s) partição(ões) reconstruída(s) para gerar um ladrilho, unidade de codificação ou superfragmento. A filtração de desblocagem e/ou filtração de restauração de qualidade opcional pode ser aplicada ao ladrilho, unidade de codificação ou superfragmento, que pode ser montado a outro(s) ladrilho(s) ou unidade(s) de codificação ou superfragmento(s) para gerar um quadro de vídeo decodificado. O quadro de vídeo decodificado pode ser usado para a decodificação de outros quadros e/ou transmitido para a apresentação através de um dispositivo de exibição.
[0035] Conforme usado neste documento, o termo codificador pode se referir a um criptografador e/ou um decodificador. De modo similar, conforme usado neste documento, o termo codificação pode se referir a realizar uma criptografia de vídeo através de um criptografador e/ou realizar uma decodificação de vídeo através de um decodificador. Por exemplo, um criptografador de vídeo e um decodificador de vídeo podem, ambos, ser exemplos de codificadores que podem codificar dados de vídeo. Além disso, conforme usado neste documento, o termo codec pode ser referir a qualquer processo, programa ou conjunto de operações, tal como, por exemplo, qualquer combinação de software, firmware e/ou hardware que possa implantar um criptografador e/ou um decodificador. Ademais, conforme usado neste documento, a frase dados de vídeo pode se referir a qualquer tipo de dados associados à codificação de vídeo tal como, por exemplo, quadros de vídeo, dados de imagem, dados de corrente de bits criptografados ou similares.
[0036] A FIGURA 1 é um diagrama ilustrativo de um codificador de vídeo da próxima geração exemplificativo 100, disposto de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado, o criptografador 100 pode receber um vídeo de entrada 101. O vídeo de entrada 101 pode incluir qualquer vídeo de entrada ade
11/108 quado para a criptografia tal como, por exemplo, quadros de entrada de uma sequência de vídeo. Conforme mostrado, o vídeo de entrada 101 pode ser recebido através de um módulo pré-analisador de conteúdo 102. O módulo pré-analisador de conteúdo 102 pode ser configurado para realizar uma análise do conteúdo de quadros de vídeo do vídeo de entrada 101 para determinar vários tipos de parâmetros para aprimorar o desempenho de eficácia e velocidade da codificação de vídeo. Por exemplo, o módulo pré-analisador de conteúdo 102 pode determinar informações de gradientes horizontais e verticais (por exemplo, Rs, Cs), variância, complexidade espacial por foto, complexidade temporal por foto, detecção de alteração de cena, estimativa de faixa de movimento, detecção de ganho, estimativa de distância de previsão, estimativa de quantidade de objetos, detecção de limite de região, computação de mapa de complexidade espacial, estimativa de foco, estimativa de ganho de filme ou similares. Os parâmetros gerados através do módulo pré-analisador de conteúdo 102 podem ser usados pelo criptografador 100 (por exemplo, através de controlador de criptografia 103) e/ou quantizados e comunicados a um decodificador. Conforme mostrado, os quadros de vídeo e/ou outros dados podem ser transmitidos do módulo pré-analisador de conteúdo 102 para o módulo organizador de foto adaptativo 104, que pode determinar o tipo de foto (por exemplo, foto-l, foto-P ou foto-F/B) de cada quadro de vídeo e reorganizar os quadros de vídeo conforme necessário. Em alguns exemplos, o módulo organizador de foto adaptativo 104 pode incluir um gerador de porção de quadro configurado para gerar porções de quadros. Em alguns exemplos, o módulo pré-analisador de conteúdo 102 e o módulo organizador de foto adaptativo 104 podem ser considerados, em conjunto, um subsistema pré-analisador de criptografador 100.
[0037] Conforme mostrado, os quadros de vídeo e/ou outros da
12/108 dos podem ser transmitidos do módulo organizador de foto adaptativo 104 para o módulo gerador de partições de previsão 105. Em alguns exemplos, o módulo gerador de partições de previsão 105 pode dividir um quadro ou foto em ladrilhos, unidades de codificação ou superfragmentos ou similares. Em alguns exemplos, um módulo adicional (por exemplo, entre os módulos 104 e 105) pode ser fornecido para dividir um quadro ou foto em ladrilhos, unidades de codificação ou superfragmentos. O módulo gerador de partições de previsão 105 pode dividir cada ladrilho, unidade de codificação ou superfragmento em particionamento ou partições de previsão potenciais (por exemplo, candidatas). Em alguns exemplos, os particionamentos de previsão potenciais podem ser determinados com o uso de uma técnica de particionamento, tal como, por exemplo, uma técnica de particionamento de árvore k-d, uma técnica de particionamento de árvore binária ou similares, que podem ser determinadas com base no tipo de foto (por exemplo, foto-l, foto-P ou foto-F/B) de quadros de vídeo individuais, sendo que uma característica da porção de quadro é particionada ou similares. Em alguns exemplos, os particionamentos de previsão potenciais determinados podem ser partições para a previsão (por exemplo, interprevisão ou intraprevisão) e podem ser descritos como partições de previsão ou blocos de previsão ou similares.
[0038] Em alguns exemplos, um particionamento de previsão selecionado (por exemplo, partições de previsão) pode ser determinado a partir dos particionamentos de previsão potenciais. Por exemplo, o particionamento de previsão selecionado pode ser com base na determinação, para cada particionamento de previsão potencial, sendo que as previsões usam previsões ou intraprevisões de múltiplas referências com base em características e movimento e determinam parâmetros de previsão. Para cada particionamento de previsão potencial, um erro de previsão potencial pode ser determinado através da
13/108 diferenciação de pixels originais com pixels de previsão e o particionamento de previsão selecionado pode ser o particionamento de previsão potencial com o mínimo erro de previsão Em outros exemplos, o particionamento de previsão selecionado pode ser determinado com base em uma otimização de distorção de taxa que inclui uma pontuação ponderada com base na quantidade de bits para codificar o particionamento e um erro de previsão associado ao particionamento de previsão.
[0039] Conforme mostrado, os pixels originais do particionamento de previsão selecionado (por exemplo, partições de previsão de um erro de previsão) pode ser diferenciado com partições previstas (por exemplo, dados de pixel de uma previsão da partição de previsão do erro de previsão com base em um quadro de referência ou quadros e outros dados de previsão, tal como dados de interprevisão ou intraprevisão) no diferenciador 106. A determinação das partições previstas será descrita adicionalmente abaixo e pode incluir um ciclo de decodificação conforme mostrado na FIGURA 1. Quaisquer resíduos ou dados residuais (por exemplo, dados de erro de previsão de partição) da diferenciação podem ser transmitidos para o módulo gerador de partições de codificação 107. Em alguns exemplos, tal como para a intraprevisão de partições de previsão em qualquer tipo de foto (fotos-l, fotos-F/B ou fotos-P), o módulo gerador de partições de codificação 107 pode ser desviado através dos comutadores 107a e 107b. Em tais exemplos, apenas um único nível de particionamento pode ser realizado. Tal particionamento pode ser descrito como o particionamento de previsão (conforme discutido) ou o particionamento de codificação ou ambos. Em vários exemplos, tal particionamento pode ser realizado através do módulo gerador de partições de previsão 105 (conforme discutido) ou, conforme é discutido mais adiante neste documento, tal particionamento pode ser realizado através de um módulo particiona
14/108 dor de codificação/intraprevisão de árvore k-d ou um módulo particionador de codificação/intraprevisão de árvore binária implantada através do módulo gerador de partições de codificação 107.
[0040] Em alguns exemplos, os dados de erro de previsão de partição, se houver algum, pode não ser significativo o suficiente para garantir a criptografia. Em outros exemplos, onde possa ser desejável codificar os dados de erro de previsão de partição e os dados de erro de previsão de partição são associados à interprevisão ou similares, o módulo gerador de partições de codificação 107 pode determinar as partições de codificação das partições de previsão. Em alguns exemplos, o módulo gerador de partições de codificação 107 pode não ser necessário, devido ao fato de que a partição pode ser criptografada sem particionamento de codificação (por exemplo, conforme mostrado através da trajetória de desvio disponível através dos comutadores 107a e 107b). Com ou sem particionamento de codificação, sendo que os dados de erro de previsão de partição (que podem ser, subsequentemente, descritas como partições de codificação de qualquer modo) podem ser transmitidos para o módulo de transformação adaptativa 108 no case de os resíduos ou dados residuais exigirem criptografia. Em alguns exemplos, o módulo gerador de partições de previsão 105 e o módulo gerador de partições de codificação 107 podem ser considerados, em conjunto, um subsistema particionador do criptografador 100. Em vários exemplos, o módulo gerador de partições de codificação 107 pode operar nos dados de erro de previsão de partição, dados de pixels originais, dados residuais ou dados de ondeletas.
[0041] O módulo gerador de partições de codificação 107 pode gerar particionamentos de codificação potenciais (por exemplo, partições de codificação), por exemplo, de dados de erro de previsão de partição com o uso de técnicas de particionamento em árvore k-d e/ou árvore binária ou similares. Em alguns exemplos, as partições de codi
15/108 ficação potenciais podem ser transformadas com o uso de transformações fixas ou adaptativas com vários tamanhos de bloco através do módulo de transformação adaptativa 108 e um particionamento de codificação selecionado e as transformações selecionadas (por exemplo, adaptativas ou fixas) podem ser determinados com base em uma otimização de distorção de taxa ou com base em outra coisa. Em alguns exemplos, o particionamento de codificação selecionado e/ou a(s) transformação(ões) selecionada(s) podem ser determinadas com base em um método de seleção predeterminada com base no tamanho de partições de codificação ou similares.
[0042] Por exemplo, o módulo de transformação adaptativa 108 pode incluir uma primeira porção ou componente para realizar uma transformação paramétrica para permitir uma codificação de transformação localmente ideal de blocos com tamanhos de pequeno a médio e uma segunda porção ou componente para realizar uma codificação de transformação suspensa baixa e globalmente estável com o uso de uma transformação fixa, tal como uma transformação de cossenos distintos (DCT) ou uma transformação com base em foto a partir de uma variedade de transformações, inclusive transformações paramétricas ou alguma outra configuração conforme é discutido mais adiante neste documento. Em alguns exemplos, para a codificação de transformação localmente ideal, uma Transformação de Haar Paramétrica (PHT) pode ser realizada, conforme é discutido mais adiante neste documento. Em alguns exemplos, as transformações podem ser realizadas em bloco em 2D de tamanhos retangulares entre cerca de 4 x 4 pixels e 64 x 64 pixels, sendo que os tamanhos reais dependem de inúmeros fatores, tais como a possibilidade de os dados transformados serem luma ou croma ou inter ou intra ou, se a transformação determinada usada for PHT ou DCT ou similares.
[0043] Conforme mostrado, os coeficientes de transformação re
16/108 sultantes podem ser transmitidos para o módulo de quantização adaptativa 109. O módulo de quantização adaptativa 109 pode quantizer os coeficientes de transformação resultantes. Ademais, quaisquer dados associados a uma transformação paramétrica, conforme necessário, podem ser transmitidos tanto para o módulo de quantização adaptativa 109 (se a quantização for desejada) quanto para o módulo criptografador de entropia adaptativa 110. Além disso, conforme mostrado na FIGURA 1, os coeficientes quantificados podem ser submetidos à varredura e transmitidos para o módulo criptografador de entropia adaptativa 110. O módulo criptografador de entropia adaptativa 110 pode criptografar através de entropia os coeficientes quantificados e incluir os mesmos na corrente de bits de saída 111. Em alguns exemplos, o módulo de transformação adaptativa 108 e o módulo de quantização adaptativa 109 podem ser considerados, em conjunto, um subsistema de criptografador de transformação do criptografador 100.
[0044] Conforme também é mostrado na FIGURA 1, o criptografador 100 inclui um ciclo de decodificação local. O ciclo de decodificação local pode ser iniciado no módulo de quantização inversa adaptativa 112. O módulo de quantização inversa adaptativa 112 pode ser configurado para realizar a(s) operação(ões) oposta(s) do módulo de quantização adaptativa 109, tal como uma varredura inversa pode ser realizado e os coeficientes quantificados podem ser tirados de escala para determinar os coeficientes de transformação. Tal operação de quantização adaptativa pode gerar perda, por exemplo. Conforme mostrado, os coeficientes de transformação podem ser transmitidos para um módulo de transformação inversa adaptativa 113. O módulo de transformação inversa adaptativa 113 pode realizar a transformação inversa conforme a realizada pelo módulo de transformação adaptativa 108, por exemplo, para gerar resíduos ou valores residuais ou dados de erro de previsão de partição (ou dados originais ou dados de ondele
17/108 tas, conforme discutido) associados às partições de codificação (ou partições de previsão se as partições de codificação não forem empregadas ou apenas um nível de particionamento for empregado, tais partições podem ser consideradas partições de codificação ou partição). Em alguns exemplos, o módulo de quantização inversa adaptativa 112 e o módulo de transformação inversa adaptativa 113 podem ser considerados, em conjunto, um subsistema de decodificador de transformação do criptografador 100.
[0045] Conforme mostrado, os dados de erro de previsão de partição (ou similares) podem ser transmitidos para montador de partições de codificação opcional 114. O montador de partições de codificação 114 pode montar partições de codificação em partições de previsão decodificadas conforme necessário (conforme mostrado, em alguns exemplos, o montador de partições de codificação 114 pode ser ignorados através dos comutadores 114a e 114b, de modo que as partições de previsão decodificadas possam ter sido geradas no módulo de transformação inversa adaptativa 113) para gerar partições de previsão de dados de erro de previsão ou partições de previsão residual decodificadas ou similares.
[0046] Conforme mostrado, as partições de previsão residual decodificadas podem ser adicionadas às partições previstas (por exemplo, dados de pixel de previsão) no adicionador 115 para gerar partições de previsão reconstruídas. As partições de previsão reconstruídas podem ser transmitidas para o montador de partições de previsão 116. O montador de partições de previsão 116 pode montar as partições de previsão reconstruídas para gerar ladrilhos reconstruídos ou uma unidade de codificação ou superfragmentos. Em alguns exemplos, o módulo de montador de partições de codificação 114 e o módulo de montador de partições de previsão 116 podem ser considerados, em conjunto, um subsistema não particionador do criptografador 100.
18/108 [0047] Os ladrilhos reconstruídos ou a unidade de codificação ou superfragmentos podem ser transmitidos para o módulo analisador de formação de bloco e de filtração de desblocagem 117. O módulo analisador de blocagem e filtração de desblocagem 117 pode desbloquear e retardar os ladrilhos reconstruídos ou a unidade de codificação ou superfragmentos (ou partições de previsão de ladrilhos ou a unidade de codificação ou superfragmentos). Os parâmetros de filtro de desbloqueio e retardamento gerados podem ser usados para a presente operação de filtro e/ou codificados na corrente de bits 111 para o uso através de um decodificador, por exemplo. A saída do módulo analisador de formação de bloco e de filtração de desblocagem 117 pode ser transmitida para um módulo analisador de qualidade e de filtração de restauração de qualidade 118. O módulo analisador de qualidade e de filtração de restauração de qualidade 118 pode determinar os parâmetros de filtração de QR (por exemplo, para uma decomposição de QR) e usa os parâmetros determinados para filtração. Os parâmetros de filtração de QR também podem ser codificados na corrente de bits 111 para o uso pelo decodificador. Conforme mostrado, a saída do módulo analisador de qualidade e de filtração de restauração de qualidade 118 pode ser transmitida para o armazenamento temporário de foto decodificada 119. Em alguns exemplos, a saída do módulo analisador de qualidade e de filtração de restauração de qualidade 118 pode ser um quadro reconstruído final que pode ser usado para a previsão para codificação de outros quadros (por exemplo, o quadro reconstruído final pode ser um quadro de referência ou similares). Em alguns exemplos, o módulo analisador de formação de bloco e de filtração de desblocagem 117 e o módulo analisador de qualidade e de filtração de restauração de qualidade 118 podem ser considerados, em conjunto, um subsistema de filtração do criptografador 100.
[0048] No criptografador 100, as operações de previsão podem
19/108 incluir interprevisão e/ou intraprevisão. Conforme mostrado na FIGURA 1, a interprevisão pode ser realizada por um ou mais módulos, inclusive o módulo analisador de modificação e geração de foto modificada 120, módulo analisador de sintetização e geração de foto sintetizada 121 e módulo previsor de filtração de características e movimento 123. O módulo analisador de modificação e geração de foto modificada 120 pode analisar uma foto atual para determinar parâmetros para alterações no ganho, alterações no movimento dominante, alterações no registro e alterações na desfocagem em relação a um quadro ou quadros de referência com os quais a mesma deve ser codificada. Os parâmetros de modificação determinados podem ser quantizados/desquantizados e usados (por exemplo, pelo módulo analisador de modificação e geração de foto modificada 120) para gerar quadros de referência modificados que podem ser usados pelo módulo estimador de movimento 122 para computar vetores de movimento para a previsão compensada por movimento (e características) eficaz de um erro de previsão. O módulo analisador de sintetização e de geração de foto sintetizada 121 pode gerar fotos de super-resolução (SR) e fotos de interpelação projetada (PI) ou similares ao movimento para determinar os vetores de movimento para uma previsão compensada por movimento eficaz em tais quadros.
[0049] O módulo estimador de movimento 122 pode gerar dados de vetor de movimento com base no(s) quadro(s) de referência modificada e/ou fotos de super-resolução (SR) e fotos de interpelação projetada (PI) juntamente com o erro de previsão. Em alguns exemplos, o módulo estimador de movimento 122 pode ser considerado um módulo de interprevisão. Por exemplo, os dados de vetor de movimento podem ser usados para a interprevisão. Se a interprevisão for aplicada, o módulo previsor de filtração de características e movimento 123 pode aplicar uma compensação de movimento como uma parte do ciclo de
20/108 decodificação local conforme discutido.
[0050] A Intraprevisão pode ser realizada através do módulo analisador de previsão intradirecional e de geração de previsão 124. O módulo analisador de previsão intradirecional e de geração de previsão 124 pode ser configurado para realizar uma previsão direcional espacial e pode usar partições vizinhas decodificadas. Em alguns exemplos, tanto a determinação da direção quanto a geração de previsão podem ser realizadas pelo módulo analisador de previsão intradirecional e de geração de previsão 124. Em alguns exemplos, o módulo analisador de previsão intradirecional e de geração de previsão 124 pode ser considerado um módulo de intraprevisão.
[0051] Conforme mostrado na FIGURA 1, o módulo analisador de modos de previsão e tipos de referência 125 podem permitir a seleção de modos de previsão dentre, salto, auto, inter, divisão, multi e intra, para cada partição de previsão de um ladrilho (ou unidade de codificação ou superfragmento), todos os quais podem ser aplicados às fotos-P e fotos-F/B. Além dos modos de previsão, também possibilita que a seleção de tipos de referência que podem ser diferentes dependendo do modo inter ou multi, assim como para fotos-P e fotosF/B. O sinal de previsão na saída do módulo analisador de modos de previsão e tipos de referência 125 pode ser filtrado pelo módulo analisador de previsão e de filtração de fusão de previsão 126. O módulo analisador de previsão e de filtração de fusão de previsão 126 pode determinar os parâmetros (por exemplo, coeficientes de filtração, frequência, suspensão) de uso para a filtração e pode realizar a filtração. Em alguns exemplos, a filtração do sinal de previsão pode fundir diferentes tipos de sinais que representam diferentes modos (por exemplo, intra, inter, multi, divisão, salto e auto). Em alguns exemplos, os sinais de intraprevisão pode ser diferente de todos os outros tipos de sinal(is) de interprevisão, de modo que a filtração adequada possa acentuar
21/108 amplamente a eficácia de codificação. Em alguns exemplos, os parâmetros de filtração podem ser criptografados na corrente de bits 111 para o uso por um decodificador. O sinal de previsão filtrado pode fornecer a segunda entrada (por exemplo, partição(ões) de previsão) ao diferenciador 106, conforme discutido acima, que pode determinar o sinal de diferença de previsão (por exemplo, erro de previsão de partição) para a codificação discutida anteriormente. Ademais, o mesmo sinal de previsão filtrado pode fornecer a segunda entrada ao adicionador 115, também conforme discutido acima. Conforme discutido, a corrente de bits de saída 111 pode fornecer uma corrente de bits codificada de modo eficaz para o uso por um decodificador para a apresentação do vídeo.
[0052] A FIGURA 2 é um diagrama ilustrativo de um decodificador de vídeo da próxima geração exemplificativo 200, disposto de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado, o decodificador 200 pode receber uma corrente de bits de entrada 201. Em alguns exemplos, a corrente de bits de entrada 201 pode ser criptografada através do criptografador 100 e/ou através de das técnicas de criptografia discutidas neste documento. Conforme mostrado, a corrente de bits de entrada 201 pode ser recebida por um módulo decodificador de entropia adaptativa 202. O módulo decodificador de entropia adaptativa 202 pode decodificar os vários tipos de dados criptografados (por exemplo, suspensos, vetores de movimento, coeficientes de transformação, etc.). Em alguns exemplos, o decodificador de entropia adaptativa 202 pode usar uma técnica de decodificação de comprimento variável. Em alguns exemplos, o decodificador de entropia adaptativa 202 pode realizar a(s) operação(ões) inversa(s) do módulo criptografador de entropia adaptativa 110 discutido acima.
[0053] Os dados decodificados podem ser transmitidos para o mó
22/108 dulo de quantização inversa adaptativa 203. O módulo de quantização inversa adaptativa 203 pode ser configurado para realizar a varredura inversa e os coeficientes quantificados fora de escala para determinar os coeficientes de transformação. Tal operação de quantização adaptativa pode gerar perda, por exemplo. Em alguns exemplos, o módulo de quantização inversa adaptativa 203 pode ser configurada para realizar a operação oposta do módulo de quantização adaptativa 109 (por exemplo, substancialmente, as mesmas operações que o módulo de quantização inversa adaptativa 112). Conforme mostrado, os coeficientes de transformação (e, em alguns exemplos, dados de transformação para o uso em uma transformação paramétrica) podem ser transmitidos para um módulo de transformação inversa adaptativa 204. O módulo de transformação inversa adaptativa 204 pode realizar uma transformação inversa nos coeficientes de transformação para gerar resíduos ou valores residuais ou dados de erro de previsão de partição (ou dados originais ou dados de ondeletas) associados às partições de codificação. Em alguns exemplos, o módulo de transformação inversa adaptativa 204 pode ser configurado para realizar a operação oposta do módulo de transformação adaptativa 108 (por exemplo, substancialmente, as mesmas operações que o módulo de transformação inversa adaptativa 113). Em alguns exemplos, o módulo de transformação inversa adaptativa 204 pode realizar uma transformação inversa com base em outros dados decodificados anteriormente, tal como, por exemplo, partições vizinhas decodificadas. Em alguns exemplos, o módulo de quantização inversa adaptativa 203 e o módulo de transformação inversa adaptativa 204 podem ser considerados, em conjunto, um subsistema de decodificador de transformação do decodificador 200.
[0054] Conforme mostrado, os resíduos ou valores residuais ou dados de erro de previsão de partição podem ser transmitidos para o
23/108 montador de partições de codificação 205. O montador de partições de codificação 205 pode montar partições de codificação em partições de previsão decodificadas conforme necessário (conforme mostrado, em alguns exemplos, o montador de partições de codificação 205 pode ser ignorado através de comutadores 205a e 205b, de modo que as partições de previsão decodificadas possam ter sido geradas no módulo de transformação inversa adaptativa 204). As partições de previsão decodificadas de dados de erro de previsão (por exemplo, os resíduos de partição de previsão) podem ser adicionadas às partições previstas (por exemplo, os dados de pixel de previsão) no adicionador 206 para gerar partições de previsão reconstruídas. As partições de previsão reconstruídas podem ser transmitidas para o montador de partições de previsão 207. O montador de partições de previsão 207 pode montar as partições de previsão reconstruídas para gerar ladrilhos reconstruídos, unidades de codificação ou superfragmentos. Em alguns exemplos, o módulo de montador de partições de codificação 205 e o módulo de montador de partições de previsão 207 podem ser considerados, em conjunto, um subsistema não particionador do decodificador 200.
[0055] Os ladrilhos reconstruídos, unidades de codificação ou superfragmentos podem ser transmitidos para o módulo de filtração de desblocagem 208. O módulo de filtração de desblocagem 208 pode desbloquear e retardar os ladrilhos reconstruídos, unidades de codificação ou superfragmentos (ou partições de previsão dos ladrilhos, unidades de codificação ou superfragmentos). Os parâmetros de filtro de desbloqueio e retardamento gerados podem ser determinados a partir da corrente de bits de entrada 201, por exemplo. A saída do módulo de filtração de desblocagem 208 pode ser transmitida para um módulo de filtração de restauração de qualidade 209. O módulo de filtração de restauração de qualidade 209 pode aplicar uma filtração de
24/108 qualidade com base em parâmetros de QR, que podem ser determinados a partir da corrente de bits de entrada 201, por exemplo. Conforme mostrado na FIGURA 2, a saída do módulo de filtração de restauração de qualidade 209 pode ser transmitida para o armazenamento temporário de foto decodificada 210. Em alguns exemplos, a saída do módulo de filtração de restauração de qualidade 209 pode ser um quadro reconstruído final que pode ser usado para a previsão para codificar outros quadros (por exemplo, o quadro reconstruído final pode ser um quadro de referência ou similares). Em alguns exemplos, o módulo de filtração de desblocagem 208 e o módulo de filtração de restauração de qualidade 209 podem ser considerados, em conjunto, um subsistema de filtração do decodificador 200.
[0056] Conforme discutido, a compensação devido às operações de previsão pode incluir a compensação de interprevisão e/ou intraprevisão. Conforme mostrado, a compensação de interprevisão pode ser realizada através de um ou mais módulos inclusive o módulo de geração de foto modificada 211, módulo de geração de foto sintetizada 212 e o módulo previsor de filtração compensada por características e movimento 213. O módulo de geração de foto modificada 211 pode usar parâmetros de modificação desquantizados (por exemplo, determinados a partir da corrente de bits de entrada 201) para gerar quadros de referência modificados. O módulo de geração de foto sintetizada 212 pode gerar fotos de super-resolução (SR) e fotos de interpelação projetada (PI) ou similares com base em parâmetros determinados a partir da corrente de bits de entrada 201. Se a interprevisão for aplicada, o módulo previsor de filtração compensada por características e movimento 213 pode aplicar uma compensação de movimento com base nos quadros e dados de vetor de movimento ou similares recebidos na corrente de bits de entrada 201.
[0057] A compensação de intraprevisão pode ser realizada através
25/108 do módulo de geração de previsão intradirecional 214. O módulo de geração de previsão intradirecional 214 pode ser configurado para realizar a previsão direcional espacial e pode usar as partições vizinhas decodificadas de acordo com dados de intraprevisão na corrente de bits de entrada 201.
[0058] Conforme mostrado na FIGURA 2, o módulo seletor de modos de previsão 215 podem determinar uma seleção de modo de previsão dentre, salto, auto, inter, multi e intra, para cada partição de previsão de um ladrilho ou similares, todas as quais podem ser aplicadas às fotos-P e fotos-F/B, com base nos dados de seleção de modo na corrente de bits de entrada 201. Além dos modos de previsão, permite, ainda, a seleção de tipos de referência que podem ser diferentes dependendo do modo inter ou multi, assim como para as fotos-P e fotos-F/B. O sinal de previsão na saída do módulo seletor de modos de previsão 215 pode ser filtrado através do módulo de filtração de fusão de previsão 216. O módulo de filtração de fusão de previsão 216 pode realizar uma filtração com base nos parâmetros (por exemplo, coeficientes de filtração, frequência, suspensão) determinados através de corrente de bits de entrada 201. Em alguns exemplos, a filtração do sinal de previsão pode fundir diferentes tipos de sinais que representam diferentes modos (por exemplo, intra, inter, multi, salto e auto). Em alguns exemplos, os sinais de intraprevisão podem ser diferentes de todos os outros tipos de sinal(is) de interprevisão, tal como a filtração adequada pode acentuar amplamente a frequência de codificação. O sinal de previsão filtrado pode fornecer a segunda entrada (por exemplo, partição(ões) de previsão) ao diferenciador 206, conforme discutido acima.
[0059] Conforme discutido, a saída do módulo de filtração de restauração de qualidade 209 pode ser um quadro reconstruído final. Os quadros reconstruídos finais podem ser transmitidos para um reorga26/108 nizador de foto adaptativo 217, que pode reordenar ou reorganizar os quadros conforme necessário com base em parâmetros de ordem na corrente de bits de entrada 201. Os quadros reordenados podem ser transmitidos para o módulo pós-restaurador de conteúdo 218. O módulo pós-restaurador de conteúdo 218 pode ser um módulo opcional configurado para realizar um aprimoramento adicional da qualidade perceptiva do vídeo decodificado. O processamento de aprimoramento pode ser realizado em resposta aos parâmetros de aprimoramento de qualidade na corrente de bits de entrada 201 ou pode ser realizado como uma operação independente. Em alguns exemplos, o módulo pós-restaurador de conteúdo 218 pode ser aplicado aos parâmetros para aprimorar a qualidade, tal como, por exemplo, uma estimativa do ruído de granulação de filme ou redução de blocagem residual (por exemplo, mesmo após as operações de desblocagem discutidas em relação ao módulo de filtração de desblocagem 208). Conforme mostrado, o decodificador 200 pode fornecer o vídeo de exibição 219, que pode ser configurado para ser exibido através de um dispositivo de exibição (não mostrado).
[0060] Conforme discutido, em alguns exemplos, o criptografador 100 e/ou decodificador 200 pode implantar técnicas relacionadas ao particionamento adaptativo ao conteúdo para a previsão e codificação para codificar o vídeo da próxima geração. Em alguns exemplos, o particionamento adaptativo ao conteúdo for previsão pode ser realizado através do módulo gerador de partições de previsão 105 do criptografador 100. Em alguns exemplos, o particionamento adaptativo ao conteúdo para codificação pode ser realizado pelo módulo gerador de partições de codificação 107 do criptografador 100. Em alguns exemplos, o particionamento adaptativo ao conteúdo para a previsão para a interprevisão ou similares pode ser realizada pelo módulo gerador de partições de previsão 105 e o particionamento adaptativo ao conteúdo
27/108 para a codificação para a interprevisão ou similares pode ser realizado pelo módulo gerador de partições de codificação 107 do criptografador 100. Em alguns exemplos, o particionamento adaptativo ao conteúdo para a previsão/codificação (por exemplo, apenas uma camada do particionamento) para a intraprevisão pode ser realizado pelo módulo gerador de partições de previsão 105 ou o módulo gerador de partições de codificação 107 do criptografador 100. Ademais, em alguns exemplos, com base no particionamento de previsão criptografado e/ou particionamento de codificação, o módulo de montador de partições de codificação 114 do criptografador 100 e/ou o módulo de montador de partições de codificação 205 do decodificador 200 pode montar as partições de codificação para formar partições de previsão. Além disso, em alguns exemplos, o montador de partições de previsão 116 do criptografador 100 e/ou o montador de partições de previsão 207 do decodificador 200 pode montar as partições de previsão reconstruídas para formar ladrilhos, superfragmentos, que podem ser montados para gerar quadros ou fotos. Conforme discutido, as várias partições de previsão, partições de codificação ou ladrilhos, unidades de codificação ou superfragmentos podem ser usados para a interprevisão, intraprevisão, outra acentuação da frequência de codificação ou intensificações de imagem ou vídeo conforme discutido neste documento.
[0061] Embora as FIGURAS 1 e 2 ilustrem módulos de decodificação de criptografia e decodificação específicos, vários outros módulos ou componentes não representados também podem ser utilizados de acordo com a presente descrição. Ademais, a presente descrição não se limita aos componentes específicos ilustrados nas FIGURAS 1 e 2 e/ou à maneira em que os vários componentes estão dispostos. Vários componentes dos sistemas descritos neste documento podem ser implantados no software, firmware e/ou hardware e/ou qualquer combinação dos mesmos. Por exemplo, vários componentes do criptografa
28/108 dor 100 e/ou decodificador 200 podem ser fornecidos, pelo menos em parte, através do hardware de um Sistema-em-um-Chip (SoC) de computação, tal como pode ser encontrado em um sistema de computação tal como, por exemplo, um telefone móvel.
[0062] Ademais, ó possível reconhecer que o criptografador 100 pode ser associado a e/ou fornecido por um sistema fornecedor de conteúdo incluindo, por exemplo, um sistema de servidor de conteúdo de vídeo e que a corrente de bits de saída 111 pode ser transmitida ou transportada para os decodificadores, tal como, por exemplo, o decodificador 200 através de vários componentes e/ou sistemas de comunicação, tais como transceptores, antenas, sistemas de rede e similares não representados nas FIGURAS 1 e 2, é possível reconhecer, ainda, que o decodificador 200 pode estar associado a um sistema de cliente, tal como um dispositivo de computação (por exemplo, um computador do tipo desktop, computador do tipo laptop, computador do tipo tablet, computador do tipo laptop conversível, telefone móvel ou similares) que está remoto em relação ao criptografador 100 e que recebe a corrente de bits de entrada 201 através de vários componentes e/ou sistemas de comunicação, tais como transceptores, antenas, sistemas de rede e similares não representados nas FIGURAS 1 e 2. Portanto, em várias implantações, o criptografador 100 e o subsistema de decodificador 200 podem ser implantados tanto em conjunto quanto independentemente um do outro.
[0063] A FIGURA 3 ilustra um quadro de vídeo exemplificativo 310 que tem ladrilhos, unidades de codificação ou superfragmentos exemplificativos para o particionamento, dispostos de acordo com pelo menos algumas implantações da presente descrição. O quadro de vídeo 310 pode incluir qualquer imagem de vídeo, quadro, foto ou dados ou similares para codificação. No exemplo ilustrado, o quadro de vídeo 310 inclui um quadro de vídeo da Flor sequência de teste para pro
29/108 pósitos ilustrativos. Conforme discutido, o quadro de vídeo 310 pode ser segmentado em porções de quadros (por exemplo, ladrilhos, unidades de codificação ou superfragmentos). As porções de quadros pode ser, então, particionadas conforme será discutido mais abaixo. O quadro de vídeo 310 pode ser dividido em porções de quadros com o uso de qualquer técnica ou técnicas adequadas. Em alguns exemplos, o quadro de vídeo 310 pode ser dividido nos ladrilhos de 320-1 até 320-30 (na FIGURA 3, nem todos os ladrilhos estão identificados visando a clareza da apresentação) através dos limites do ladrilho 330, de modo que os ladrilhos de 320-1 até 320-30 ou unidades de codificação similares podem ser as porções de quadro de vídeo para o particionamento. O quadro de vídeo 310 pode incluir qualquer quantidade de ladrilhos 320 e os ladrilhos 320 podem ter qualquer tamanho. Em alguns exemplos, os ladrilhos 320 podem ser 64 x 64 pixels. Ademais, os ladrilhos 320 podem ter qualquer formato. Em vários exemplos, os ladrilhos 320 podem ser quadrados ou retangulares. Além disso, conforme mostrado, os ladrilhos 320 podem ser de formatos e tamanhos diferentes no quadro 310. Por exemplo, o ladrilho 320-3 pode ser quadrado e ter 64 x 64 pixels, o ladrilho 320-12 pode ser retangular e ter 32 x 64 pixels, o ladrilho 320-30 pode ser quadrado e ter 32 x 32 pixels e assim sucessivamente.
[0064] Em outros exemplos, as porções de quadro de vídeo para o particionamento podem ser superfragmentos. Por exemplo, para determinar os superfragmentos, o quadro de vídeo 310 pode ser segmentado em uma ou mais camadas de região. A segmentação pode ser realizada com qualquer precisão (por exemplo, resolução de pixel) e quantizados para qualquer resolução com base nas constrições de eficácia em termos de custo de bits. Por exemplo, a segmentação pode ser realizada com uma precisão de 4-pel, 8-pel ou 16-pel (por exemplo, uma precisão de 4 pixels, 8, pixels ou 16 pixels) ou similares.
30/108
Com referência, agora, à FIGURA 5, a segmentação de um quadro de vídeo em camadas de região é ilustrada.
[0065] A FIGURA 5 ilustra a segmentação de camada de região de exemplo do quadro de vídeo 310, disposta de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado na FIGURA 5, o quadro de vídeo 310 pode ser segmentado na uma ou mais camadas de região. No exemplo ilustrado da FIGURA 5, o quadro de vídeo 310 pode ser segmentado em duas camadas de região: a camada de região 510 e a camada de região 520. Na FIGURA 5, a camada de região 510 inclui os segmentos de quadro de vídeo sem uma marcação e a camada de região 520 inclui os segmentos de quadro de vídeo marcados com um ponto. Por exemplo, a camada de região 510 pode representar as porções de plano de fundo do quadro de vídeo 310 e a camada de região 520 pode representar as porções de plano de dianteiro do quadro de vídeo 310. Em alguns exemplos, as camadas de região podem representar um plano dianteiro, um plano de fundo, e um plano médio (ou múltiplos planos médios) de uma cena ou similares. Em alguns exemplos, o quadro de vídeo 310 pode incluir uma única camada de região. Em alguns exemplos, o quadro de vídeo 310 pode incluir 3, 4, 5 ou mais camadas de região. Em alguns exemplos, a segmentação do quadro de vídeo 310 pode ser realizada pelo módulo gerador de partições de previsão 105 (consulte a FIGURA 1). Em alguns exemplos, a segmentação do quadro de vídeo 310 pode ser realizada por outro módulo (por exemplo, um módulo de geração de ladrilho, unidade de codificação ou superfragmento) inserido entre o organizador de foto adaptativo 104 e o gerador de partições de previsão 105. Em alguns exemplos, a segmentação do quadro de vídeo 310 pode ser realizada pelo módulo organizador de foto adaptativo 104 (ou um módulo de geração de ladrilho, unidade de codificação ou superfragmento do módulo organizador de foto adaptativo 104, por
31/108 exemplo). A segmentação pode ser realizada com o uso de qualquer técnica ou técnicas adequadas. Em alguns exemplos, a segmentação pode incluir uma codificação executada por técnica de símbolos.
[0066] Ademais, os limites de região (por exemplo, limites entre a camada de região 510 e a camada de região 520 ou similares) podem ser codificados para o uso no criptografador 100 e/ou o decodificador 200. A codificação de limite de região pode ser realizada com o uso de qualquer técnica ou técnicas adequadas. Em alguns exemplos, a codificação de limite de região pode incluir uma codificação executada por técnica de símbolos. Em alguns exemplos, a codificação de limite de região pode incluir gerar um livro de códigos que aproxima os limites de região em uma grade de ladrilhos. Por exemplo, a grade de ladrilhos (que pode corresponder ou não aos ladrilhos 320 da FIGURA 3) pode ser uma grade de ladrilhos igualmente espaçada que tem um tamanho de 32 x 32 pixels ou 64 x 64 pixels ou similares.
[0067] Novamente em relação à FIGURA 3, a camada de região 510 e a camada de região 520 são mostradas de modo que a camada de região 520 seja mostrada ocultando o acervo de imagens do quadro de vídeo 310 e a camada de região 510 é mostrada não ocultando o acervo de imagens do quadro de vídeo 310. Ademais, conforme discutido, o quadro de vídeo pode ser dividido nos ladrilhos de 320-1 até 320-30. Em alguns exemplos, as porções de quadros para o particionamento podem incluir superfragmentos que incluem uma porção de camada de região individual de um ladrilho, conforme ilustrado na FIGURA 4 [0068] A FIGURA 4 ilustra superfragmentos exemplificativos de 401 até 411 de uma fileira de ladrilhos de 320-13 até 320-18 do quadro de vídeo exemplificativo 310, dispostos de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado, os superfragmentos 401 a 411 podem incluir porções de um ladrilho em
32/108 uma camada de região. Por exemplo, o superfragmento 401 pode incluir a porção do ladrilho 320-13 na camada de região 510, o superfragmento 402 pode incluir a porção do ladrilho 320-13 na camada de região 520, o superfragmento 403 pode incluir a porção do ladrilho 320-14 na camada de região 510 e assim por diante. Conforme mostrado, um superfragmento pode ter substancialmente, qualquer formato e tamanho (limitado apenas pela precisão da operação de segmentação descrita). Por exemplo, os superfragmentos 403, 410 e 411 podem ser a totalidade dos ladrilhos 320-14, 320-17 e 320-18, respectivamente, tais como os superfragmentos podem ter o mesmo formato que seus respectivos ladrilhos. Ademais, os superfragmentos 401 e 404 a 409 ilustram uma variedade de possíveis formatos embora muitos outros também sejam possíveis. Além disso, o superfragmento 404 ilustra que um superfragmento não precisa ser contíguo.
[0069] As FIGURAS 6(A) e 6(B) ilustram um quadro de vídeo exemplificativo 610 segmentado em camadas de região 620, 630, 640 e particionado de acordo com ladrilhos 650a a 650d em superfragmentos 661 a 669, dispostos de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado na FIGURA 6(A) e conforme discutido acima, o quadro de vídeo 610 (uma porção de um quadro de vídeo é ilustrada visando a clareza da apresentação) pode ser segmentado em camadas de região 620, 630, 640 conforme discutido acima com o uso de qualquer técnica adequada, tal como, por exemplo, uma codificação executada por símbolo através do módulo gerador de partições 105 ou do módulo organizador de foto adaptativo
104. Em alguns exemplos, as camadas de região 620, 630, 640 podem representar um plano dianteiro, um plano de fundo e um plano médio de uma cena ou similares. Conforme mostrado na FIGURA 6(B), as camadas de região 620, 630, 640 podem ser sobrepostas ou combinadas ou similares com os ladrilhos 650a a 650d, que pode ser
33/108 definida em relação ao quadro de vídeo 610 conforme descrito acima (por exemplo, o quadro de vídeo 610 pode ser dividido nos ladrilhos 650a a 650d), para definir os superfragmentos 661 a 669 de modo que cada um dos superfragmentos 661 a 669 possa incluir porções de um ladrilho em uma ou dentro de uma camada de região.
[0070] Por exemplo, o superfragmento 661 pode incluir a porção do ladrilho 650a na camada de região 620 ou dentro da mesma, o superfragmento 662 pode incluir a porção do ladrilho 650a na camada de região 630 ou dentro da mesma, o superfragmento 663 pode incluir a porção do ladrilho 650b na camada de região 620 ou dentro da mesma (por exemplo, todo o ladrilho 650b), o superfragmento 664 pode incluir a porção do ladrilho 650c na camada de região 630 ou dentro da mesma, o superfragmento 665 pode incluir a porção do ladrilho 650c na camada de região 620 ou dentro da mesma, o superfragmento 666 pode incluir a porção do ladrilho 650c na camada de região 640 ou dentro da mesma, o superfragmento 667 pode incluir a porção do ladrilho 650d na camada de região 630 ou dentro da mesma, o superfragmento 668 pode incluir a porção do ladrilho 650d na camada de região 620 ou dentro da mesma e o superfragmento 669 pode incluir a porção do ladrilho 650d na camada de região 640 ou dentro da mesma. Observa-se que na FIGURA 6(B), os limites de superfragmento são definidos tanto por linhas sólidas que representam os limites da camada de região quanto por linhas pontilhadas que representam os limites do ladrilho.
[0071] Conforme discutido, as porções de quadros podem ser definidas dividindo-se um quadro de vídeo em ladrilhos ou unidade de codificação ou definindo superfragmentos. Em alguns exemplos, o uso de ladrilhos pode oferecer as vantagens de simplicidade enquanto os superfragmentos podem ser mais complexos, mas oferecem a vantagem de interprevisão ou intraprevisão acentuada ou intensificação de
34/108 imagem. De qualquer maneira, as porções de quadros podem ser particionadas conforme discutido neste documento.
[0072] Conforme é discutido mais abaixo, a segmentação do quadro de vídeo 310 em ladrilhos ou unidade de codificação ou superfragmentos pode ser realizada através do módulo gerador de partições de previsão 105 (ou um módulo de geração de ladrilho, unidade de codificação ou superfragmento do módulo gerador de partições de previsão 105, por exemplo), outro módulo (por exemplo, um módulo de geração de ladrilho, unidade de codificação ou superfragmento) inserido entre o organizador de foto adaptativo 104 e o gerador de partições de previsão 105 ou através do módulo organizador de foto adaptativo 104 (ou um módulo de geração de ladrilho, unidade de codificação ou superfragmento do módulo organizador de foto adaptativo 104, por exemplo).
[0073] A FIGURA 7 é um fluxograma que mostra um subconjunto de um processo de codificação de exemplo 700, disposto de acordo com pelo menos algumas implantações da presente descrição. O processo 700 pode incluir uma ou mais operações, funções ou ações conforme ilustrado por uma ou mais dentre as operações 702, 704, 706 e/ou 708. O processo 700 pode formar pelo menos uma parte de um processo de codificação de vídeo da próxima geração. A título de exemplo não limitador, o processo 700 pode formar pelo menos uma parte de um processo de codificação de vídeo de próxima geração conforme executado pelo sistema criptografador 100 da FIGURA 1.
[0074] O processo 700 pode ser iniciado na operação 702, Receber um Vídeo, em que um quadro de vídeo pode ser recebido. O quadro de vídeo pode ser qualquer quadro de vídeo conforme discutido neste documento [0075] O processo 700 pode continuar na operação 704, Segmentar o Quadro de Vídeo em Ladrilhos, Unidades de Codificação ou Su
35/108 perfragmentos, em que o quadro de vídeo pode ser segmentado em ladrilhos, unidades de codificação ou superfragmentos com o uso de qualquer/quaisquer técnica/técnicas conforme discutido neste documento.
[0076] O processo 700 pode continuar na operação 706, Determinar uma Técnica de Particionamento de Previsão Escolhida (por exemplo, Particionamento de Árvore k-d ou Árvore binária) para um Ladrilho, Unidade de Codificação ou Superfragmento, em que a técnica de particionamento escolhida pode ser determinada para uma porção de quadro (por exemplo, um ladrilho, unidade de codificação ou superfragmento). Em alguns exemplos, a técnica de particionamento escolhida pode ter por base, pelo menos em parte, um tipo de foto do quadro de vídeo. Conforme discutido, em alguns exemplos, a técnica de particionamento para a porção de quadro pode ser uma técnica de particionamento estruturado escolhida dentre o particionamento de árvore binária ou o particionamento de árvore k-d. Por exemplo, uma estrutura técnica de particionamento pode fornecer um particionamento que resulta em dados organizados que podem ser criptografados de modo eficaz através de uma corrente de bits. Por exemplo, o particionamento de árvore binária ou particionamento de árvore k-d pode fornecer uma codificação em relação a bits que inclui um 0 para nenhum corte e um 1 para um corte, seguido por um 0 ou 1 que indica um corte horizontal ou vertical e que repete o padrão para os cortes até que uma terminação (por exemplo, um não corte). Tais particionamentos estruturados também podem ser codificados de modo eficaz com o uso de técnicas do livro de códigos conforme discutido neste documento.
[0077] Conforme discutido, em alguns exemplos, a técnica de particionamento escolhida pode ser determinada com base em um tipo de foto do quadro de vídeo. Por exemplo, conforme discutido, um quadro
36/108 de vídeo pode ser uma foto-l, uma foto-P ou uma foto-F/B. Em alguns exemplos, para os quadros de vídeo que são fotos-l, a técnica de particionamento escolhida pode ser a técnica de particionamento de árvore k-d. Ademais, em tais exemplos, a porção de quadro pode compreender um tamanho de ladrilho de 64 x 64 pixels ou um superfragmento determinado com base em um tamanho de ladrilho de 64 x 64 pixels. Em alguns exemplos, para os quadros de vídeo que são fotos-P, a técnica de particionamento escolhida pode ser a técnica de particionamento de árvore binária. Ademais, em tais exemplos, a porção de quadro pode compreender um tamanho de ladrilho de 32 x 32 pixels ou um superfragmento determinado com base em um tamanho de ladrilho de 32 x 32 pixels para fotos-P de baixa resolução ou a porção de quadro pode compreender um tamanho de ladrilho de 64 x 64 pixels ou um superfragmento determinado com base em um tamanho de ladrilho de 64 x 64 pixels para fotos-P de alta resolução. Em alguns exemplos, para os quadros de vídeo que são fotos-F, a técnica de particionamento escolhida pode ser a técnica de particionamento de árvore binária. Ademais, em tais exemplos, a porção de quadro pode compreender um tamanho de ladrilho de 64 x 64 pixels ou um superfragmento determinado com base em um tamanho de ladrilho de 64 x 64 pixels.
[0078] Em outros exemplos, a técnica de particionamento escolhida pode ser com base, pelo menos em parte, em uma característica do ladrilho, unidade de codificação ou superfragmento (por exemplo, a porção de quadro). Por exemplo, a característica pode incluir uma quantidade esperada de intrablocos na pelo menos uma porção de quadro. A quantidade esperada de intrablocos pode ser determinada através do gerador de partições de previsão 105 ou controlador de criptografia 103, por exemplo. Em alguns exemplos, a técnica de particionamento escolhida pode ser a técnica de particionamento de árvore
37/108 k-d quando a quantidade esperada de intrablocos é maior que um limiar e a técnica de particionamento escolhida pode incluir a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos é menor que um limiar.
[0079] O processo 700 pode continuar na operação 708, Particionar o Ladrilho, Unidade de Codificação ou Superfragmento em uma Pluralidade de Partições de Previsão Potenciais Com o Uso da Técnica de Particionamento de Previsão Escolhida, em que a porção de quadro pode ser particionada em uma pluralidade de partições com o uso da técnica de particionamento escolhida. Por exemplo, a porção de quadro (por exemplo, um ladrilho, unidade de codificação ou um superfragmento) pode ser particionada com o uso da técnica de particionamento escolhida (por exemplo, escolhida dentre o particionamento de árvore k-d ou o particionamento de árvore binária). Por exemplo, a porção de quadro pode ser particionada através do módulo gerador de partições de previsão 105 do criptografador 100. Por exemplo, a porção de quadro pode ser particionada em uma pluralidade de partições de previsão potenciais, que podem ser avaliadas por uma otimização de distorção de taxa ou similares para selecionar partições de previsão selecionadas, que podem ser usadas para a codificação discutida neste documento. Ademais, as partições de previsão selecionadas (por exemplo, um particionamento selecionado) podem ser representadas conforme discutido neste documento através da codificação de indicadores de particionamento ou palavras-código, que podem ser codificadas em uma corrente de bits, tal como a corrente de bits 111 ou a corrente de bits 1000 ou similares.
[0080] Conforme discutido acima, dependendo, por exemplo, de um tipo de foto de um quadro ou uma característica de uma porção de quadro, a porção de quadro pode ser particionada com o uso de uma técnica de particionamento escolhida que é escolhida dentre o partici
38/108 onamento de árvore binária ou o particionamento de árvore k-d. Ademais, conforme discutido acima, a porção de quadro pode ser um ladrilho, unidade de codificação ou um superfragmento ou similares e a porção de quadro pode ter, substancialmente, qualquer formato (por exemplo, particularmente quando os superfragmentos são empregados). Visando a clareza da apresentação, o particionamento de árvore binária e o particionamento de árvore k-d serão descritos em relação ao ladrilho, unidade de codificação ou superfragmento quadrado. Entretanto, as técnicas descritas podem ser aplicadas a qualquer formato de ladrilho, unidade de codificação ou superfragmento. Em alguns exemplos, o particionamento descrito pode ser particionado a um menor tamanho permissível, tal como, por exemplo, 4x4 pixels ou similares.
[0081] A FIGURA 8 ilustra um particionamento de exemplo de uma porção de quadro 800 com o uso de uma técnica de particionamento de árvore binária, disposto de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado, em alguns exemplos, a porção de quadro 800 pode incluir um formato quadrado. Conforme discutido, em vários exemplos, a porção de quadro 800 pode incluir qualquer formato adequado. Ademais, a porção de quadro 800 pode incluir um ladrilho, unidade de codificação ou um superfragmento ou similares conforme discutido neste documento. Ademais, em alguns exemplos, a porção de quadro 800 pode, por si só, ser uma partição de modo que as partições ilustradas possam ser consideradas subpartições. Tais exemplos podem ocorrer quando as partições são adicionalmente particionadas para codificação (por exemplo, codificação por transformação) através do módulo gerador de subpartições 107 conforme será adicionalmente discutido neste documento abaixo.
[0082] Conforme mostrado na FIGURA 8, o particionamento de árvore binária pode incluir uma progressão de particionamento. A co
39/108 meçar pela porção de quadro 800, uma partição 1 pode ser definida como a porção de quadro 800, em si. A partição 1 pode ser particionada verticalmente em duas partições 2, 3. Cada uma das partições 2, 3, pode ser adicionalmente particionada, dessa vez, verticalmente em partições 4, 5 (por exemplo, partições da partição 3) e partições 6, 7 (por exemplo, as partições da partição 2). A segunda fileira (a partir do topo) da FIGURA 8 ilustra um particionamento vertical adicional da partição 3 nas partições 8, 9 e o particionamento vertical adicional da partição 2 nas partições 10, 11. A terceira fileira (a partir do topo) da FIGURA 8 ilustra um particionamento horizontal (por exemplo, em vez do particionamento vertical da primeira fileira (a partir do topo)) para gerar partições 12, 13 a partir da partição 1. A terceira fileira (a partir do topo) da FIGURA 8 também ilustra o particionamento vertical adicional das partições 12, 13 para gerar as partições 14, 15 (por exemplo, as partições da partição 13) e as partições 16, 17 (por exemplo, a partir das partições da partição 12). A quarta fileira ou fileira do fundo ilustra um particionamento horizontal adicional da partição 12 para gerar as partições 18, 19 e da partição 13 para gerar as partições 20, 21. Conforme ilustrado, o particionamento de árvore binária pode ser usado recursivamente, uma dimensão por vez (por exemplo, horizontalmente e verticalmente) para subdividir ou particionar cada partição em duas partições iguais até que o menor tamanho de partição possa ser alcançado. O particionamento de árvore binária pode particionar uma porção de quadro em uma ampla quantidade de combinações e pode fornecer uma progressão suave das partições.
[0083] A FIGURA 9 ilustra um particionamento de exemplo de uma porção de quadro 900 com o uso da técnica de particionamento de árvore k-d, disposto de acordo com pelo menos algumas implantações da presente descrição. Conforme mostrado, em alguns exemplos, a porção de quadro 900 pode incluir um formato quadrado. Conforme
40/108 discutido, em vários exemplos, a porção de quadro 900 pode incluir qualquer formato adequado. Ademais, a porção de quadro 900 pode incluir um ladrilho, unidade de codificação ou um superfragmento ou similares conforme discutido neste documento.
[0084] Conforme mostrado na FIGURA 9, o particionamento de árvore k-d pode incluir uma progressão de particionamento. Ademais, conforme ilustrado, o particionamento de árvore k-d pode ser um superconjunto de particionamento de árvore binária de modo que as fileiras 1 a 4 da FIGURA 9 (a começar a partir do topo da FIGURA 9) possam corresponder às fileiras 1 a 4 da FIGURA 8. Em alguns exemplos, o processo de particionamento de árvore k-d ilustrado na FIGURA 9 pode dividir a porção de quadro 900 de modo iterative em quatro partições retangulares em uma dimensão específica (por exemplo, vertical ou horizontal). A começar pela porção de quadro 900, uma partição 1 pode ser definida com a porção de quadro 900, em si. A partição 1 pode ser particionada verticalmente em duas partições 2, 3. Cada uma das partições 2, 3, pode ser adicionalmente particionada, dessa vez verticalmente, em partições 4, 5 (por exemplo, partições da partição 3) e partições 6, 7 (por exemplo, partições da partição 2). A segunda fileira (a partir do topo) da FIGURA 9 ilustra o particionamento vertical adicional da partição 3 nas partições 8, 9 e o particionamento vertical adicional da partição 2 nas partições 10, 11. A terceira fileira (a partir do topo) da FIGURA 9 ilustra o particionamento horizontal (por exemplo, em vez do particionamento vertical da primeira fileira (a partir do topo)) para gerar as partições 12, 13 a partir da partição 1. A terceira fileira (a partir do topo) da FIGURA 9 também ilustra o particionamento vertical adicional das partições 12, 13 para gerar as partições 14, 15 (por exemplo, partições da partição 13) e partições 16, 17 (por exemplo, a partir das partições da partição 12). A quarta fileira (a partir do topo) ilustra o particionamento horizontal adicional da partição 12 para gerar
41/108 as partições 18, 19 e da partição 13 para gerar as partições 20, 21. [0085] Conforme discutido, através da quarta fileira, o particionamento de árvore k-d pode corresponder, substancialmente, ao particionamento de árvore binária. Conforme ilustrado na quinta fileira (a partir do topo) da FIGURA 9, a porção de quadro 900 pode ser particionada em partições com tamanho de % e % verticalmente para gerar as partições 22, 23. Ademais, a partição 23 pode ser particionada em metade vertical mente para gerar as partições 24, 25 e a partição 22 pode ser particionada em metade verticalmente para formar as partições 26, 27. Conforme ilustrado na sexta fileira ou na fileira do fundo da FIGURA 9, a porção de quadro 900 pode ser particionada em partições com tamanhos de % e % horizontalmente para gerar partições 28, 29. Ademais, a partição 28 pode ser particionada em metade horizontalmente para gerar as partições 30, 31 e a partição 29 pode ser particionada em metade horizontalmente para formar as partições 32, 33. Tal processo de particionamento pode ser repetido recursivamente, alternando as dimensões (por exemplo, horizontal e vertical) para subdividir ou particionar cada partição em 2 partes iguais (metades) e 2 partes desiguais (por exemplo, a uma razão de 1:3) até que o menor tamanho de partição possa ser alcançado. O particionamento de árvore k-d pode particionar uma porção de quadro em uma ampla quantidade de combinações, não apenas em um ponto médio das partições e subpartições (e assim sucessivamente), mas também, com uma precisão adicional em cada acesso. No exemplo ilustrado, uma precisão de um-quarto é usada. Em outros exemplos, qualquer precisão pode ser usada, tal como um-terço ou um-quinto ou similares podem ser usados.
[0086] Conforme discutido em relação às FIGURAS 8 e 9, as porções de quadros podem ser particionadas em uma ampla faixa de partições. Cada uma das partições pode ser indexada com um valor de
42/108 índice e transmitida para o controlador de criptografia 103 (consulte a FIGURA 1). As partições indexadas e transmitidas podem incluir centenas de partições, por exemplo. Uma ou mais partições podem ser usadas conforme discutido em relação à FIGURA 1 para a previsão e/ou codificação (por exemplo, codificação por transformação; em alguns exemplos, as partições para a codificação podem ser adicionalmente particionadas em subpartições). Por exemplo, s fotos-l podem ser previstas completamente com o uso da intraprevisão, as fotos-P podem usar uma interprevisão e intraprevisão, embora a interprevisão possa ser a principal fonte de previsão para as fotos-P e as fotos-F/B também podem usar tanto a interprevisão quanto a intraprevisão. Por exemplo, o controlador de criptografia 103 pode selecionar as partições para uso nas operações de interprevisão e intraprevisão. Os dados associados à interprevisão e/ou intraprevisão e os dados que definem as partições utilizadas podem ser criptografados em uma corrente de bits, por exemplo, conforme é discutido adicionalmente, abaixo neste documento.
[0087] Em alguns exemplos, a ampla faixa de opções de particionamento pode ser limitada ou constringida. Tal constrição pode ser aplicada tanto no exemplo de particionamento de árvore binária quanto de árvore k-d. Por exemplo, o particionamento da porção de quadro (por exemplo, o ladrilho, unidade de codificação ou superfragmento) pode incluir predefinir uma primeira partição como uma porção de quadro de redução pela metade em uma primeira dimensão (por exemplo, horizontal ou vertical) e predefinir uma segunda partição que reduz à metade a pelo menos uma porção de quadro em uma segunda dimensão (por exemplo, o oposto da primeira redução pela metade). As partições adicionais podem ser produzidas apenas após tal particionamento constringido inicial, por exemplo, de modo que outras partições opcionais com base na porção de quadro inicial não estarem
43/108 mais disponíveis. Tais constrições podem permitir iniciar com porções de quadros de 64 x 64 pixels e dividir a porção de quadro em subporções de tamanho de 32 x 32 e, então, o particionamento de cada subporção através de particionamento de árvore k-d e de árvore binária, que pode limitar ou a quantidade de partições.
[0088] As partições de previsão e/ou partições de codificação podem ser definidas (por exemplo, seu formato e/ou local podem ser definidos) para o uso através do criptografador e/ou decodificador. Em alguns exemplos, uma partição de previsão individual de uma porção de quadro ou uma partição de codificação de uma partição de previsão pode ser definida com o uso da codificação executada por símbolo com base em blocos de pixel. Em outros exemplos, uma partição de previsão individual de uma porção de quadro ou uma partição de codificação de uma partição de previsão pode ser definida com o uso de um livro de códigos. A Tabela 1, ilustra um exemplo de livros de códigos de particionamento de árvore binária de entradas com tamanho de fragmento de 32 x 32 pixels para ou uso na definição de uma partição de um ladrilho, unidade de codificação ou um superfragmento. Na tabela 1, os Xs grandes representam partições sem terminação.
índice Formato Quantidade de Partições
0 1
1 J 2
2 2
44/108
3 I III 3
4 I 'x x I 3
5 'WawwvwvwvwvwvwvwvAxx·' 3
6 3
7 3
8 <'· .·$: 3 :: a· £ 1 :· 3
9 X·.·.·.·.·.·.·.·.·.·.·.·.·.·.·, ------------ 3
10 117 i 3
TABELA 1: EXEMPLO DE ENTRADAS DE LIVRO DE CÓDIGOS DE PARTICIONAMENTO DE ÁRVORE BINÁRIA [0089] A Tabela 2, ilustra um exemplo de livro de códigos de particionamento de árvore k-d de entradas com tamanho de fragmento de
45/108 x 32 pixels para o uso na definição de uma partição de um ladrilho, unidade de codificação ou um superfragmento.
índice Formato Quantidade de partições
0 1
1 ^•.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx^ 2
2 i I 2
3 <............................... Sssssssssssssssssssssssssssssssss·^ 2
4 2
5 2
6 \XXXXXXXXXXXXXXXXXXXXXXX«^XXXXXXXX 2
7 \ssssssssssssssssssssssssssssssss^ 3
46/108
8 3
9 3
10 ------------------S----------------- 3
11 3
12 3
TABELA 2: EXEMPLO DE ENTRADAS DE LIVRO DE CÓDIGOS DE PARTICIONAMENTO DE ÁRVORE K-D [0090] As Tabelas 1 e 2 mostram apenas entradas do livro de códigos exemplificativas. Um livro de códigos completo de entradas pode fornecer uma listagem completa ou substancialmente completa de todas as entradas possíveis e codificações das mesmas. Em alguns exemplos, o livro de códigos pode considerar as contrições conforme descrito acima. Em alguns exemplos, os dados associados a uma entrada de livro de códigos para uma partição (ou subpartição) podem ser criptografados em uma corrente de bits para uso em um decodificador conforme discutido neste documento.
[0091] Conforme discutido, as porções de quadros (por exemplo, ladrilhos, unidades de codificação ou superfragmentos) podem ser particionadas com base em uma técnica de particionamento escolhida
47/108 (por exemplo, particionamento de árvore binária ou particionamento de árvore k-d) para gerar partições de previsão. As partições de previsão podem ser usadas para criptografia com base em técnicas de interprevisão e/ou técnicas de intraprevisão. Um ciclo de decodificação local implantado através do criptografador pode gerar partições previstas, que podem ser usadas para gerar partições de dados de erros de previsão ou residuais (por exemplo, diferenças entre partições previstas e dados de pixels originais). Em alguns casos, as partições de dados de erros de previsão associadas às partições de previsão podem ser codificadas e podem, portanto, ser descritas como partições de previsão ou partições de codificação substancialmente de modo intercambiável. Tais casos podem ocorrer no contexto de intraprevisão em fotos-l (ou, em algumas implantações no contexto de intraprevisão em fotos-P e fotos-F/B), por exemplo. Em outros casos (por exemplo, em fotos-P e fotos-F/B), as partições de dados de erros de previsão podem ser avaliadas para determinar se precisam ser criptografadas e, se precisarem, as partições associadas podem ser adicionalmente particionadas em partições de codificação para a codificação. Ademais, as partições de previsão e/ou partições de codificação podem ser caracterizadas ou definidas com o uso da codificação executada por símbolo ou um livro de códigos ou similares. Além disso, conforme discutido, os dados associados às partições descritas de previsão e/ou partições de codificação, os dados de previsão e assim sucessivamente podem ser criptografados (por exemplo, através de um criptografador de entropia) em uma corrente de bits. A corrente de bits pode ser comunicada para um decodificador, que pode usar a corrente de bits codificada para decodificar quadros de vídeo for display.
[0092] A FIGURA 10 ilustra um exemplo de corrente de bits 1000, disposta de acordo com pelo menos algumas implantações da presente descrição. Em alguns exemplos, a corrente de bits 1000 pode cor
48/108 responder à corrente de bits de saída 111 conforme mostrado na FIGURA 1 e/ou corrente de bits de entrada 201 conforme mostrado na FIGURA 2. Embora não seja mostrado na FIGURA 10 visando a clareza da apresentação, em alguns exemplos corrente de bits 1000 pode incluir uma porção de cabeçalho e uma porção de dados. Em vários exemplos, a corrente de bits 1000 pode incluir dados, indicadores, palavras-código, valores de índice, dados de seleção de modo, tipo de referência dados ou similares associada à criptografia de um quadro de vídeo conforme discutido neste documento. Conforme mostrado, em alguns exemplos, a corrente de bits 1000 pode incluir uma partição de codificação que define os dados 1010, a partição de dados de erro de dados de previsão criptografados 1020 (por exemplo, dados de erro de previsão que foram codificados por transformação e quantizados), partição de previsão que define dados 1030, dados de interprevisão 1040, partição de previsão que definem dados 1050 e/ou dados de intraprevisão 1060. Os dados ilustrados podem ser incluídos em qualquer ordem na corrente de bits 1000 e podem ser adjacentes ou separados por qualquer outro dentre uma variedade de dados adicionais para a codificação do vídeo.
[0093] Por exemplo, a partição de codificação que define dados 1010 pode incluir dados associados às partições de codificação definidos através do gerador de partições de codificação 107. Por exemplo, a partição de codificação que define os dados 1010 pode incluir dados associados à definição de porções de árvore binária com o uso de uma técnica de codificação executada por símbolo ou de livro de códigos ou similares tais como indicadores de partição de codificação ou palavras-código ou similares. Ademais, a partição de codificação que define os dados 1010 pode estar associada à partição de dados de erro de dados de previsão criptografados 1020 gerados através do módulo de transformação adaptativa 108 e ou módulo criptografador
49/108 de entropia adaptativa 110. Os dados criptografados da partição de dados de erro de previsão 1020 (por exemplo, coeficientes de transformação ou similares) podem incluir dados residuais quantizados e codificados por transformação. Os dados criptografados da partição de dados de erro de previsão 1020 podem ser transmitidos através de corrente de bits 1000 para a decodificação.
[0094] Os dados de definição de partição de previsão 1030 podem incluir dados associados às partições de previsão definidos através do gerador de partições de previsão 105, por exemplo. Os dados de definição de partição de previsão 1030 podem incluir dados associados à definição tanto de porções de árvore binária quanto de partições de árvore k-d, conforme discutido neste documento. Os dados de definição de partição de previsão 1030 podem definir partições associadas aos dados de dados de interprevisão ou intraprevisão em vários exemplos. Por exemplo, os dados de definição de partições de previsão 1030 podem incluir dados associados à definição de porções de árvore binária ou partições de árvore k-d com o uso de uma técnica de codificação executada por símbolo ou de livro de códigos ou similares, tal como a partição de previsão indicadores ou palavras-código ou similares. Em alguns exemplos, os dados de definição de partição de previsão 1030 podem estar associados aos dados de interprevisão 1040 de modo que os dados de interprevisão 1040 possam ser configurados para fornecer interprevisão (por exemplo, compensação de movimento ou similares) para a partição definida pelos dados de definição de partição 1030.
[0095] Os dados de definição de partição de previsão 1050 podem incluir dados associados às partições de previsão definidas através de gerador de partições de previsão 105, por exemplo. Os dados de definição de partição de previsão 1050 podem incluir dados associados à definição tanto das porções de árvore binária quanto das partições de
50/108 árvore k-d, conforme discutido neste documento. Em alguns exemplos, os dados de definição de partição de previsão 1030 e os dados de definição de partição de previsão 1050 podem definir as partições de previsão no mesmo quadro. Em outros exemplos, os dados de definição de partição de previsão 1030 e os dados de definição de partição de previsão 1050 podem definir as partições em diferentes quadros. Os dados de definição de partição de previsão 1050 podem definir as partições de previsão associadas aos dados de dados de interprevisão ou intraprevisão em vários exemplos. Por exemplo, os dados de definição de partições de previsão 1050 podem incluir dados associados com a definição das porções de árvore binária ou partições de árvore k-d com o uso de uma técnica de codificação executada por símbolo ou de livro de códigos ou similares. Em alguns exemplos, os dados de definição de partição de previsão 1050 podem ser associados aos dados de intraprevisão 1060, de modo que os dados de intraprevisão 1060 possam ser configurados para fornecer intraprevisão para a partição de previsão definida pelos dados de definição de partição de previsão 1050. Em alguns exemplos, os dados de intraprevisão 1060 podem ser gerados pelo módulo analisador de previsão e de filtração de fusão de previsão 124 ou similares.
[0096] Conforme discutido, a corrente de bits 1000 pode ser gerada por um criptografador tal como, por exemplo, o criptografador 100 e/ou recebida por um decodificador 200 para decodificação, de modo que os quadros de vídeo possam ser apresentados através de um dispositivo de exibição.
[0097] A FIGURA 11 é um fluxograma que mostra um processo de decodificação 1100 exemplificativo, disposto de acordo com pelo menos algumas implantações da presente descrição. O processo 1100 pode incluir uma ou mais operações, funções ou ações, conforme ilustrado por uma ou mais das operações 1102, 1104, 1106, 1108, 1109,
51/108
1110, 1112 e/ou 1114. O processo 1100 pode formar pelo menos uma parte de um processo de codificação de vídeo da próxima geração. Um título de exemplo não limitador, o processo 1100 pode formar pelo menos uma parte de um processo de decodificação de vídeo da próxima geração conforme executado pelo sistema decodificador 200 da FIGURA 2.
[0098] O processo 1100 pode ser iniciado na operação 1102, Receber Corrente de Bits Criptografada, em que uma corrente de bits pode ser recebida. Por exemplo, uma corrente de bits criptografada conforme discutido neste documento pode ser recebida em um decodificador de vídeo. Em alguns exemplos, a corrente de bits 1000 pode ser recebida através do decodificador 200.
[0099] O processo 1100 pode continuar na operação 1104, Decodificar a Corrente de Bits Criptografada por Entropia para Determinar Os Indicadores de Codificação de Previsão, Modos de Previsão, Tipo de Referências de Previsão, Parâmetros de Previsão, Vetores de Movimento, Indicador(es) de Partição de Codificação, Dados de Tamanho de Bloco, Dados de Tipo de Transformação, Quantizador (Qp) e Coeficientes de Transformação Quantizados, em que a corrente de bits pode ser decodificada para determinar os indicadores de partição de codificação (ou palavras-código), dados de tamanho de bloco, dados de tipo de transformação, quantizador (Qp) e coeficientes de transformação quantizados. Por exemplo, os dados decodificados podem incluir os dados associados a uma partição de codificação (por exemplo, coeficientes de transformação) e um ou mais indicadores associados à partição de codificação. Por exemplo, os coeficientes de transformação podem ser para uma transformação fixa ou uma transformação adaptativa ao conteúdo conforme discutido neste documento. Os dados de tipo de transformação podem indicar um tipo de transformação para a partição de codificação, uma direção paramétrica de transfer
52/108 mação (por exemplo, para transformações paramétricas híbridas) e/ou um modo de transformação (por exemplo, xmmode; usado apenas para sinais de intracodificação entre escolhas de modo para usar um sinal de diferença de previsão ou um sinal original). Em alguns exemplos, a decodificação pode ser realizada pelo módulo decodificador de entropia adaptativa 202. Em alguns exemplos, determinar os coeficientes de transformação também pode envolver uma operação de quantização inversa. Em alguns exemplos, a operação de quantização inversa pode ser realizada pelo módulo de quantização inversa adaptativa 203.
[00100] Em alguns exemplos, a corrente de bits pode ser decodificada por entropia para determinar os dados de interprevisão associados a uma primeira partição de previsão individual, os dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, os dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual. Por exemplo, a primeira partição de previsão individual pode incluir uma partição de árvore binária e a segunda partição de previsão individual pode incluir uma partição de árvore k-d conforme discutido neste documento. Em alguns exemplos, a corrente de bits pode ser decodificada por entropia para determinar adicionalmente os dados associados a uma partição de dados de erro de previsão individual conforme discutido neste documento.
[00101] O processo 1100 pode continuar na operação 1106, Aplicar Quantizador (Qp) aos Coeficientes Quantizados para Gerar Coeficientes de Transformação Quantizados Inversos, em que o quantizador (Qp) pode ser aplicado aos coeficientes de transformação quantizados para gerar os coeficientes de transformação quantizados inversamente. Por exemplo, a operação 1106 pode ser aplicada através do
53/108 módulo de quantização inversa adaptativa 203. Por exemplo, os dados associados à partição de dados de erro de previsão individual podem ser quantizados inversamente para gerar coeficientes decodificados.
[00102] O processo 1100 pode continuar na operação 1108, Em Cada Bloco Decodificado dos Coeficientes em uma Partição de Codificação (ou Intraprevista) Realizar a Transformação Inversa com base nos Dados de Tipo de Transformação e Tamanho de Bloco para Gerar Partições de Erro de Previsão Decodificadas, em que, em cada bloco de decodificação dos coeficientes de transformação em uma partição de codificação (ou intrprevista), uma transformação inversa com base nos dados de tipo de transformação e de tamanho de bloco pode ser realizada para gerar partições de erro de previsão decodificadas. Em alguns exemplos, a transformação inversa pode incluir uma transformação adaptativa de tamanho inversa. Em alguns exemplos, a transformação inversa pode incluir uma transformação fixa inversa. Em alguns exemplos, a transformação inversa pode incluir uma transformação inversa adaptativa ao conteúdo. Em tais exemplos, realizar a transformação inversa adaptativa ao conteúdo pode incluir determinar funções de base associadas à transformação inversa adaptativa ao conteúdo com base em um bloco vizinho de dados decodificados de vídeo. Qualquer transformação direta usada para criptografar conforme discutido neste documento pode ser usada para decodificar com o uso de uma transformação inversa associada. Em alguns exemplos, a transformação inversa pode ser realizada pelo módulo de transformação inversa adaptativa 204. Em alguns exemplos, gerar as partições de erro de previsão decodificadas pode incluir, ainda, montar as partições de codificação decodificadas através do montador de partições de codificação 205.
[00103] Por exemplo, os dados associados à partição de dados de erro de previsão individual (por exemplo, coeficientes decodificados)
54/108 podem ser transformados inversamente para gerar uma partição de dados de erro de previsão (por exemplo, dados de erro para uma partição de previsão) ou partições de codificação decodificadas que podem ser combinadas ou montadas para gerar uma partição de dados de erro de previsão. Em alguns exemplos, uma quantização inversa e uma transformação inversa podem ser realizadas com base nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas (por exemplo, as partições de codificação decodificadas da partição de dados de erro de previsão). Em alguns exemplos, as partições de codificação podem ser partições de codificação e árvore binária da partição de dados de erro de previsão conforme discutido.
[00104] O processo 1100 pode continuar na operação 1109, Usar Indicadores de Partição de Previsão, Modos de Previsão, Tipos de Referência de Previsão e Vetores de Movimento Gera Partições Previstas, em que a partição de previsão indicadoras, os modos de previsão, os tipos de referência de previsão e vetores de movimento podem ser usados (juntamente com fotos de referência de previsão) para gerar partições previstas (por exemplo, dados de pixel para ou associados às partições de previsão).
[00105] O processo 1100 pode continuar na operação 1110, Adicionar as Partições Previstas Correspondentes às Partições de Dados de Erro de Previsão Decodificados para Gerar Partições Reconstruídas, em que as partições previstas (decodificadas) podem ser adicionadas às partições de dados de erros de previsão decodificadas para gerar as partições de previsão reconstruídas. Por exemplo, a partição de dados de erro de previsão decodificada pode ser adicionada à partição prevista associada através do adicionador 206. Em alguns exemplos, uma partição reconstruída pode ser gerada realizando-se a interprevisão ou intraprevisão (por exemplo, uma partição decodificada an
55/108 teriormente ou similares podem ser usadas através de interprevisão ou intraprevisão para gerar uma partição prevista). Em alguns exemplos, a compensação de movimento pode ser realizada para gerar uma partição individual prevista decodificada com base nos dados de interprevisão (por exemplo, vetores de movimento) decodificados a partir da corrente de bits. Em alguns exemplos, a intraprevisão pode ser realizada para uma partição individual prevista decodificada com base nos dados de intraprevisão decodificados a partir da corrente de bits.
[00106] O processo 1100 pode continuar na operação 1112, Montar Partições Reconstruídas para Gerar um Ladrilho, Unidade de Codificação ou Superfragmento, em que as partições de previsão reconstruídas podem ser montadas para gerar ladrilhos, unidades de codificação ou superfragmentos. Por exemplo, as partições de previsão reconstruídas podem ser montadas para gerar ladrilhos, unidades de codificação ou superfragmentos através de módulo de montador de partições de previsão 207.
[00107] O processo 1100 pode continuar na operação 1114, Montar Ladrilhos, Unidades de Codificação ou Superfragmentos de uma Foto para Gerar uma Foto Completamente Decodificada, em que os ladrilhos, unidades de codificação ou superfragmentos de uma foto podem ser montados para gerar uma foto completamente decodificada. Por exemplo, após a filtração de desblocagem e/ou filtração de restauração de qualidade opcionais, os ladrilhos, unidades de codificação ou superfragmentos podem ser montados para gerar uma foto completamente decodificada, que pode ser armazenada através do armazenamento temporário de foto decodificada 210 e/ou transmitida para a apresentação através de um dispositivo de exibição após o processamento através do módulo reorganizador de foto adaptativo 217 e módulo pós-restaurador de conteúdo 218.
[00108] Vários componentes dos sistemas descritos neste docu
56/108 mento podem ser implantados em software, firmware e/ou hardware e/ou qualquer combinação dos mesmos. Por exemplo, vários componentes do sistema 300 podem ser fornecidos, pelo menos em parte, através do hardware de um Sistema-em-um-Chip (SoC) de computação, tal como pode ser encontrado em um sistema de computação tal como, por exemplo, um telefone inteligente. Os elementos versados na técnica podem reconhecer que os sistemas descritos neste documento podem incluir componentes adicionais que não foram representados nas FIGURAS correspondentes. Por exemplo, os sistemas discutidos neste documento podem incluir componentes adicionais, tais como módulo de multiplexador ou demultiplexador de corrente de bits e similares que não foram representados visando a clareza.
[00109] As FIGURAS 12(A) e 12(B) são diagramas ilustrativos de subsistemas de codificadores exemplificativos 1200 e 1210, dispostos de acordo com pelo menos algumas implantações da presente descrição. Em alguns exemplos, o subsistema de criptografador 1200 ou 1210 pode ser implantado através do criptografador 100 conforme mostrado na FIGURA 1. Conforme mostrado na FIGURA 12(A), o subsistema de criptografador 1200 pode incluir o módulo gerador de partições de previsão 105, conforme discutido acima. Conforme mostrado, em alguns exemplos, o módulo gerador de partições de previsão 105 pode incluir um módulo de geração de ladrilho, unidade de codificação ou superfragmento 1201, que pode gerar ladrilhos ou unidade de codificação ou superfragmentos conforme discutido neste documento.
[00110] Conforme mostrado na FIGURA 12(B), o subsistema de criptografador 1210 pode incluir um módulo separado de geração de ladrilho, unidade de codificação ou superfragmento 1201 implantado entre o organizador de foto adaptativo 104 (que pode não ser considerado uma parte do subsistema de criptografador 1210 em algumas implantações) e o gerador de partições de previsão 105. Em outros
57/108 exemplos, o módulo separado de geração de ladrilho, unidade de codificação ou superfragmento 1201 pode ser implantado através do organizador de foto adaptativo 104 e o organizador de foto adaptativo 104 pode ser considerado uma parte do subsistema de criptografador. [00111] Conforme discutido, em alguns exemplos, os superfragmentos podem ser codificados. Em alguns exemplos, os superfragmentos podem ser codificados através de codificação executada por símbolo que pode utilizar uma correlação dentre os blocos vizinhos ao longo de um parelho de varredura unidimensional (1D), devido ao fato de que, provavelmente, os blocos vizinhos pertencem à mesma região. Em outros exemplos, um livro de códigos pode ser usado para aproximar os limites de uma porção de quadro em uma grade de ladrilhos igualmente espaçada ou, substancialmente, espaçada de maneira igual de 32 x 32 pixels ou 64 x 64 pixels ou similares. Em tais exemplos, os limites principais através de cada ladrilho podem ser aproximados com um padrão mais próximo disponível de um livro de códigos e um código que corresponde ao padrão pode ser incluído em uma corrente de bits para uso através de um decodificador. Em alguns exemplos, tais representações de limite podem gerar perda a fim de minimizar o busto de bits.
[00112] Em várias implantações, as porções de quadros (por exemplo, ladrilhos, unidades de codificação ou superfragmentos) podem ser geradas através ou transmitidas para o módulo gerador de partições de previsão 105, que pode incluir módulo gerador de partições de árvore binária 1202 e módulo gerador de partições de árvore k-d 1203. Conforme mostrado, as porções de quadros podem ser inseridas tanto no módulo gerador de partições de árvore binária 1202 quanto no módulo gerador de partições de árvore k-d 1203, dependendo da operação dos comutadores 1204, 1205. Em alguns exemplos, os comutadores 1204, 1205 podem operar com base em um tipo de foto do quadro
58/108 das porções de quadros. Por exemplo, se o quadro for uma foto-l, a porção de quadro recebida pode ser inserida no módulo gerador de partições de árvore k-d 1203 através dos comutadores 1204, 1205. Se o quadro for uma foto-P ou foto-F/B, a porção de quadro recebida pode ser inserida no módulo gerador de partições de árvore binária 1202 através dos comutadores 1204, 1205, por exemplo. Em outros exemplos, os comutadores 1204, 1205 podem operar com base em uma característica da porção de quadro recebida. Por exemplo, se a quantidade esperada de intrablocos da porção de quadro for maior que um limiar, a porção de quadro pode ser inserida no módulo gerador de partições de árvore k-d 1203 e se a quantidade esperada de intrablocos da porção de quadro for menor que o limiar, a porção de quadro pode ser inserida no módulo gerador de partições de árvore binária 1202. Em vários exemplos, o limiar pode ser predefinido ou heuristicamente determinado ou similares.
[00113] Conforme mostrado, a saída do módulo gerador de partições de previsão 105 (conforme controlada através do comutador 1205) pode ser inserida no diferenciador 106, em que o processamento pode continuar conforme discutido acima em relação à FIGURA 1, de modo que a segunda entrada no diferenciador 106 seja a saída do módulo analisador de fusão de previsão e de filtração de fusão de previsão 126 e, de modo que a saída do diferenciador 106 (por exemplo, as partições de dados de erros de previsão ou residuais ou similares) possa ser opcionalmente inserida no gerador de partições de codificação 107 conforme controlado através de comutadores 107a, 107b conforme discutido neste documento. Em alguns exemplos, para a interprevisão nas fotos-F/B ou fotos-P, as partições de dados de erros de previsão podem ser transmitidas ao módulo gerador de partições de codificação 107 para o particionamento adicional em partições de codificação (por exemplo, através de uma técnica de particionamento de
59/108 árvore binária). Em alguns exemplos, para a intraprevisão nas fotos-l, as partições de dados de erros de previsão (ou dados de pixels originais) podem ser desviadas do módulo gerador de partições de codificação 107, de modo que nenhum particionamento adicional seja realizado antes da codificação por transformação (por exemplo, através de módulo de transformação adaptativa 108). Em tais exemplos, as porções de quadros (por exemplo, ladrilhos ou unidade de codificação ou superfragmentos) podem ser particionadas apenas uma vez e tais partições podem ser descritas como partições de previsão ou partições de codificação ou ambas, dependendo do contexto. Por exemplo, como uma saída do gerador de partições de previsão, tais partições podem ser consideradas partições de previsão (devido ao fato de serem usadas para a previsão) enquanto no módulo de transformação adaptativa 108, tais partições podem ser consideradas partições de codificação (devido ao fato de tais partições serem codificadas por transformação). [00114] A FIGURA 13 é um diagrama ilustrativo de um subsistema de decodificador exemplificativo 1300, disposto de acordo com pelo menos algumas implantações da presente descrição. Em alguns exemplos, o subsistema de decodificador 1300 pode ser implantado através de decodificador 200 conforme mostrado na FIGURA 2. Conforme mostrado na FIGURA 13, o subsistema de decodificador 1300 pode incluir o módulo de montador de partições de codificação 205, que pode receber, opcionalmente, uma entrada do módulo de transformação inversa adaptativa 204 (não mostrado, consulte a FIGURA 2) conforme controlado através de comutadores 205a, 205b. A saída do módulo de montador de partições de codificação 205 ou os dados desviados (por exemplo, as partições de dados de erros de previsão) podem ser fornecidos como uma entrada no adicionador 206. Conforme discutido, em alguns exemplos, as partições de dados de erros de previsão podem ter sido criptografadas por transformação sem um par
60/108 ticionamento adicional (por exemplo, na intraprevisão das fotos-l) e o módulo de montador de partições de codificação 205 pode ser desviado e, em alguns exemplos, as partições de dados de erros de previsão podem ter sido adicionalmente particionadas em partições de codificação para a codificação por transformação e o módulo de montador de partições de codificação 205 pode montar tais partições de codificação em partições de dados de erros de previsão.
[00115] A segunda entrada ao adicionador 206 (por exemplo, as partições de previsão decodificadas) pode ser fornecida a partir da saída do módulo de filtração de fusão de previsão 216, conforme discutido acima em relação à FIGURA 2. Conforme mostrado, o subsistema de decodificador 1300 também pode incluir o módulo de montador de partições de previsão 207, que pode incluir o módulo montador de porções de árvore binária 1301 e o módulo montador de partições de árvore k-d 1302. A saída do adicionador 206 (por exemplo, as partições de previsão reconstruídas) pode ser inserida tanto no módulo montador de porções de árvore binária 1301 quanto no módulo montador de partições de árvore k-d 1302 com base no controle dos comutadores 1304, 1305. Por exemplo, as porções de árvore binária podem ser inseridas no módulo montador de porções de árvore binária 1301 para a montagem em porções de quadros e as partições de árvore k-d podem ser inseridas no módulo montador de partições de árvore k-d 1302 para a montagem em porções de quadros (por exemplo, de acordo com o tipo de particionamento realizado no criptografador).
[00116] Além disso, conforme mostrado, em alguns exemplos, o módulo de montador de partições de previsão 207 pode incluir um módulo montador de ladrilho, unidade de codificação ou superfragmento 1303, que pode ser configurado para montar as porções de quadros montadas (por exemplo, ladrilhos, unidades de codificação ou superfragmentos) em quadros de vídeo. Os quadros de vídeo de saída do
61/108 módulo montador de partições 207 podem ser inseridos no módulo de filtração de desblocagem 208 (não mostrado, consulte a FIGURA 2) para um processamento adicional conforme discutido neste documento. Em outros exemplos, o módulo montador de ladrilho, unidade de codificação ou superfragmento 1303 pode ser implantado separadamente entre o módulo de montador de partições de previsão 207 e o módulo de filtração de desblocagem 208 (consulte a FIGURA 2).
[00117] Alguns detalhes adicionais e/ou alternativos em relação ao processo 700, 1100 e outros processos discutidos neste documento podem ser ilustrados em um ou mais exemplos das implantações discutidas neste documento e, em particular, em relação à FIGURA 14 abaixo.
[00118] As FIGURAS 14(A) e 14(B) fornecem, em conjunto, uma ilustração detalhada de um exemplo combinado de sistema de criptografia de vídeo e decodificação 1500 e o processo 1400, disposto de acordo com pelo menos algumas implantações da presente descrição. Na implantação ilustrada, o processo 1400 pode incluir uma ou mais operações, funções ou ações conforme é ilustrado por uma ou mais das ações 1401 a 1423. A título de exemplo não limitador, o processo 1400 será descrito neste documento em referência ao sistema de codificação de vídeo exemplificativo 1500 que inclui o criptografador 100 da FIGURA 1 e o decodificador 200 da FIGURA 2, conforme é discutido mais abaixo neste documento em relação à FIGURA 20. Em vários exemplos, o processo 1400 pode ser executado por um sistema que inclui tanto um criptografador quanto um decodificador ou por sistemas separados com um sistema que emprega um criptografador (e, opcionalmente, um decodificador) e outro sistema que emprega um decodificador (e, opcionalmente, um criptografador). Observa-se ainda, conforme discutido acima, que um criptografador pode incluir um ciclo de decodificação local que emprega um decodificador local como uma
62/108 parte do sistema criptografador.
[00119] Na implantação ilustrada, o sistema de codificação de vídeo 1500 pode incluir o sistema de circuito lógico 1450, similares e/ou combinações dos mesmos. Por exemplo, o sistema de circuito lógico 1450 pode incluir o criptografador 100 e pode incluir quaisquer módulos conforme discutido em relação à FIGURA 1 (ou FIGURA 17) e/ou às FIGURAS 3 a 6 e o decodificador 200 e pode incluir quaisquer módulos conforme discutido em relação à FIGURA 2 e/ou à FIGURA 18. Embora o sistema de codificação de vídeo 1500, conforme mostrado nas FIGURAS 14(A) e 14(B), possa incluir um conjunto específico de blocos ou ações associadas a módulos particulares, tais blocos ou ações podem ser associadas a módulos diferentes dos módulos específicos ilustrados neste documento. Embora o processo 1400, conforme ilustrado, seja direcionado à criptografia e descodificação, os conceitos e/ou operações descritos podem ser aplicados à criptografia e/ou decodificação separadamente e, em geral, à codificação de vídeo.
[00120] O processo 1400 pode iniciar na operação 1401, Receber Quadro de Vídeos de Entrada de uma Sequência de Vídeo, em que os quadros de vídeo de entrada de uma sequência de vídeo podem ser recebidos através do criptografador 100, por exemplo. O quadro de vídeo pode ser qualquer foto de vídeo, quadro, foto ou dados adequados ou similares para a codificação.
[00121] O processo 1400 pode continuar na operação 1402, Associar um Tipo de Foto a cada Quadro de Vídeo em um Grupo de Fotos, em que um tipo de foto pode ser associado a cada quadro de vídeo em um grupo de fotos através do módulo pré-analisador de conteúdo 102, por exemplo. Por exemplo, o tipo de foto pode ser uma foto-F/B, foto-P ou foto-l ou similares. Em alguns exemplos, uma sequência de vídeo pode incluir grupos de fotos e o processamento descrito neste
63/108 documento (por exemplo, as operações 1403 a 1411) pode ser realizado em um quadro ou foto dentre um grupo de fotos e o processamento pode ser repetido para todos os quadros ou fotos de um grupo e, em seguida, repetido para todos os grupos das fotos em uma sequência de vídeo. Ademais, o quadro de vídeo pode ser de baixa resolução ou alta resolução.
[00122] O processo 1400 pode continuar na operação 1403, Dividir uma Foto em Ladrilhos, Unidades de Codificação ou Superfragmentos, e Ladrilhos, Unidades de Codificação ou Superfragmentos em Particionamentos de Previsão Potenciais, em que uma foto pode ser dividida em ladrilhos, unidades de codificação ou superfragmentos (por exemplo, porções de quadros conforme discutido) e os ladrilhos, unidades de codificação ou superfragmentos podem ser divididos em partições de previsão potenciais através do gerador de partições de previsão 105, por exemplo. As partições de previsão potenciais podem incluir partições de árvore binária e de árvore k-d, conforme discutido neste documento. Em alguns exemplos, as partições de previsão geradas podem ser indexadas com valores de índice de partição de previsão. Por exemplo, cada uma das partições geradas (por exemplo, com base em particionamento de árvore binária ou de árvore k-d) pode ser indexadas com valores de índice 1, 2, 3, , n. Por exemplo, as partições de previsão podem ser indexadas no módulo gerador de partições 105 do criptografador 100 e as partições de previsão e a partição de previsão valor de índice podem ser transmitidas para o módulo controlador de criptografia 103.
[00123] O processo 1400 pode continuar na operação 1404, Para Combinações de Particionamentos de Previsão Candidatos, Modos de Previsão e Tipos de Referência de Previsão, Determinar os Parâmetros de Previsão, em que, para as combinações de cada um dos particionamentos de previsão potenciais (por exemplo, particionamentos
64/108 de previsão candidatos), os modos de previsão (por exemplo, intra, inter, multi, salto, auto ou divisão, conforme discutido) e os tipos de referência de previsão (por exemplo, o tipo de foto de referência de previsão-sintetizada ou modificada ou a foto original e várias combinações de versões passadas e futuras de tais fotos) a(s) previsão(ões) pode(m) ser realizada(s) e os parâmetros de previsão podem ser determinados. Por exemplo, uma faixa de particionamentos de previsão potenciais (sendo que cada um tem várias partições de previsão), modos potenciais e tipos de referência potenciais podem ser gerados e a(s) previsão(ões) associada(s), modos e tipos de referência podem ser determinados. Uma melhor combinação de tais partições de previsão, modos (por partição de previsão) e tipos de referência (por partição de previsão) podem ser determinados com o uso de uma otimização de distorção de taxa ou similares. Por exemplo, a(s) previsão(ões) pode(m) incluir previsão(ões) com o uso de previsões ou intraprevisões de múltiplas referências com base em características e movimento ou similares.
[00124] Por exemplo, para cada partição de previsão, um modo (por exemplo, intra, inter, multi, salto, auto ou divisão conforme discutido) e um tipo de referência (por exemplo, uma foto de referência escolhida dentre uma ampla faixa de opções com base em fotos decodificadas passadas, fotos decodificadas futuras e fotos com base em tais fotos decodificadas passadas e futuras que incluem fotos modificadas - por exemplo, fotos modificadas com base no ganho, registro, desfocagem ou movimento dominante - ou fotos sintetizadas - por exemplo, fotos geradas com base em fotos de referência com o uso de geração de foto de super-resolução ou geração de foto de trajetória de projeção. Por exemplo, as tabelas a seguir ilustram modos exemplificativos e os tipos de referência exemplificativos disponíveis em tais modos. Outros exemplos podem ser usados. De qualquer maneira, para cada partição
65/108 de previsão, um indicador de modo de previsão (por exemplo, que indica um modo selecionado para a partição de previsão) e um indicador do tipo de referência (por exemplo, que indica um tipo de foto de referência, se for necessário) podem ser gerados e criptografados em uma corrente de bits.
Número Modo de Partição de Previsão
0 Intra
1 Salto
2 Divisão
3 Auto
4 Inter
5 Multi
TABELA 3: MODOS DE PARTIÇÃO DE PREVISÃO DE EXEMPLO
Número Tipos de Referência
0 MROn (= SRO passada)
1 MR1n
2 MR2n
3 MR3n
4 MR5n (SR1 Passada)
5 MR6n (SR2 Passada)
6 MR7n (SR3 Passada)
7 MROd
8 MROg
TABELA 4: TIPOS DE FOTO DE REFERÊNCIA DE EXEMPLO PARA
FOTOS-P NO INTERMODO
Número Tipos de Referência
0 MROn
1 MR7n (= F proj.)
2 MR3n (= SRO futura)
3 MR1n
4 MR4n (SR1 futura)
5 MR5n (SR2 Futura)
6 MR6n (SR3 Futura)
7 MROd
8 MR3d
9 MR0g/MR3g
TABELA 4: TIPOS DE FOTO DE REFERÊNCIA DE EXEMPLO PARA
FOTOS-F/B NO INTERMODO
66/108 [00125] Nas Tabelas 3 e 4, a nomenclatura para designar os Tipos de Foto de Referência ocorre da seguinte forma: o MR dianteiro significa Múltiplas Referências, SR significa Super-Resolução e F significa futura, o número seguinte indica um contador para a referência, sendo que 0 indica imediatamente anterior, 1 o anterior seguinte, 2 o anterior seguinte, 3 o anterior seguinte, 4 a primeira futura, 5 foto de superresolução recém-gerada com base em 1, 6 foto de super-resolução recém-gerada com base em 2, 7 foto de super-resolução recémgerada com base em 3 e a letra minúscula seguinte indica n para nenhuma alteração, g para modificação com base em ganho, d para modificação com base em movimento dominante e b para modificação com base em desfocagem. Conforme discutido, as referências fornecidas nas Tabelas 3 e 4 fornecem apenas referências exemplificativas (por exemplo, nem todas as combinações matematicamente possíveis) e, por exemplo, apenas as combinações mais vantajosas das referências com base no tipo de foto e modo. Tais combinações podem gerar um livro de códigos através do qual o criptografador e o decodificador podem comunicar a referência escolhida dentre os tipos disponíveis.
[00126] Conforme discutido, em alguns exemplos, a interprevisão pode ser realizada. Em alguns exemplos, até 4 fotos decodificadas passadas e/ou futuras e diversas previsões de modificação/síntese podem ser usadas para gerar uma grande quantidade de tipos de referência (por exemplo, fotos de referência). Por exemplo no modo ‘inter’, até 9 tipos de referências podem ser suportados nas fotos-P (cujo exemplo é fornecido na Tabela 3) e até 10 tipos de referência podem ser suportadas para as fotos-F/B (cujo exemplo é fornecido na Tabela
4). Ademais, o modo ‘multi’ pode fornecer um tipo de intermodo de previsão em que, em vez de 1 foto de referência, 2 fotos de referência podem ser usadas e as fotos-P e as fotos-F/B, respectivamente, podem permitir 3 e até 8 tipos de referência. Por exemplo, a previsão po
67/108 de ser baseada em um quadro decodificado anteriormente gerado com o uso de pelo menos uma dentre a técnica de modificação e a técnica de sintetização. Em tais exemplos, a corrente de bits (discutida abaixo em relação à operação 1412) pode incluir uma referência de quadro, parâmetros de modificação ou parâmetros de sintetização associados à partição de previsão. A combinação de partições geradas previstas com o uso de 2 (por exemplo, multi) referências pode ser baseada em uma média, uma média ponderada ou similares.
[00127] O processo 1400 pode continuar na operação 1405, Para cada Particionamento de Previsão Candidato, Determinar Partições Previstas Reais Usadas para Gerar Partições de Dados de Erro de Previsão, em que, para cada particionamento de previsão candidato, as partições previstas reais podem ser geradas. Por exemplo, para cada particionamento de previsão candidato e modos e tipos de referência (e partições associadas de previsão, previsão(ões) e parâmetros de previsão), um erro de previsão pode ser determinado. Por exemplo, determinar o erro de previsão potencial pode incluir diferenciar os pixels originais (por exemplo, dados de pixels originais de uma partição de previsão) dos pixels de previsão. Conforme discutido, em alguns exemplos, a partição de dados de erro de previsão pode incluir dados de erro de previsão gerados com base, pelo menos em parte, em um quadro decodificado anteriormente gerado com o uso de pelo menos uma dentre uma técnica de modificação ou uma técnica de sintetização.
[00128] O processo 1400 pode continuar na operação 1406, Selecionar o Melhor Particionamento de Previsão e Tipo de Previsão e Salvar os Modos de Previsão, Tipos de Referência de Previsão e Parâmetros de Previsão Correspondentes, em que um particionamento de previsão e tipo de previsão pode ser selecionado e os parâmetros associados (por exemplo, modos de previsão, tipos de referência e
68/108 parâmetros) podem ser salvos para a criptografia na corrente de bits. Em alguns exemplos, o particionamento de previsão potencial, em que um erro de previsão mínimo pode ser selecionado. Em alguns exemplos, o particionamento de previsão potencial pode ser selecionado com base em uma otimização de distorção de taxa (RDO). Em alguns exemplos, os parâmetros associados de previsão podem ser armazenados e criptografados na corrente de bits conforme discutido para a transmissão para e uso por um decodificador.
[00129] O processo 1400 pode continuar na operação 1407, Realizar Transformações Fixas Adaptativas ao Conteúdo com Vários Tamanhos de Blocos em Vários Particionamentos de Codificação Potenciais de Dados de Erro de Previsão de Partição, em que as transformações fixas ou adaptativas ao conteúdo com vários tamanhos de bloco podem ser realizadas em vários particionamentos de codificação potenciais dos dados de erro de previsão de partição. Por exemplo, os dados de erro de previsão de partição podem ser particionados para gerar uma pluralidade de particionamentos de codificação potenciais de partições de codificação. Por exemplo, os dados de erro de previsão de partição podem ser particionados por um módulo particionador de codificação de árvore binária ou um módulo particionador de codificação de árvore k-d do módulo gerador de partições de codificação 107 conforme discutido neste documento. Em alguns exemplos, os dados de erro de previsão de partição associados a uma foto-F/B ou foto-P podem ser particionados por um módulo particionador de codificação de árvore binária. Em alguns exemplos, os dados de vídeo associados a uma foto-l (por exemplo, ladrilhos ou unidades de codificação ou superfragmentos em alguns exemplos) podem ser particionados por um módulo particionador de codificação de árvore k-d. Em alguns exemplos, um módulo particionador de codificação pode ser escolhido ou selecionado através de um comutador ou comutadores. Por
69/108 exemplo, as partições podem ser geradas pelo módulo gerador de partições de codificação 107. Conforme discutido, em alguns exemplos, é possível determinar se as partições de dados de erros de previsão ou residuais exigem criptografia. Por exemplo, se o resíduo for maior ou igual a um limiar (por exemplo, um limiar predefinido ou um limiar heuristicamente determinado ou similares), pode-se considerar que o resíduo pode ser considerado exija criptografia. Se o resíduo for menor que o limiar, pode-se considerar que o resíduo não exija criptografia. Por exemplo, é possível determinar que um resíduo individual exija criptografia.
[00130] Os particionamentos de codificação e várias combinações de transformações fixas e adaptativas realizadas nos particionamentos de codificação podem ser usados para determinar um particionamento de codificação ideal ou selecionado e transformações associadas com base em uma otimização de distorção de taxa ou similares, conforme discutido abaixo. Em alguns exemplos, as partições geradas de codificação (por exemplo, com base no particionamento de árvore k-d) podem ser, cada uma, indexadas com valores de índice 1, 2, 3, ... , m. Por exemplo, as partições de codificação podem ser indexadas no módulo gerador de partições de codificação 107 do criptografador 100. As partições geradas de codificação e os valores associados de índice de partição de codificação podem ser transmitidos para um controlador de criptografia 103.
[00131] *lncompleto O processo 1400 pode continuar na operação 1408, Determinar o Melhor Particionamento de Codificação, Tamanho de Blocos de Transformação e Transformação Real, em que o melhor particionamento de codificação, tamanhos de bloco de transformação e transformações reais podem ser determinados. Por exemplo, vários particionamentos de codificação (por exemplo, que têm várias partições de codificação) podem ser avaliados com base na RDO ou com
70/108 base em outra coisa para determinar um particionamento de codificação selecionado (que também pode incluir uma divisão adicional de partições de codificação em blocos de transformação quando as partições de codificação não correspondem um tamanho de bloco de transformação conforme discutido). Por exemplo, a transformação real (ou transformação selecionada) pode incluir qualquer transformação adaptativa ao conteúdo ou transformação fixa realizada na partição de codificação ou tamanhos de bloco conforme descrito neste documento. O particionamento de codificação selecionado pode ser codificado através de indicadores de partição de codificação ou palavras-código de partição de codificação conforme discutido neste documento para a criptografia na corrente de bits. De modo similar, as transformações escolhidas podem ser codificadas com o uso de um livro de códigos ou indicadores ou similares e criptografada no [00132] O processo 1400 pode continuar na operação 1409, Quantizer e Submeter à Varredura os Coeficientes de Transformação, em que os coeficientes de transformação associados às partições de codificação (e/ou blocos de transformação; por exemplo, os coeficientes de transformação gerados pelas transformações selecionadas com base no particionamento de codificação selecionado) podem ser quantizados e submetidos à varredura em preparação para a codificação por entropia.
[00133] O processo 1400 pode continuar na operação 1410, Reconstruir os Dados de Pixel, Montar em uma Foto e Salvar em Armazenamentos Temporários de Foto de Referência, em que os dados de pixel podem ser reconstruídos, montados em uma foto e salvos em armazenamentos temporários de foto de referência. Por exemplo, após um ciclo de decodificação local (por exemplo, que inclui a varredura inversa, transformação inversa e a montagem de partições de codificação), as partições de dados de erros de previsão podem ser
71/108 geradas. As partições de dados de erros de previsão podem ser adicionadas com uma partição de previsão para gerar partições de previsão reconstruídas, que podem ser montadas em ladrilhos, unidades de codificação ou superfragmentos. Os ladrilhos, unidades de codificação ou superfragmentos montados podem ser opcionalmente processados através de filtração de desblocagem e/ou filtração de restauração de qualidade e montados para gerar uma foto. A foto pode ser salva no armazenamento temporário de foto decodificada 119 como uma foto de referência (conforme discutido) para a previsão de outras fotos (por exemplo, seguintes).
[00134] O processo 1400 pode continuar na operação 1411, Criptografar por Entropia os Dados Associados a Cada Ladrilho, Unidade de Codificação ou Superfragmento, em que os dados associados a cada ladrilho, unidade de codificação ou superfragmento podem ser criptografados por entropia. Por exemplo, os dados associados a cada ladrilho, unidade de codificação ou superfragmento de cada foto de cada grupo de fotos de cada sequência de vídeo podem ser criptografados por entropia. Os dados criptografados por entropia podem incluir os dados (por exemplo, dados de interprevisão ou intraprevisão) associados às partições de previsão (por exemplo, indicadores de codificação de previsão ou palavras-código), dados de modos, dados de tipos de referência, parâmetros de previsão, vetores de movimento, dados que definem partições de codificação (por exemplo, indicadores de partição de codificação ou palavras-código), dados de tamanho de bloco para realizar transformações selecionadas, dados de tipo de transformação (que indicam as transformações selecionadas), um quantizador (Qp; que indica uma granularidade da quantização) e coeficientes de transformação quantizados.
[00135] O processo 1400 pode continuar na operação 1412, Gerar Corrente de Bits em que uma corrente de bits pode ser gerada com
72/108 base nos dados criptografados por entropia. Conforme discutido, em alguns exemplos, a corrente de bits pode incluir uma referência de quadro ou foto (por exemplo, dados que indicam um tipo de foto ou quadro), os dados (por exemplo, dados de interprevisão ou intraprevisão) associados às partições de previsão (por exemplo, indicadores de codificação de previsão ou palavras-código), dados de modos, dados de tipos de referência, parâmetros de previsão (por exemplo, parâmetros de modificação ou parâmetros de sintetização associados aos tipos de referência), vetores de movimento, dados que definem as partições de codificação (por exemplo, indicadores de partição de codificação ou palavras-código), dados de tamanho de bloco para realizar as transformações selecionadas, dados de tipo de transformação (que indicam as transformações selecionadas), um quantizador (Qp; que indica uma granularidade da quantização) e coeficientes de transformação quantizados associados a uma partição de previsão.
[00136] O processo 1400 pode continuar na operação 1413, Transmitir Corrente de Bits, em que a corrente de bits pode ser transmitida. Por exemplo, o sistema de codificação de vídeo 2000 pode transmitir a corrente de bits de saída 111, a corrente de bits 1400 ou similares através de uma antena 2002 (consulte a FIGURA 20).
[00137] As operações 1401 a 1413 podem fornecer técnicas de criptografia de vídeo e de transmissão de corrente de bits, que podem ser empregadas por um sistema criptografador conforme discutido neste documento. As seguintes operações, as operações 1414 a 1423, podem fornecer técnicas de decodificação de vídeo e exibição de vídeo, que podem ser empregadas por um sistema decodificador conforme discutido neste documento.
[00138] O processo 1400 pode continuar na operação 1414, Receber Corrente de Bits, em que a corrente de bits pode ser recebida. Por exemplo, a corrente de bits de entrada 201, a corrente de bits 1400 ou
73/108 similares podem ser recebidas através do decodificador 200. Em alguns exemplos, a corrente de bits pode incluir dados associados a uma partição de codificação, um ou mais indicadores, dados que definem partição(ões) de codificação, dados de previsão e/ou dados que definem partição(ões) de previsão conforme discutido acima. Em alguns exemplos, a corrente de bits pode incluir os dados (por exemplo, dados de interprevisão ou intraprevisão) associados às partições de previsão, dados que definem as partições de previsão e os dados associados a uma partição de dados de erro de previsão individual. Em alguns exemplos, a corrente de bits pode incluir uma referência de quadro ou foto (por exemplo, dados que indicam um tipo de foto ou quadro), os dados (por exemplo, dados de interprevisão ou intraprevisão) associados às partições de previsão (por exemplo, indicadores de codificação de previsão ou palavras-código), dados de modos, tipos de referência dados, parâmetros de previsão (por exemplo, parâmetros de modificação ou parâmetros de sintetização associados aos tipos de referência), vetores de movimento, dados que definem as partições de codificação (por exemplo, indicadores de partição de codificação ou palavras-código), dados de tamanho de bloco para realizar transformações selecionadas, dados de tipo de transformação (que indicam as transformações selecionadas), um quantizador (Qp; que indica uma granularidade da quantização) e coeficientes de transformação quantizados associados a uma partição de previsão, [00139] O processo 1400 pode continuar na operação 1415, Decodificar Corrente de Bits, em que a corrente de bits recebida pode ser decodificada através de módulo decodificador de entropia adaptativa 202, por exemplo. Por exemplo, a corrente de bits recebida pode ser decodificada por entropia para determinar o particionamento de previsão, os parâmetros de previsão, o particionamento de codificação selecionado, os dados de características selecionadas, dados de vetor
74/108 de movimento, coeficientes de transformação quantizados, parâmetros de filtro, dados de seleção (tal como os dados de seleção de modo), indicadores, os dados (por exemplo, os dados de interprevisão ou intraprevisão) associados às partições de previsão, dados que definem as partições de previsão e os dados associados a uma partição de dados de erro de previsão individual ou similares. Em alguns exemplos, a corrente de bits pode ser decodificada para determinar uma referência de quadro ou foto (por exemplo, os dados que indicam um tipo de foto ou quadro), os dados (por exemplo, dados de interprevisão ou intraprevisão) associados às partições de previsão (por exemplo, indicadores de codificação de previsão ou palavras-código), dados de modos, tipos de referência dados, parâmetros de previsão (por exemplo, parâmetros de modificação ou parâmetros de sintetização associados aos tipos de referência), vetores de movimento, dados que definem as partições de codificação (por exemplo, indicadores de partição de codificação ou palavras-código), dados de tamanho de bloco para realizar as transformações selecionadas, dados de tipo de transformação (que indicam as transformações selecionadas), um quantizador (Qp; que indica uma granularidade de quantização) e/ou coeficientes de transformação quantizados associados a uma partição de previsão.
[00140] O processo 1400 pode continuar na operação 1416, Realizar Varredura Inversa e Quantização Inversa em Cada Bloco de Cada Partição de Codificação, em que uma varredura inversa e uma quantização inversa podem ser realizadas em cada bloco de cada partição de codificação para a partição de previsão que é processada. Por exemplo, a varredura inversa e a quantização inversa podem ser realizadas através do módulo de quantização inversa adaptativa 203.
[00141] O processo 1400 pode continuar na operação 1417, Realizar Transformação Inversa Fixa ou Adaptativa ao Conteúdo para Decodificar os Coeficientes de Transformação para Determinar as Parti
75/108 ções de Dados de Erro de Previsão Decodificados, em que uma transformação inversa fixa ou adaptativa ao conteúdo pode ser realizada para decodificar os coeficientes de transformação para determinar as partições de dados de erros de previsão decodificadas. Por exemplo, a transformação inversa pode incluir uma transformação inversa adaptativa ao conteúdo, tal como uma transformação inversa de Haar paramétrica híbrida, tal como a transformação inversa de Haar paramétrica híbrida pode incluir uma transformação inversa de Haar paramétrica em uma direção da direção paramétrica de transformação e uma transformação inversa de cosseno distinto em uma direção ortogonal em relação à direção paramétrica de transformação. Em alguns exemplos, a transformação inversa fixa pode incluir uma transformação inversa de cosseno distinto ou uma aproximação de transformação inversa de cosseno distinto. Por exemplo, a transformação fixa ou adaptativa ao conteúdo pode ser realizada através do módulo de transformação inversa adaptativa 204. Conforme discutido, a transformação inversa adaptativa ao conteúdo pode ser baseada em outros dados decodificados anteriormente, tal como, por exemplo, partições ou blocos vizinhos decodificados. Em alguns exemplos, gerar as partições de dados de erros de previsão decodificadas pode incluir montar partições de codificação decodificadas através de módulo de montador de partições de codificação 205.
[00142] O processo 1400 pode continuar na operação 1418, Gerar Partições Previstas (Dados de Pixel) para Cada Partição de Previsão, em que os dados de pixel de previsão (por exemplo, uma partição prevista) podem ser gerados para cada partição de previsão. Por exemplo, os dados de pixel de previsão podem ser gerados com o uso do modo selecionado de previsão e o tipo de referência (por exemplo, com base em características e movimento ou intra ou outros tipos; e com base em várias fotos de referência decodificadas, modificadas
76/108 e/ou sintetizadas conforme discutido) e parâmetros associados de previsão (por exemplo, parâmetros de modificação ou sintetização, se for necessário).
[00143] O processo 1400 pode continuar na operação 1419, Adicionar a Cada Partição de Erro de Previsão Decodificada a Partição Prevista Correspondente para Gerar a Partição de Previsão Reconstruída, em que cada partição de erro de previsão decodificada (por exemplo, que inclui zero partições de erro de previsão) pode ser adicionada à partição prevista correspondente para gerar uma partição de previsão reconstruída. Por exemplo, as partições previstas podem ser geradas através do ciclo de decodificação ilustrado na FIGURA 2 e adicionadas através do adicionador 206 às partições de erro de previsão decodificadas.
[00144] O processo 1400 pode continuar na operação 1420, Montar Partições de Previsão Reconstruídas para Gerar Ladrilhos, Unidades de Codificação ou Superfragmentos Decodificados, em que as partições de previsão reconstruídas podem ser montadas para gerar ladrilhos, unidades de codificação ou superfragmentos decodificados. Por exemplo, as partições reconstruídas podem ser montadas para gerar ladrilhos, unidades de codificação ou superfragmentos decodificados através do módulo de montador de partições de previsão 207.
[00145] O processo 1400 pode continuar na operação 1421, Aplicar Filtração de Desblocagem e/ou Filtração de QR para Gerar Ladrilhos, Unidades de Codificação ou Superfragmentos Decodificados Finais, em que a filtração de desblocagem e/ou filtração de restauração de qualidade opcionais podem ser aplicadas aos ladrilhos, unidades de codificação ou superfragmentos decodificados para gerar ladrilhos, unidades de codificação ou superfragmentos decodificados finais. Por exemplo, a filtração de desblocagem opcional pode ser aplicada através do módulo de filtração de desblocagem 208 e/ou a filtração de res
77/108 tauração de qualidade opcional pode ser aplicada através do módulo de filtração de restauração de qualidade 209.
[00146] O processo 1400 pode continuar na operação 1422, Montar Ladrilhos, Unidades de Codificação ou Superfragmentos Decodificados para Gerar uma Foto de Vídeo Decodificado e Salvar nos Armazenamentos Temporários de Foto de Referência, em que os ladrilhos, unidades de codificação ou superfragmentos decodificados (ou decodificados finais) podem ser montados para gerar uma foto de vídeo decodificado e a foto de vídeo decodificado pode ser salva nos armazenamentos temporários de foto de referência (por exemplo, armazenamento temporário de foto decodificada 210) para uso em uma previsão futura.
[00147] O processo 1400 pode continuar na operação 1423, Transmitir Quadro de Vídeos Decodificados para a Apresentação Através de um Dispositivo de Exibição, em que os quadros de vídeo decodificados podem ser transmitidos para a apresentação através de um dispositivo de exibição. Por exemplo, as fotos de vídeo decodificado podem ser adicionalmente processadas através do reorganizador de foto adaptativo 217 e o módulo pós-restaurador de conteúdo 218 e transmitidas para um dispositivo de exibição como os quadros de vídeo do vídeo de exibição 219 para a apresentação a um usuário. Por exemplo, o(s) quadro(s) de vídeo pode(m) ser transmitido(s) para um dispositivo de exibição 2005 (conforme mostrado na FIGURA 20) para a apresentação.
[00148] Embora a implantação dos processos exemplificativos neste documento possa incluir a execução de todas as operações mostradas na ordem ilustrada, a presente descrição não se limita nesse sentido e, em vários exemplos, a implantação dos processos exemplificativos neste documento pode incluir a execução de apenas um subconjunto das operações mostradas e/ou em uma ordem diferente da ilus78/108 trada.
[00149] Além disso, qualquer uma ou mais das operações discutidas neste documento pode ser executada em resposta às instruções fornecidas por uma ou mais produtos de programa de computador. Tais produtos de programa podem incluir instruções que fornecem meios que suportam sinal que, quando executadas, por exemplo, por um processador, podem fornecer a funcionalidade descrita neste documento. Os produtos de programa de computador podem ser fornecidos sob qualquer forma de um ou mais meios legíveis por máquina. Dessa forma, por exemplo, um processador que inclui um ou mais núcleos de processador podem executar uma ou mais das operações dos processos exemplificativos neste documento em resposta ao código de programa e/ou instruções ou conjuntos de instruções transportadas para o processador através de um ou mais meios legíveis por máquina. De modo geral, um meio legível por máquina pode transportar software na forma de código de programa e/ou instruções ou conjuntos de instruções que podem fazer com que qualquer um dos dispositivos e/ou sistemas descritos neste documento implantem pelo menos porções dos sistemas de vídeo conforme discutido neste documento.
[00150] Conforme usado em qualquer implantação descrita neste documento, o termo módulo se refere a qualquer combinação de lógica de software, lógica de firmware e/ou lógica de hardware configuradas para fornecer a funcionalidade descrita neste documento. O software pode ser incorporado como um pacote de software, código e/ou conjunto de instruções ou instruções e hardware, conforme usado em qualquer implantação descrita neste documento, pode incluir, por exemplo, unicamente ou em qualquer combinação, conjunto de circuitos conectado fisicamente, conjunto de circuitos programáveis, conjunto de circuitos de máquina de estado e/ou firmware que armazena as
79/108 instruções executadas pelo conjunto de circuitos programáveis. Os módulos podem, coletiva ou individualmente, ser incorporados como conjunto de circuitos que forma parte de um sistema maior, por exemplo, um circuito integrado (IC), sistema em placa (SoC) e assim por diante. Por exemplo, um módulo pode ser incorporado no conjunto de circuitos lógicos para a implantação através de software, firmware ou hardware do sistema de codificação conforme discutido neste documento.
[00151] A FIGURA 15 é um diagrama ilustrativo do sistema de codificação de vídeo exemplificativo 1500, disposto de acordo com pelo menos algumas implantações da presente descrição. Na implantação ilustrada, o sistema de codificação de vídeo 1500 pode incluir o(s) dispositivo(s) de imageamento 1501, codificador de vídeo 100 e/ou um codificador de vídeo implantado através de conjunto de circuitos lógicos 1450 de unidade(s) de processamento 1520, uma antena 1502, um ou mais processador(es) 1503, um ou mais armazenamento(s) de memória 1504, e/ou a dispositivo de exibição 1505.
[00152] Conforme ilustrado, dispositivo(s) de imageamento 1501, antena 1502, unidade(s) de processamento 1520, conjunto de circuitos lógicos 1450, codificador de vídeo 100, decodificador de vídeo 200, processador(es) 1503, armazenamento(s) de memória 1504 e/ou dispositivo de exibição 1505 pode ter a capacidade de comunicação entre si. Conforme discutido, muito embora seja ilustrado tanto com o codificador de vídeo 100 quanto com o decodificador de vídeo 200, o sistema de codificação de vídeo 1500 pode incluir apenas o codificador de vídeo 100 ou apenas o decodificador de vídeo 200 em vários exemplos.
[00153] Conforme mostrado, em alguns exemplos, o sistema de codificação de vídeo 1500 pode incluir a antena 1502. A antena 1502 pode ser configurada para transmitir ou receber uma corrente de bits
80/108 codificada de dados de vídeo, por exemplo. Ademais, em alguns exemplos, o sistema de codificação de vídeo 1500 pode incluir dispositivo de exibição 1505. O dispositivo de exibição 1505 pode ser configurado para apresentar os dados de vídeo. Conforme mostrado, em alguns exemplos, o conjunto de circuitos lógicos 1450 pode ser implantado através de unidade(s) de processamento 1520. A(s) unidade(s) de processamento 1520 pode incluir lógica de circuito integrado para aplicação específica (ASIC), processador(es) gráfico(s), processadores) de uso geral ou similares. O sistema de codificação de vídeo 1500 também pode incluir processador(es) opcional(is) 1503, que pode(m) incluir, de maneira semelhante, a lógica de circuito integrado para aplicação específica (ASIC), processador(es) gráfico(s), processadores) de uso geral ou similares. Em alguns exemplos, o conjunto de circuitos lógicos 1450 pode ser implantado através de hardware ou hardware de codificação de vídeo dedicado ou similares e os processadoras) 1503 pode(m) ser implantados em software de propósito geral ou sistemas operacionais ou similares. Além disso, os armazenamentos de memória 1504 podem ser qualquer tipo de memória tal como memória volátil (por exemplo, Memória de Acesso Aleatório Estático (SRAM), Memória de Acesso Aleatório Dinâmico (DRAM), etc.) ou memória não volátil (por exemplo, memória rápida, etc.) e assim por diante. Em um exemplo não limitante, os armazenamentos de memória 1504 podem ser implantados por memória cache. Em alguns exemplos, o conjunto de circuitos lógicos 1450 pode acessar os armazenamentos de memória 1504 (para a implantação de um armazenamento temporário de foto, por exemplo). Em outros exemplos, o conjunto de circuitos lógicos 1450 e/ou a(s) unidade(s) de processamento 1520 podem incluir armazenamentos de memória (por exemplo, cache ou similares) para a implantação de um armazenamento temporário de foto ou similares.
81/108 [00154] Em alguns exemplos, o codificador de vídeo 100 implantado através de conjunto de circuitos lógicos pode incluir um armazenamento temporário de foto (por exemplo, através ou da(s) unidade(s) de processamento 1520 ou do(s) armazenamento(s) de memória 1504)) e uma unidade de processamento de gráfico (por exemplo, através de unidade(s) de processamento 1520). A unidade de processamento de gráfico pode ser acoplada comunicativamente ao armazenamento temporário de foto. A unidade de processamento de gráfico pode incluir o codificador de vídeo 100 conforme implantado através de conjunto de circuitos lógicos 1450 para incorporar os vários módulos, conforme discutido em relação à FIGURA 1 e à FIGURA 12. Por exemplo, a unidade de processamento de gráfico pode incluir o sistema de circuitos de lógica de gerador de partições de previsão, conjunto de circuitos lógicos de organizador de foto adaptativo, sistema de lógica de interprevisão, conjunto de circuitos lógicos de geração de compensação de movimento, sistema de circuito de lógica de diferenciação, conjunto de circuitos lógicos de gerador de subpartições, sistema de circuito de lógica de transformação adaptativa, sistema de circuito de lógica de codificador de entropia adaptativa e assim por diante. O conjunto de circuitos lógicos pode ser configurado para realizar as várias operações conforme discutido neste documento. Por exemplo, o sistema de circuitos de lógica de gerador de partições de previsão pode ser configurado para receber um quadro de vídeo, segmentar o quadro de vídeo em uma pluralidade de ladrilhos ou unidade de codificação ou superfragmentos, determinar uma técnica de particionamento de previsão escolhida para pelo menos um ladrilho, unidade de codificação ou superfragmento tal que a técnica de particionamento de previsão escolhida compreende pelo menos uma dentre uma técnica de particionamento de árvore binária ou uma técnica de particionamento de árvore k-d e partição do pelo menos um ladrilho, unidade de codificação ou
82/108 superfragmento em uma pluralidade de partições de previsão com ο uso da técnica de particionamento escolhida. O decodificador de vídeo 200 pode ser implantado de uma maneira similar.
[00155] Em alguns exemplos, a antena 1502 do sistema de codificação de vídeo 1500 pode ser configurado para receber uma corrente de bits codificada de dados de vídeo. O sistema de codificação de vídeo 1500 também pode incluir o decodificador de vídeo 200 acoplado à antena 1502 e configurado para decodificar a corrente de bits codificada. Por exemplo, o decodificador de vídeo 200 pode ser configurado para decodificar por entropia a corrente de bits codificada para determinar os dados de interprevisão associados a uma primeira partição de previsão, dados que definem a primeira partição de previsão, dados de intraprevisão associados a uma segunda partição de previsão e dados que definem a segunda partição de previsão de tal modo que a primeira partição de previsão compreenda a partição de árvore binária e a segunda partição de previsão compreenda a partição de árvore kd, para realizar a compensação de movimento para a primeira partição de previsão com base, pelo menos em parte, nos dados de interprevisão, realizar a intraprevisão para a segunda partição individual com base, pelo menos em parte, nos dados de intraprevisão, gerar um primeiro quadro de vídeo decodificado com base pelo menos em parte na compensação de movimento e transmitir o primeiro e o segundo quadros de vídeo decodificados para a apresentação através de um dispositivo de exibição.
[00156] Nas modalidades, os recursos descritos neste documento podem ser realizados em resposta às instruções fornecidas por um ou mais produtos de programa de computador. Tais produtos de programa podem incluir instruções que fornecem meios que suportam sinal que, quando executadas por, por exemplo, um processador, pode fornecer a funcionalidade descrita neste documento. Os produtos de pro
83/108 grama de computador podem ser fornecidos em qualquer forma de um ou mais meios legíveis por máquina. Assim, por exemplo, um processador que inclui um ou mais núcleo(s) de processador pode executar um ou mais recursos descritos neste documento em resposta ao código de programa e/ou instruções ou conjuntos de instruções conduzidas para o processador por meio de um ou mais meios legíveis por máquina. Em geral, um meio legível por máquina pode conduzir o software na forma de código de programa e/ou instruções ou conjuntos de instruções que podem fazer com que qualquer um dos dispositivos e/ou sistemas descritos neste documento para implantar pelo menos porções dos recursos descritos neste documento.
[00157] A FIGURA 16 é um diagrama ilustrativo de um sistema exemplificativo 1600, disposto de acordo com pelo menos algumas implantações da presente descrição. Em várias implantações, o sistema 1600 pode ser um sistema de meios embora o sistema 1600 não seja limitado a esse contexto. Por exemplo, o sistema 1600 pode ser incorporado em um computador pessoal (PC), computador do tipo laptop, computador do tipo ultralaptop, computador do tipo tablet, elemento sensível ao toque, computador portátil, computador de mão, computador do tipo palmtop, assistente digital pessoal (PDA), telefone celular, combinação de telefone celular/PDA, televisão, dispositivo inteligente (por exemplo, telefone inteligente, computador do tipo tablet inteligente ou televisão inteligente), dispositivo de internet móvel (MID), dispositivo de mensagem, dispositivo de comunicação de dados, câmeras (por exemplo, câmeras de apontar e disparar, câmeras com superzoom, câmeras de reflexo de lente única digital (DSLR) ) e assim por diante.
[00158] Em várias implantações, o sistema 1600 inclui uma plataforma 1602 acoplada a um visor 1620. A plataforma 1602 pode receber o conteúdo de um dispositivo de conteúdo tal como dispositivo(s)
84/108 de serviço de conteúdo 1630 ou dispositivo(s) de entrega de conteúdo 1640 ou outras fontes de conteúdo similares. Um controlador de navegação 1650 que inclui um ou mais recursos de navegação pode ser usado para interagir, por exemplo, com a plataforma 1602 e/ou o visor 1620. Cada um desses componentes é descrito em mais detalhes abaixo.
[00159] Em várias implantações, a plataforma 1602 pode incluir qualquer combinação de um conjunto de circuitos integrados 1605, processador 1610, memória 1612, antena 1613, armazenamento 1614, subsistema gráfico 1615, aplicativos 1616 e/ou rádio 1618. O conjunto de circuitos integrados 1605 podem fornecer a intercomunicação dentre o processador 1610, memória 1612, armazenamento 1614, subsistema gráfico 1615, aplicativos 1616 e/ou rádio 1618. Por exemplo, o conjunto de circuitos integrados 1605 pode incluir um adaptador de armazenamento (não representado) com capacidade de fornecer a intercomunicação com o armazenamento 1614.
[00160] O processador 1610 pode ser implantado como um processador de Computador de Conjunto de Instruções Complexas (CISC) ou um de Computador de Conjunto de Instruções Reduzidas (RISC), processadores compatíveis com conjunto de instruções x86, múltiplos núcleos ou qualquer outro microprocessador ou unidade de processamento central (CPU). Em várias implantações, o processador 1610 pode ser processador(es) de núcleo duplo, processador(es) móvel de núcleo duplo e assim por diante.
[00161] A memória 1612 pode ser implantada como um dispositivo de memória volátil tal como, mas sem limitação, uma Memória De Acesso Aleatório (RAM), Memória de Acesso Aleatório Dinâmico (DRAM) ou RAM Estática (SRAM).
[00162] O armazenamento 1614 pode ser implantado como um dispositivo de armazenamento não volátil tal como, mas sem limitação,
85/108 uma unidade de disco magnético, unidade de disco óptico, unidade de fita, um dispositivo de armazenamento interno, um dispositivo de armazenamento anexado, memória rápida, SDRAM de reserva de batería (DRAM síncrona) e/ou um dispositivo de armazenamento acessível por rede. Em várias implantações, o armazenamento 1614 pode incluir a tecnologia para aumentar a proteção intensificada por desempenho de armazenamento para os meios digitais valiosos quando diversos discos rígidos são incluídos, por exemplo.
[00163] O subsistema gráfico 1615 pode realizar o processamento de imagens tal como estáticas ou em vídeo para a exibição. O subsistema gráfico 1615 pode ser uma unidade de processamento de gráfico (GPU) ou uma unidade de processamento visual (VPU), por exemplo. Uma interface analógica ou digital pode ser usada para acoplar, de maneira comunicativa, o subsistema gráfico 1615 e o visor 1620. Por exemplo, a interface pode ser qualquer uma de uma Interface de Multimídia em Alta Definição, DisplayPort, HDMI sem fio e/ou técnicas compatíveis com a HD sem fio. O subsistema gráfico 1615 pode ser integrado no processador 1610 ou conjunto de circuitos integrados 1605. In algumas implantações, o subsistema gráfico 1615 pode ser um dispositivo independente comunicativamente acoplado ao conjunto de circuitos integrados 1605.
[00164] As técnicas de processamento de gráfico e/ou de vídeo descritas neste documento podem ser implantadas em várias arquiteturas de hardware. Por exemplo, a funcionalidade de gráfico e/ou de vídeo pode ser integrada em um conjunto de circuitos integrados. Alternativamente, um processador de gráfico e/ou de vídeo pode ser usado. Ainda em uma outra implantação, as funções de gráficos e/ou de vídeo podem ser fornecidas por um processador de uso geral, inclusive um processador de múltiplos núcleos. Em modalidades adicionais, as funções podem ser implantadas em um dispositivo eletrônico
86/108 de consumidor.
[00165] O rádio 1618 pode incluir um ou mais rádios com capacidade de transmitir e receber sinais com o uso de várias técnicas de comunicações sem fio adequadas. Tais técnicas podem envolver comunicações através de uma ou mais redes sem fio. As redes sem fio exemplificativas incluem (mas sem limitação) redes de área local sem fio (WLANs), redes de área pessoa sem fio (WPANs), rede de área metropolitana sem fio (WMANs), redes celulares e redes satélites. Na comunicação através de tais redes, o rádio 1618 pode operar de acordo com um ou mais padrões aplicáveis em qualquer versão.
[00166] Em várias implantações, o visor 1620 pode incluir qualquer monitor do tipo televisão ou visor. O visor 1620 pode incluir, por exemplo, uma tela de exibição por computador, visor de tela sensível ao toque, monitor de vídeo, dispositivo do tipo televisão e/ou uma televisão. O visor 1620 pode ser digital e/ou analógico. Em várias implantações, o visor 1620 pode ser um visor holográfico. Além disso, o visor 1620 pode ser uma superfície transparente que pode receber uma projeção visual. Tais projeções podem conduzir várias formas de informações, imagens e/ou objetos. Por exemplo, tais projeções podem ser uma superposição visual para um aplicativo de realidade aumentada móvel (MAR). Sob o controle de um ou mais aplicativos de software 1616, a plataforma 1602 pode exibir a interface de usuário 1622 no visor 1620.
[00167] Em várias implantações, o(s) dispositivo(s) de serviço de conteúdo 1630 pode(m) ser hospedados por um serviço nacional, internacional e/ou independente e, então, acessível à plataforma 1602 através da Internet, por exemplo. O(s) dispositivo(s) de serviço de conteúdo 1630 pode(m) ser acoplados à plataforma 1602 e/ou ao visor 1620. A plataforma 1602 e/ou o(s) dispositivo(s) de serviço de conteúdo 1630 pode(m) ser acoplados a uma rede 1660 para se comunicar (por exemplo, enviar e/ou receber) informações de meios para e a par
87/108 tir da rede 1660. O(s) dispositivo(s) de serviço de conteúdo 1640 pode(m) ser acoplados à plataforma 1602 e/ou ao visor 1620.
[00168] Em várias implantações, o(s) dispositivo(s) de serviço de conteúdo 1630 pode(m) incluir uma caixa de televisão a cabo, computador pessoal, rede, telefone, dispositivos habilitados para Internet ou aparelho com capacidade de entregar informações digitais e/ou conteúdo e qualquer outro dispositivo similar com capacidade de comunicar unidirecional ou bidirecionalmente o conteúdo entre provedores de conteúdo e plataforma 1602 e/visor 1620, através de rede 1660 ou diretamente. Será observado que o conteúdo pode ser comunicado unidirecional e/ou bidirecionalmente para e a partir de qualquer um dos componentes no sistema 1600 e um provedor de conteúdo através da rede 1660. Os exemplos de conteúdo podem incluir quaisquer informações de meio que incluam, por exemplo, vídeo, música, informações médicas e de jogo e assim por diante.
[00169] O(s) dispositivo(s) de serviço de conteúdo 1630 podem receber o conteúdo tal como a programação de televisão a cabo que inclui as informações de meios, informações digitais e/ou outro conteúdo. Os exemplos de provedores de conteúdo podem incluir quaisquer provedores de conteúdo de televisão a cabo ou rádio ou Internet. Os exemplos fornecidos não são destinados a limitar as implantações de acordo com a presente descrição de qualquer modo.
[00170] Em várias implantações, a plataforma 1602 pode receber sinais de controle do controlador de navegação 1650 que tem um ou mais recursos de navegação. Os recursos de navegação de controlador 1650 podem ser usados para interagir com a interface de usuário 1622, por exemplo. Em várias modalidades, o controlador de navegação 1650 pode ser um dispositivo indicador que pode ser um componente de hardware de computador (especificamente, um dispositivo de interface humana) que permite que um usuário insira dados espaciais
88/108 (por exemplo, contínuos e multidimensionais) em um computador. Diversos sistemas tal como interfaces gráficas de usuário (GUI) e televisões e monitores permitem que o usuário controle e forneça dados para o computador ou a televisão com o uso de gestos físicos.
[00171] Os movimentos dos recursos de navegação do controlador 1650 podem ser replicados em um visor (por exemplo, visor 1620) pelos movimentos de um indicador, cursor, anel de focagem ou outros indicadores visuais exibidos no visor. Por exemplo, sob o controle dos aplicativos de software 1616, os recursos de navegação localizados no controlador de navegação 1650 podem ser mapeados para os recursos de navegação virtuais exibidos na interface de usuário 1622, por exemplo. Em várias modalidades, o controlador 1650 pode não ser um componente separado, mas pode ser integrado na plataforma 1602 e/ou visor 1620. A presente descrição, no entanto, não se limita aos elementos ou no contexto mostrado ou descrito neste documento.
[00172] Em várias implantações, os acionadores (não mostrados) podem incluir uma tecnologia para possibilitar que os usuários liguem e desliguem a plataforma instantaneamente 1602, como uma televisão com o toque de um botão após uma primeira inicialização, quando habilitada, por exemplo. A lógica de programa pode permitir que a plataforma 1602 transmita através de corrente, o conteúdo para os adaptadores e mídia ou outro(s) dispositivo(s) de serviços de conteúdo 1630 ou dispositivo(s) de entrega de conteúdo 1640 mesmo quando a plataforma está desligada. Além disso, o conjunto de circuitos integrados 1605 pode incluir suporte de hardware e/ou software para áudio de som surround 5.1 e/ou áudio de som surround 7.1 de alta definição, por exemplo. Os acionadores podem incluir um acionador de gráficos para plataformas de gráficos integradas. Em várias modalidades, o acionador de gráficos pode compreender um cartão de gráfico Expresso de interconexão de componente periférico (PCI).
89/108 [00173] In várias implantações, qualquer um ou mais dos componentes mostrados no sistema 1600 podem ser integrados. Por exemplo, a plataforma 1602 e o(s) dispositivo(s) de serviços de conteúdo 1630 podem ser integrados ou a plataforma 1602 e o(s) dispositivo(s) de entrega de conteúdo 1640 podem ser integrado(s) ou a plataforma 1602, o(s) dispositivo(s) de serviços de conteúdo 1630 e o(s) dispositivo(s) de entrega de conteúdo 1640 pode(m) ser integrados, por exemplo. Em várias modalidades, a plataforma 1602 e o visor 1620 podem ser uma unidade integrada. O visor 1620 e o(s) dispositivo(s) de serviço de conteúdo 1630 podem ser integrados ou o visor 1620 e o(s) dispositivo(s) de entrega de conteúdo 1640 podem ser integrados, por exemplo. Tais exemplos não se destinam a limitar a presente descrição.
[00174] Em várias modalidades, o sistema 1600 pode ser implantado como um sistema sem fio, um sistema com fio ou uma combinação de ambos. Quando implantado como um sistema sem fio, o sistema 1600 pode incluir os componentes e interfaces adequados para se comunicar através de meios compartilhados sem fio, tais como uma ou mais antenas, transmissores, receptores, transceptores, amplificadores, filtros, lógica de controle e assim por diante. Um exemplo de meios compartilhados sem fio pode incluir as porções de um espectro sem fio, tal como o espectro de RF e assim por diante. Quando implantado como um sistema com fio, o sistema 1600 pode incluir componentes e interfaces adequados para se comunicar através de meios de comunicação com fio, tais como adaptadores de entrada/saída (I/O), conectores físicos para conectar o adaptador de I/O a um meio de comunicação com fio correspondente, um cartão de interface de rede (NIC), controlador de disco, controlador de vídeo, controlador de áudio e similares. Os exemplos de meios de comunicação com fio podem incluir um fio, cabo, condutores de metal, placa de circuito impresso (PCB),
90/108 barramento de dados, tecido comutador, material semicondutor, fio de par torcido, cabo coaxial, fibras ópticas e assim por diante.
[00175] A Platform 1602 pode estabelecer um ou mais canais lógicos ou físicos para comunicar as informações. As informações podem incluir informações de meios e informações de controle. As informações de meios podem se referir a quaisquer dados que representam o conteúdo destinado a um usuário. Os exemplos de conteúdo podem incluir, por exemplo, dados de uma conversa de voz, videoconferência, vídeo de transmissão contínua, mensagem de correio eletrônico (email), mensagem de correio de voz, símbolos alfanuméricos, gráficos, imagem, vídeo, texto e assim por diante. Os dados de uma conversa de voz podem ser, por exemplo, informações de fala, períodos de silêncio, ruído de plano de fundo, ruído de conforto, tons e assim por diante. As informações de controle podem se referir a quaisquer dados que representam comandos, instruções ou palavras de controle destinadas a um sistema automatizado. Por exemplo, as informações de controle podem ser usadas para rotear informações de meios através de um sistema ou instruir um nó a processar as informações de meios de uma maneira predeterminada. As modalidades, no entanto, não se limitam aos elementos ou no contexto mostrado ou descrito na FIGURA 16.
[00176] Conforme descrito acima, o sistema 1600 pode ser incorporado em estilos físicos variáveis ou formar fatores. A FIGURA 17 ilustra implantações de um dispositivo de fator de pequena forma 1700 em que o sistema 1700 pode ser incorporado. Em várias modalidades, por exemplo, o dispositivo 1700 pode ser implantado como um dispositivo de computação móvel que tenha capacidades sem fio. Um dispositivo de computação móvel pode se referir a qualquer dispositivo que tenha um sistema de processamento e uma fonte ou abastecimento de alimentação móvel, tal como uma ou mais baterias, por exemplo.
91/108 [00177] Conforme descrito acima, os exemplos de um dispositivo de computação móvel podem incluir um computador pessoal (PC), computador do tipo laptop, computador do tipo ultralaptop, computador do tipo tablet, touch pad, computador portátil, computador de mão, computador do tipo palmtop, assistente digital pessoal (PDA), telefone celular, combinação telefone celular/PDA, televisão, dispositivo inteligente (por exemplo, telefone inteligente, tablet inteligente ou televisão inteligente), dispositivo de internet móvel (MID), dispositivo serviço de mensagem, dispositivo de comunicação de dados, câmeras (por exemplo, câmeras do tipo point-and-shoot (apontar e disparar), câmeras de superzoom, câmeras de reflexo de lente única digital (DSLR) câmeras) e assim por diante.
[00178] Os exemplos de um dispositivo de computação móvel também podem incluir computadores que estão dispostos para serem vestidos por uma pessoa, tal como um computador de pulso, computador de dedo, computador de anel, computador de óculos, computador de fivela de cinto, computador de faixa de braço, computadores de sapato, computadores de roupas e outros computadores que podem ser vestidos. Em várias modalidades, por exemplo, um dispositivo de computação móvel pode ser implantado como um telefone inteligente que pode executar aplicativos de computador, assim como comunicações de voz e/ou comunicações de dados. Embora algumas modalidades possam ser descritas com u dispositivo de computação móvel implantado como um telefone inteligente, a título de exemplo, pode-se observar que outras modalidades podem ser implantadas, também, com o uso de outros dispositivos de computação móveis sem fio. As modalidades não se limitam nesse contexto.
[00179] Conforme mostrado na FIGURA 17, o dispositivo 1700 pode incluir um alojamento 1702, um visor 1704, um dispositivo de entrada/saída (I/O) 1706 que pode incluir a interface de usuário 1710 e uma
92/108 antena 1708. O dispositivo 1700 também pode incluir recursos de navegação 1712. O visor 1704 pode incluir qualquer unidade de exibição adequada para exibir informações adequadas para um dispositivo de computação móvel. O dispositivo de I/O 1706 pode incluir qualquer dispositivo de I/O adequado para inserir informações em um dispositivo de computação móvel. Os exemplos para o dispositivo de I/O 1706 podem incluir um teclado alfanumérico, um bloco de teclas numérico, um touch pad, teclas de inserção, botões, comutadores, comutadores oscilantes, microfones, alto-falantes, dispositivo de e software reconhecimento de voz e assim por diante. As informações também podem ser inseridas no dispositivo 1700 por meio de microfone (não mostrado). Tais informações podem ser digitalizadas por um dispositivo de reconhecimento de voz (não mostrado). As modalidades não se limitam nesse contexto.
[00180] As FIGURAS 18(A), 18(B), e 18(C) ilustram as partições de previsão e partições de codificação exemplificativas para um quadro de vídeo, dispostas de acordo com pelo menos algumas implantações da presente descrição. Conforme discutido neste documento, um quadro de vídeo pode ser particionado em partições de previsão (por exemplo, com o uso do particionamento de árvore k-d e de árvore binária) e adicionalmente particionado (em alguns exemplos) em partições de codificação (por exemplo, com o uso de particionamento de árvore binária). Por exemplo, a FIGURA 18(A) ilustra um quadro de vídeo exemplificativo 1810. O quadro de vídeo 1810 pode ser qualquer quadro de vídeo conforme discutido neste documento. No exemplo da FIGURA 18(A), o quadro de vídeo 1810 pode ser uma foto-l e submetido ao particionamento de previsão de árvore k-d. Por exemplo, o quadro de vídeo 1810 pode ser dividido ou segmentado em ladrilhos 1820-1, 1820-2, 1820-3, 1820-4 e assim sucessivamente (outros ladrilhos não estão identificados a título de clareza). Conforme discutido,
93/108 em outros exemplos, o quadro de vídeo 1810 pode ser segmentado em unidades de codificação ou superfragmentos ou similares.
[00181] De qualquer maneira, o quadro de vídeo 1810 (ou os ladrilhos, superfragmentos ou unidades de codificação do mesmo) pode ser particionado em partições de previsão 1830 (que não estão todas identificadas a título de clareza). Por exemplo, conforme mostrado, as partições de previsão 1830 podem ser partições de árvore k-d para um quadro de vídeo de foto-l 1850. Conforme discutido, as partições de previsão 1830 podem ser um particionamento exemplificativo do quadro de vídeo 1810. O quadro de vídeo 1810 pode ser particionado em qualquer quantidade de particionamentos, que podem ser avaliados, por exemplo, quanto a um melhor particionamento ou um mais eficiente, que pode ser codificado através de indicadores de partição ou palavras-código ou similares. As partições de previsão do melhor particionamento podem ser usadas como uma estrutura (ou cortes) para codificação conforme discutido neste documento (por exemplo, a geração de partições previstas de dados de pixel, partições de dados de erros de previsão (por exemplo, sinal de erro) e particionamento adicional para uma codificação (por exemplo, partições de codificação).
[00182] A FIGURA 18(B) ilustra um quadro de vídeo exemplificativo 1850. O quadro de vídeo 1850 pode ser qualquer quadro de vídeo conforme discutido neste documento. No exemplo da FIGURA 18(A), o quadro de vídeo 1850 pode ser uma foto-P ou uma foto-B/F e submetido ao particionamento de previsão de árvore binária. Por exemplo, o quadro de vídeo 1850 pode ser dividido ou segmentado em ladrilhos 1860-1, 1860-2, 1860-3 e assim sucessivamente (outros ladrilhos não são identificados a título de clareza). Conforme discutido, em outros exemplos, o quadro de vídeo 1850 pode ser segmentado em unidades de codificação ou superfragmentos ou similares. O quadro de vídeo 1850 (ou os ladrilhos, superfragmentos ou unidades de codificação do
94/108 mesmo) pode ser particionado em partições de previsão 1870 (que não são todas identificadas a título de clareza). Por exemplo, conforme mostrado, as partições de previsão 1870 podem ser porções de árvore binária para uma foto-P ou uma foto-B/F quadro de vídeo 1850. Conforme discutido, as partições de previsão 1870 podem ser um particionamento exemplificativo do quadro de vídeo 1850. O quadro de vídeo 1850 pode ser particionado em qualquer quantidade de particionamentos, que podem ser avaliados por exemplo, quanto a um melhor particionamento ou um mais eficaz, que pode ser codificado através de indicadores de partição ou palavras-código ou similares conforme discutido.
[00183] A FIGURA 18(C) ilustra um ladrilho exemplificativo 1860-3 do quadro de vídeo exemplificativo 1850. Conforme mostrado, o ladrilho 1860-3 pode ser particionado em partições de previsão 1870 (ilustradas com linhas pretas). Conforme discutido, as partições de previsão 1870 podem ser usadas para uma codificação, de modo que as partições previstas possam ser geradas associadas às partições de previsão 1870 e as partições de dados de erros de previsão possam ser geradas (por exemplo, as partições previstas podem ser diferenciadas dos dados de pixels originais para gerar as partições de dados de erros de previsão), as quais também estão associadas às partições de previsão 1870. Uma determinação pode ser realizada quanto à possibilidade de as partições de dados de erros de previsão precisarem ser codificadas e, se precisarem, as partições de dados de erros de previsão podem ser adicionalmente particionadas em partições de codificação (para uma codificação por transformação, quantização de coeficientes de transformação, e incorporação dos coeficientes de transformação quantizados em uma corrente de bits). Conforme discutido, tal particionamento em partições de codificação pode ser realizado através de uma técnica de particionamento de árvore binária. Por
95/108 exemplo, as partições de codificação exemplificativas 1880-1, 1880-2, e assim sucessivamente (ilustradas com linhas brancas; nem todas as partições de codificação foram identificadas a título de clareza) podem ser geradas com base em partições de previsão 1870 (e as partições de dados de erros de previsão associadas às partições de previsão 1870).
[00184] Conforme discutido, as partições de codificação 1880-1, 1880-2 e assim sucessivamente, podem representar um particionamento de codificação exemplificativo. Em alguns exemplos, diversos particionamentos de codificação (e muitas combinações de tipos de transformação) podem ser avaliadas para determinar um melhor particionamento de codificação ou um mais eficaz (e tipos de transformação e tamanho associados). As partições de codificação associadas ao particionamento de codificação selecionado podem ser codificadas através de indicadores de partição de codificação ou palavras-código ou similares e criptografadas através de uma corrente de bits. Ademais, as partições de codificação podem ser usadas para codificar por transformação as partições de codificação das partições de dados de erros de previsão para gerar coeficientes de transformação, que podem ser quantizados e criptografados por entropia na corrente de bits para uso em um decodificador, por exemplo.
[00185] Várias modalidades podem ser implantadas com o uso de elementos de hardware, elementos de software ou uma combinação de ambos. Os exemplos de elementos de hardware podem incluir processadores, microprocessadores, circuitos, elementos de circuito (por exemplo, transistores, resistores, capacitores, indutores e assim por diante), os circuitos integrados, circuitos integrados específicos quanto à aplicação (ASIC), dispositivos lógicos programáveis (PLD), processadores de sinal digital (DSP), matriz de porta programável de campo (FPGA), portas de lógica, registradores, dispositivo semicondutor,
96/108 chips, microchips, conjuntos de chips e assim por diante. Os exemplos de software podem incluir componentes de software, programas, aplicativos, programas de computador, programas de aplicativo, programas de sistema, programas de máquina, software de sistema operacional, middleware, firmware, módulos de software, rotinas, subrotinas, funções, métodos, procedimentos, software interfaces, interfaces de programa de aplicativo (API), conjuntos de instruções, código de computação, código de computador, segmentos de código, segmentos de código de computador, palavras, valores, símbolos ou qualquer combinação dos mesmos. Determinar se uma modalidade está implantada com o uso de elementos de hardware e/ou elementos de software pode variar de acordo com qualquer quantidade de fatores, tal como taxa computacional desejada, níveis de potência, tolerâncias térmicas, orçamento de ciclo de processamento, taxas de dados de entrada, taxas de dados de saída, recursos de memória, velocidades de barramento de dados e outras constrições de projeto ou desempenho.
[00186] Um ou mais aspectos de pelo menos uma modalidade podem ser implantados através de instruções representativas armazenadas em um meio legível por máquina que representa várias lógicas no processador, que, quando lidas por uma máquina, faz com que a máquina fabrique lógica para realizar as técnicas descritas neste documento. Tais representações, conhecidas como núcleos de IP podem ser armazenadas em um meio legível por máquina, tangível e fornecidas para vários clientes ou instalações de produção para carregar nas máquinas de fabricação que, de fato, produzem a lógica ou o processador.
[00187] Embora determinados recursos estabelecidos neste documento tenham sido descritos com referência a várias implantações, esta descrição não se destina a ser interpretada em um sentido limitador. Por esse motivo, várias modificações das implantações descritas
97/108 neste documento, assim como outras implantações, que são evidentes para as pessoas versadas na técnica às quais a presente descrição pertence, são consideradas abrangidas pelo espírito e escopo da presente descrição.
[00188] Os Seguintes Exemplos Pertencem A Modalidades Adicionais.
[00189] Em um exemplo, um método implantado por computador para particionamento em codificação de vídeo pode incluir receber um quadro de vídeo, segmentar o quadro de vídeo em uma pluralidade de ladrilhos, unidades de codificação ou superfragmentos, determinar uma técnica de particionamento de previsão escolhida para pelo menos um ladrilho, unidade de codificação ou superfragmento para um particionamento de previsão ou codificação de modo que a técnica de particionamento de previsão escolhida possa incluir pelo menos uma dentre a técnica de particionamento de árvore binária, uma técnica de particionamento de árvore k-d, uma representação de livro de códigos de uma técnica de particionamento de árvore binária ou uma representação de livro de códigos de uma técnica de particionamento de árvore k-d, o particionamento do pelo menos um ladrilho, unidade de codificação ou superfragmento em uma pluralidade de partições de previsão com o uso da técnica de particionamento escolhida e a codificação de indicadores de particionamento ou palavras-código associadas à pluralidade de partições de previsão em uma corrente de bits.
[00190] Em outro exemplo, um método implantado por computador para o particionamento em codificação de vídeo pode incluir, adicionalmente, segmentar o quadro de vídeo em duas ou mais camadas de região de modo que as duas ou mais camadas de região compreendem uma precisão de pelo menos um dentre 4 pixels, 8 pixels ou 16 pixels, de modo que as duas ou mais camadas de região compreendam limites de região, de modo que a segmentação do quadro de ví
98/108 deo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos possa incluir segmentar o quadro de vídeo na pluralidade de superfragmentos, de modo que segmentar o quadro de vídeo possa incluir uma codificação executada por símbolo com o uso dos blocos de 16 x 16 pixels e de modo que o pelo menos um superfragmento possa incluir uma camada de região individual dentre as duas ou mais camadas de região, que codifica os limites de região, de modo que a codificação dos limites de região possa incluir pelo menos uma dentre uma codificação executada por símbolo ou a geração de um livro de códigos que aproxima os limites de região em uma grade de ladrilhos, de modo que a grade de ladrilhos possa incluir uma grade de ladrilhos igualmente espaçada que tem um tamanho de pelo menos um dentre 32 x 32 pixels ou 64 x 64 pixels, indexar a pluralidade de partições de previsão com os valores de índice de partição de previsão, transmitir a pluralidade de partições de previsão e valores de índice de previsão de partição para um controlador de criptografia, gerar dados de interprevisão associados a uma primeira partição de previsão individual da pluralidade de partições de previsão de modo que os dados de interprevisão possam incluir dados de vetor de movimento, gerar dados de intraprevisão associados a uma segunda partição de previsão individual de uma segunda pluralidade de partições de previsão de um segundo ladrilho, unidade de codificação ou superfragmento de um segundo quadro de vídeo, diferenciar uma pluralidade de partições previstas associadas à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão de modo que uma primeira partição prevista da pluralidade das partições previstas seja prevista com base, pelo menos em parte, em um quadro de referência que inclui um quadro de referência imediatamente anterior, um quadro de referência mais anterior, um quadro de referência futura, um quadro de
99/108 referência modificada ou um quadro de referência sintetizada, gerar um indicador do tipo de referência para a primeira partição prevista com base no quadro de referência, gerar um indicador de modo de previsão com base em um modo de previsão da primeira partição prevista, em que o modo de previsão é selecionado dentre pelo menos um dentre inter, multi, intra, salto, auto ou divisão, criptografar o indicador do tipo de referência e o modo de previsão na corrente de bits, determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão deve ser criptografada, para a partição de dados de erro de previsão individual que deve ser criptografada: particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação de modo que o particionamento da partição de dados de erro de previsão compreenda um particionamento de árvore binária, indexar a pluralidade de partições de codificação com valores de índice de partição de codificação, transmitir as partições de codificação e os valores de índice de partição de codificação para o controlador de criptografia e realizar uma transformação direta e quantização nas partições de codificação da partição de dados de erro de previsão individual para gerar dados associados à partição de dados de erro de previsão individual, criptografar por entropia os dados de interprevisão associados à primeira partição de previsão individual, dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual em uma corrente de bits, transmitir a corrente de bits, receber a corrente de bits, decodificar por entropia a corrente de bits para determinar os dados de interprevisão associados à primeira partição de previsão individual, os dados que definem a primeira partição de previsão individual, os dados de intraprevisão asso
100/108 ciados à segunda partição de previsão individual, os dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual de modo que a primeira partição de previsão individual compreenda uma partição de árvore binária e a segunda partição de previsão individual compreenda uma partição de árvore k-d, realizar uma quantização inversa e uma transformação inversa com base, pelo menos em parte, nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas, combinar as partições de codificação decodificadas para gerar uma partição de dados de erro de previsão decodificada, adicionar uma partição de dados de erro de previsão decodificada à partição de dados de erro de previsão decodificada para gerar uma primeira partição reconstruída, montar a primeira partição reconstruída e uma segunda partição reconstruída para gerar pelo menos um dentre um primeiro ladrilho, uma primeira unidade de codificação ou um primeiro superfragmento, aplicar pelo menos uma dentre uma filtração de desblocagem ou uma filtração de restauração de qualidade ao primeiro ladrilho, unidade de codificação ou ao primeiro superfragmento para gerar um primeiro ladrilho, unidade de codificação ou superfragmento decodificado final, montar o primeiro ladrilho, unidade de codificação ou superfragmento decodificado final a um segundo ladrilho, unidade de codificação ou superfragmento decodificado final para gerar um primeiro quadro de vídeo decodificado, realizar compensação de movimento para gerar uma segunda partição de previsão individual decodificada com base, pelo menos em parte, nos dados de interprevisão, realizar intraprevisão para uma terceira partição de previsão individual decodificada da segunda pluralidade de partições com base, pelo menos em parte, nos dados de intraprevisão, gerar um segundo quadro de vídeo decodificado com base, pelo menos em parte, na compensação de movimento, gerar um terceiro qua
101/108 dro de vídeo decodificado com base, pelo menos em parte, na intraprevisão e transmitir o primeiro, segundo, e terceiro quadros de vídeo decodificados para a apresentação através de um dispositivo de exibição. A segmentação do quadro de vídeo na pluralidade de ladrilhos ou unidade de codificação ou superfragmentos pode incluir segmentar o quadro de vídeo na pluralidade de ladrilhos. Determinar a técnica de particionamento escolhida pode incluir determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo. O tipo de foto pode incluir pelo menos uma dentre uma foto-l (intrafoto), uma foto-P (foto de previsão) ou uma fotoF/B (foto funcional/bidirecional). O tipo de foto pode incluir a foto-l e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore k-d. O tipo de foto pode incluir a foto-P e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore binária. O tipo de foto pode incluir a foto-F/B e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore binária. Determinar a técnica de particionamento escolhida pode incluir determinar a técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento, de modo que a característica compreenda uma quantidade esperada de intrablocos no pelo menos um ladrilho, unidade de codificação ou superfragmento e de modo que a técnica de particionamento escolhida possa incluir a técnica de particionamento de árvore k-d quando a quantidade esperada de intrablocos for maior que um limiar e de modo que a técnica de particionamento escolhida possa incluir a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos for menor que um limiar. Particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento pode incluir uma constrição de particionamento de modo que a cons
102/108 trição de particionamento possa incluir predefinir uma primeira partição como a formação da metade da pelo menos uma porção de quadro em uma primeira dimensão e predefinir uma segunda partição como a formação da metade da pelo menos uma porção de quadro em uma segunda dimensão e de modo que a primeira dimensão possa incluir uma dimensão vertical e a segunda dimensão possa incluir uma dimensão horizontal.
[00191] Em outros exemplos, um codificador de vídeo pode incluir um armazenamento temporário de foto e uma unidade de processamento de gráfico que tem um sistema de circuitos de lógica de gerador de partições de previsão. A unidade de processamento de gráfico pode estar comunicativamente acoplada ao armazenamento temporário de foto e o sistema de circuitos de lógica de gerador de partições de previsão pode ser configurado para receber um quadro de vídeo, segmentar o quadro de vídeo em uma pluralidade de ladrilhos, unidades de codificação ou superfragmentos, determinar uma técnica de particionamento de previsão escolhida para pelo menos um ladrilho, unidade de codificação ou superfragmento, de modo que a técnica de particionamento de previsão escolhida possa incluir pelo menos uma dentre uma técnica de particionamento de árvore binária ou uma técnica de particionamento de árvore k-d e a partição do pelo menos um ladrilho, unidade de codificação ou superfragmento em uma pluralidade de partições de previsão com o uso da técnica de particionamento escolhida.
[00192] Em um codificador de vídeo adicionalmente exemplificativo, a unidade de processamento de gráfico pode incluir um sistema de lógica de interprevisão configurado para gerar dados de interprevisão associados a uma primeira partição de previsão individual da pluralidade de partições de previsão de modo que os dados de interprevisão compreendam dados de vetor de movimento, sistema de circuito lógico de intraprevisão configurado para gerar dados de intraprevisão assoei
103/108 ados a uma segunda partição de previsão individual de uma segunda pluralidade de partições de previsão de um segundo ladrilho, unidade de codificação ou superfragmento de um segundo quadro de vídeo, sistema de circuito de lógica de diferenciação configurado para diferenciar uma pluralidade de partições previstas associadas à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão de modo que uma primeira partição prevista da pluralidade de partições previstas seja prevista com base, pelo menos em parte, em um quadro de referência que compreende um quadro de referência imediatamente anterior, um quadro de referência mais anterior, um quadro de referência futura, um quadro de referência modificada ou um quadro de referência sintetizada, um sistema de circuito lógico gerador de partições de codificação configurado para determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão devem ser criptografado e, para o resíduo individual que deve ser criptografado, a partição da partição de dados de erro de previsão em uma pluralidade de partições de codificação de modo que o particionamento da partição de dados de erro de previsão compreenda um particionamento de árvore binária, indexar a pluralidade de partições de codificação com valores de índice de partição de codificação e transmitir as partições de codificação e os valores de índice de partição de codificação para o controlador de criptografia, sistema de circuito de lógica de transformação adaptativa e sistema de circuito de lógica de quantização adaptativa configurados para realizar uma transformação direta e quantização nas partições de codificação da partição de dados de erro de previsão individual para gerar dados associados à partição de dados de erro de previsão individual e um sistema de circuito de lógica de codificador de entropia adaptativa configurado para criptografar por entropia
104/108 os dados de interprevisão associados à primeira partição de previsão individual, dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, os dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual em uma corrente de bits e transmitir a corrente de bits. O sistema de circuitos de lógica de gerador de partições de previsão pode ser adicionalmente configurado para segmentar o quadro de vídeo em duas ou mais camadas de região, de modo que as duas ou mais camadas de região possam incluir uma precisão de pelo menos um dentre 4 pixels, 8 pixels ou 16 pixels, de modo que as duas ou mais camadas de região possam incluir limites de região, de modo que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos possa incluir o sistema de circuitos de lógica de gerador de partições de previsão de modo que seja adicionalmente configurado para segmentar o quadro de vídeo na pluralidade de superfragmentos, de modo que segmentar o quadro de vídeo na pluralidade de ladrilhos ou unidade de codificação ou superfragmentos possa incluir o sistema de circuitos de lógica de gerador de partições de previsão de modo que seja adicionalmente configurado para segmentar o quadro de vídeo através da codificação executada por símbolo com o uso de blocos de 16 x 16 pixels e de modo que o pelo menos um superfragmento possa incluir uma camada de região individual das duas ou mais camadas de região, codificar os limites de região de modo que a codificação dos limites de região possa incluir pelo menos uma dentre uma codificação executada por símbolo ou geração de um livro de códigos que aproxima os limites de região em uma grade de ladrilhos de modo que a grade de ladrilhos possa ser uma grade de ladrilhos igualmente espaçada que tem um tamanho de pelo menos um dentre 32 x 32 pixels ou 64 x 64 pixels, indexar a pluralidade de
105/108 partições de previsão com os valores de índice de partição de previsão e transmitir a pluralidade de partições de previsão e valores de índice de previsão de partição para um controlador de criptografia. Segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos pode incluir que o sistema de circuitos de lógica de gerador de partições de previsão seja configurado para segmentar o quadro de vídeo na pluralidade de ladrilhos. Determinar a técnica de particionamento escolhida pode incluir que o sistema de circuitos de lógica de gerador de partições de previsão seja configurado para determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo. O tipo de foto pode incluir pelo menos uma dentre uma foto-l (intrafoto), uma foto-P (foto de previsão) ou uma foto-F/B (foto funcional/bidirecional). O tipo de foto pode incluir a foto-l e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore k-d. O tipo de foto pode incluir a foto-P e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore binária. O tipo de foto pode incluir a foto-F/B e a técnica de particionamento de previsão escolhida pode incluir a técnica de particionamento de árvore binária. Determinar a técnica de particionamento escolhida pode incluir que o sistema de circuitos de lógica de gerador de partições de previsão seja configurado para determinar as técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento, de modo que a característica possa incluir uma quantidade esperada de intrablocos no pelo menos um ladrilho, unidade de codificação ou superfragmento e, de modo que a técnica de particionamento escolhida possa incluir a técnica de particionamento de árvore k-d quando a quantidade esperada de intrablocos é maior que um limiar e de modo que a técnica de particionamento escolhida com
106/108 preenda a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos for menor que um limiar. Particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento pode incluir que o sistema de circuitos de lógica de gerador de partições de previsão seja configurado para aplicar uma constrição de particionamento de modo que a constrição de particionamento possa incluir predefinir uma primeira partição como a formação da metade da pelo menos uma porção de quadro em uma primeira dimensão e predefinir uma segunda partição como uma formação da metade da pelo menos uma porção de quadro em uma segunda dimensão e de modo que a primeira dimensão possa incluir uma dimensão vertical e a segunda dimensão compreenda uma dimensão horizontal.
[00193] Ainda em outro exemplo, um sistema pode incluir um decodificador de vídeo configurado para decodificar uma corrente de bits codificada. O decodificador de vídeo pode ser configurado para decodificar por entropia a corrente de bits codificada para determinar dados de interprevisão associados a uma primeira partição de previsão, dados que definem a primeira partição de previsão, dados de intraprevisão associados a uma segunda partição de previsão e dados que definem a segunda partição de previsão de modo que a primeira partição de previsão possa incluir uma partição de árvore binária e a segunda partição de previsão compreenda uma partição de árvore k-d, realizar uma compensação de movimento para a primeira partição de previsão com base, pelo menos em parte, nos dados de interprevisão, realizar a intraprevisão para a segunda partição individual com base, pelo menos em parte, nos dados de intraprevisão, gerar um primeiro quadro de vídeo decodificado com base, pelo menos em parte, na compensação de movimento, gerar um segundo quadro de vídeo decodificado com base, pelo menos em parte, na intraprevisão e transmitir o primeiro e segundo quadros de vídeo decodificados para a apresentação através
107/108 de um dispositivo de exibição.
[00194] Em um sistema adicionalmente exemplificativo, o sistema também pode incluir uma antena comunicativamente acoplada ao decodificador de vídeo e configurada para receber a corrente de bits codificada de dados de vídeo e um dispositivo de exibição configurado para apresentar quadros de vídeo. O decodificador de vídeo pode ser adicionalmente configurado para decodificar por entropia a corrente de bits para determinar dados associados a uma partição de dados de erro de previsão individual de modo que a partição de dados de erro de previsão individual compreenda partições de codificação e árvore binária, realizar uma quantização inversa e uma transformação inversa com base, pelo menos em parte, nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas, combinar as partições de codificação decodificadas para gerar uma partição de dados de erro de previsão decodificada, adicionar uma partição de previsão à partição de dados de erro de previsão decodificada para gerar uma primeira partição reconstruída, montar a primeira partição reconstruída e uma segunda partição reconstruída para gerar pelo menos um dentre um primeiro ladrilho, unidade de codificação ou um primeiro superfragmento, aplicar pelo menos uma dentre uma filtração de desblocagem ou uma filtração de restauração de qualidade ao primeiro ladrilho, unidade de codificação ou o primeiro superfragmento para gerar um primeiro ladrilho, unidade de codificação ou superfragmento decodificado final, montar o primeiro ladrilho, unidade de codificação ou superfragmento decodificado final a um segundo ladrilho, unidade de codificação ou superfragmento decodificado final para gerar um terceiro quadro de vídeo decodificado e transmitir o terceiro quadro de vídeo decodificado para a apresentação através do dispositivo de exibição. O primeiro quadro de vídeo pode incluir um tipo de foto que compreende pelo menos uma dentre uma
108/108 foto-P ou uma foto-F/B. O segundo quadro de vídeo pode incluir um tipo de foto que compreende uma foto-L O terceiro quadro de vídeo pode incluir um tipo de foto que compreende pelo menos uma dentre uma foto-P ou uma foto-F/B.
[00195] Em um exemplo adicional, pelo menos um meio legível por máquina pode incluir uma pluralidade de instruções que, em resposta a ser executada em um dispositivo de computação, faz com que o dispositivo de computação realize o método de acordo com qualquer um dos exemplos acima.
[00196] Ainda em um exemplo adicional, um aparelho pode incluir meios para realizar os métodos de acordo com qualquer um dos exemplos acima.
[00197] Os exemplos acima podem incluir uma combinação específica de recursos. Entretanto, de modo que os exemplos acima não sejam limitados nesse sentido e, em várias implantações, os exemplos acima podem incluir a execução apenas de um subconjunto de tais recursos, execução de uma ordem diferente de tais recursos, execução de uma combinação diferente de tais recursos e/ou execução de recursos adicionais em relação aos recursos explicitamente listados. Por exemplo, todos os recursos descritos em relação aos métodos exemplificativos podem ser implantados em relação ao aparelho exemplificativo, os sistemas exemplificativos e/ou os artigos exemplificativos, e vice-versa.

Claims (25)

1. Método implantado por computador para particionamento em codificação de vídeo, caracterizado pelo fato de que compreende:
receber um quadro de vídeo;
segmentar o quadro de vídeo em uma pluralidade de ladrilhos, unidades de codificação ou superfragmentos;
determinar uma técnica de particionamento escolhida para pelo menos um ladrilho, unidade de codificação ou superfragmento para particionamento de previsão ou codificação, em que a técnica de particionamento escolhida compreende uma técnica de particionamento estruturado que compreende pelo menos uma dentre uma técnica de particionamento de árvore binária, uma técnica de particionamento de árvore k-d, uma representação de livro de códigos de uma técnica de particionamento de árvore binária ou uma representação de livro de códigos de uma técnica de particionamento de árvore k-d;
particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento em uma pluralidade de partições de previsão com o uso da técnica de particionamento escolhida; e codificar indicadores de particionamento ou palavras-código associadas à pluralidade de partições de previsão em uma corrente de bits.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente:
segmentar o quadro de vídeo em duas ou mais camadas de região, em que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende segmentar o quadro de vídeo na pluralidade de superfragmentos, e em que o pelo menos um superfragmento compreende uma camada de região individual das duas ou mais camadas de região.
3. Método, de acordo com a reivindicação 1, caracterizado
2/20 pelo fato de que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende segmentar o quadro de vídeo na pluralidade de ladrilhos.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente:
diferenciar uma pluralidade de partições previstas associadas à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão;
determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão que deve ser codificada; e para a partição de dados de erro de previsão individual que deve ser codificada:
particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação, em que o particionamento da partição de dados de erro de previsão compreende um particionamento de árvore binária;
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente:
gerar dados de interprevisão associados a uma primeira partição de previsão individual da pluralidade de partições de previsão;
gerar dados de intraprevisão associados a uma segunda partição de previsão individual de uma segunda pluralidade de partições de previsão de um segundo ladrilho, unidade de codificação ou superfragmento de um segundo quadro de vídeo;
diferenciar a pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão;
determinar uma partição de dados de erro de previsão indi
3/20 vidual da pluralidade de partições de dados de erros de previsão que deve ser codificada;
para a partição de dados de erro de previsão individual que deve ser codificada:
particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação, em que o particionamento da partição de dados de erro de previsão compreende um particionamento de árvore binária;
indexar a pluralidade de partições de codificação com valores de índice de partição de codificação;
transmitir as partições de codificação e os valores de índice de partição de codificação para o controlador de criptografia; e realizar uma transformação e quantização direta nas partições de codificação da partição de dados de erro de previsão individual para gerar dados associados à partição de dados de erro de previsão individual;
codificar por entropia os dados de interprevisão associados à primeira partição de previsão individual, dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual em uma corrente de bits;
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo, em que o tipo de foto compreende a foto-l, e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore k-d.
7. Método, de acordo com a reivindicação 1, caracterizado
4/20 pelo fato de que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo, em que o tipo de foto compreende a foto-P, e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo, em que o tipo de foto compreende a foto-F/B, e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento, em que a característica compreende uma quantidade esperada de intrablocos no pelo menos um ladrilho, unidade de codificação ou superfragmento, e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore k-d quando a quantidade esperada de intrablocos é maior do que um limiar, e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos é menor que um limiar.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento compreende uma constrição de particionamento.
5/20
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente:
segmentar o quadro de vídeo em duas ou mais camadas de região, em que as duas ou mais camadas de região compreendem uma precisão de pelo menos um dentre 4 pixels, 8 pixels ou 16 pixels, em que as duas ou mais camadas de região compreendem limites de região, em que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende segmentar o quadro de vídeo na pluralidade de superfragmentos, em que segmentar o quadro de vídeo compreende codificação executada por símbolo com o uso de blocos de 16 x 16 pixels, e em que o pelo menos um superfragmento compreende uma camada de região individual das duas ou mais camadas de região;
codificar os limites de região, em que codificar os limites de região compreende pelo menos um dentre codificação executada por símbolo ou geração de um livro de códigos que aproxima os limites de região em uma grade de ladrilhos, em que a grade de ladrilhos é uma grade de ladrilhos igualmente espaçada que tem um tamanho de pelo menos um dentre pixels de 32 x 32 ou pixels de 64 x 64, indexar a pluralidade de partições de previsão com valores de índice de partição de previsão;
transmitir a pluralidade de partições de previsão e valores de índice de previsão de partição para um controlador de criptografia;
gerar dados de interprevisão associados a uma primeira partição de previsão individual da pluralidade de partições de previsão, em que os dados de interprevisão compreendem dados de vetor de movimento;
gerar dados de intraprevisão associados a uma segunda partição de previsão individual de uma segunda pluralidade de partições de previsão de um segundo ladrilho, unidade de codificação ou
6/20 superfragmento de um segundo quadro de video;
diferenciar uma pluralidade de partições previstas associada à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão, em que uma primeira partição prevista da pluralidade de partições previstas é prevista com base, pelo menos em parte, em um quadro de referência que compreende um quadro de referência imediatamente anterior, um quadro de referência mais anterior, um quadro de referência futura, uma quadro de referência modificada ou um quadro de referência sintetizada;
gerar um indicador do tipo de referência para a primeira partição prevista com base no quadro de referência;
gerar um indicador de modo de previsão com base em um modo de previsão da primeira partição prevista, em que o modo de previsão é selecionado a partir de pelo menos um dentre inter, multi, intra, salto, auto ou divisão;
codificar o indicador do tipo de referência e o modo de previsão na corrente de bits;
determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão que deve ser codificada;
para a partição de dados de erro de previsão individual que deve ser codificada:
particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação, em que o particionamento da partição de dados de erro de previsão compreende um particionamento de árvore binária;
indexar a pluralidade de partições de codificação com valores de índice de partição de codificação;
transmitir as partições de codificação e os valores de índice
7/20 de partição de codificação para o controlador de criptografia; e realizar uma transformação e quantização direta nas partições de codificação da partição de dados de erro de previsão individual para gerar dados associados à partição de dados de erro de previsão individual;
codificar por entropia os dados de interprevisão associados à primeira partição de previsão individual, dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual em uma corrente de bits;
transmitir a corrente de bits;
receber a corrente de bits;
decodificar por entropia a corrente de bits para determinar os dados de interprevisão associados à primeira partição de previsão individual, os dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, os dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual, em que a primeira partição de previsão individual compreende uma partição de árvore binária e a segunda partição de previsão individual compreende uma partição de árvore k-d;
realizar uma quantização inversa e uma transformação inversa com base, pelo menos em parte, nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas;
combinar as partições de codificação decodificadas para gerar uma partição de dados de erro de previsão decodificada;
adicionar uma partição de dados de erro de previsão decodificada à partição de dados de erro de previsão decodificada para ge8/20 rar uma primeira partição reconstruída;
montar a primeira partição reconstruída e a segunda partição reconstruída para gerar pelo menos um dentre um primeiro ladrilho, uma primeira unidade de codificação ou um primeiro superfragmento;
aplicar pelo menos um dentre uma filtração de desblocagem ou uma filtração de restauração de qualidade ao primeiro ladrilho, a primeira unidade de codificação ou o primeiro superfragmento para gerar um primeiro ladrilho, unidade de codificação ou superfragmento decodificado final;
montar o primeiro ladrilho, unidade de codificação ou superfragmento decodificado final com um segundo ladrilho, unidade de codificação ou superfragmento decodificado final para gerar um primeiro quadro de vídeo decodificado;
realizar compensação de movimento para gerar uma segunda partição de previsão individual decodificada com base, pelo menos em parte, nos dados de interprevisão;
realizar uma intraprevisão para uma terceira partição de previsão individual decodificada da segunda pluralidade de partições com base, pelo menos em parte, nos dados de intraprevisão;
gerar um segundo quadro de vídeo decodificado com base, pelo menos em parte, na compensação de movimento;
gerar um terceiro quadro de vídeo decodificado com base, pelo menos em parte, na intraprevisão; e transmitir o primeiro, segundo e terceiro quadros de vídeo decodificados para apresentação através de um dispositivo de exibição, em que segmentar o quadro de vídeo na pluralidade de ladrilhos ou unidade de codificação ou superfragmentos compreende segmentar o quadro de vídeo na pluralidade de ladrilhos,
9/20 em que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo, em que o tipo de foto compreende pelo menos uma dentre uma foto-l (intrafoto), uma foto-P (foto de previsão) ou uma foto-F/B (foto funcional/bidirecional), em que o tipo de foto compreende a foto-l e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore k-d, em que o tipo de foto compreende a foto-P e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária, em que o tipo de foto compreende a foto-F/B e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária, em que determinar a técnica de particionamento escolhida compreende determinar a técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento, em que a característica compreende uma quantidade esperada de intrablocos no pelo menos um ladrilho, unidade de codificação ou superfragmento e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore k-d quando a quantidade esperada de intrablocos é maior do que um limiar e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos é menor que um limiar, e em que o particionamento do pelo menos um ladrilho, unidade de codificação ou superfragmento compreende uma constrição de particionamento, em que a constrição de particionamento compre
10/20 ende predefinir uma primeira partição de modo que divida pela metade a pelo menos uma porção de quadro em uma primeira dimensão e predefinir uma segunda partição de modo que divida pela metade a pelo menos uma porção de quadro em uma segunda dimensão e em que a primeira dimensão compreende uma dimensão vertical e a segunda dimensão compreende uma dimensão horizontal.
12. Codificador de vídeo, caracterizado pelo fato de que compreende:
um armazenamento temporário de foto;
uma unidade de processamento de gráfico que compreende um sistema de circuito de lógica de gerador de partições de previsão, em que a unidade de processamento de gráfico é comunicativamente acoplada ao armazenamento temporário de foto e em que o sistema de circuito de lógica de gerador de partições de previsão é configurado para:
receber um quadro de vídeo;
segmentar o quadro de vídeo em uma pluralidade de ladrilhos, unidades de codificação ou superfragmentos;
determinar uma técnica de particionamento de previsão escolhida para pelo menos um ladrilho, unidade de codificação ou superfragmento, em que a técnica de particionamento escolhida compreende uma técnica de particionamento estruturado que compreende pelo menos uma dentre uma técnica de particionamento de árvore binária, uma técnica de particionamento de árvore k-d, uma representação de livro de códigos de uma técnica de particionamento de árvore binária ou uma representação de livro de códigos de uma técnica de particionamento de árvore k-d; e particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento em uma pluralidade de partições de previsão com o uso da técnica de particionamento escolhida; e
11/20
13. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que o sistema de circuito de lógica de gerador de partições de previsão é configurado, adicionalmente, para:
segmentar o quadro de vídeo em duas ou mais camadas de região, em que para segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende o sistema de circuitos de lógica de gerador de partições de previsão que está configurado ao quadro de vídeo na pluralidade de superfragmentos e em que o pelo menos um superfragmento compreende uma camada de região individual das duas ou mais camadas de região.
14. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende o sistema de circuitos de lógica de gerador de partições de previsão que é configurado para segmentar o quadro de vídeo na pluralidade dos ladrilhos.
15. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que a unidade de processamento de gráfico compreende, adicionalmente:
sistema de circuito de lógica de diferenciação configurado para:
diferenciar uma pluralidade de partições previstas associadas à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão;
sistema de circuitos de lógica de gerador de partições de codificação configurado para:
determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão que deve ser codificada; e
12/20 para o resíduo individual que deve ser codificado: particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação, em que o particionamento da partição de dados de erro de previsão compreende um particionamento de árvore binária;
16. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que determinar a técnica de particionamento escolhida compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja configurado para determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo.
17. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que determinar a técnica de particionamento escolhida compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja configurado para determinar a técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento.
18. Codificador de vídeo, de acordo com a reivindicação 12, caracterizado pelo fato de que a unidade de processamento de gráfico compreende, adicionalmente:
sistema de lógica de interprevisão configurado para:
gerar dados de interprevisão associados a uma primeira partição de previsão individual da pluralidade de partições de previsão, em que os dados de interprevisão compreendem dados de vetor de movimento;
sistema de lógica de intraprevisão configurado para:
gerar dados de intraprevisão associados a uma segunda partição de previsão individual de uma segunda pluralidade de partições de previsão de um segundo ladrilho, unidade de codificação ou
13/20 superfragmento de um segundo quadro de video;
sistema de circuito de lógica de diferenciação configurado para:
diferenciar uma pluralidade de partições previstas associada à pluralidade de partições de previsão com dados de pixels originais correspondentes para gerar uma pluralidade correspondente de partições de dados de erros de previsão, em que uma primeira partição prevista da pluralidade de partições previstas é prevista com base, pelo menos em parte, em um quadro de referência que compreende um quadro de referência imediatamente anterior, um quadro de referência mais anterior, um quadro de referência futura, uma quadro de referência modificada ou um quadro de referência sintetizada;
sistema de circuitos de lógica de gerador de partições de codificação configurado para:
determinar uma partição de dados de erro de previsão individual da pluralidade de partições de dados de erros de previsão que deve ser codificada; e para o resíduo individual que deve ser codificado:
particionar a partição de dados de erro de previsão em uma pluralidade de partições de codificação, em que o particionamento da partição de dados de erro de previsão compreende um particionamento de árvore binária;
indexar a pluralidade de partições de codificação com valores de índice de partição de codificação;
transmitir as partições de codificação e os valores de índice de partição de codificação para o controlador de criptografia; e sistema de circuito de lógica de transformação adaptativa e sistema de circuito de lógica de quantização adaptativa configurada para:
realizar uma transformação e quantização direta nas parti14/20 ções de codificação da partição de dados de erro de previsão individual para gerar dados associados à partição de dados de erro de previsão individual; e sistema de circuito de lógica de codificador de entropia adaptativa configurado para:
codificar por entropia os dados de interprevisão associados à primeira partição de previsão individual, dados que definem a primeira partição de previsão individual, os dados de intraprevisão associados à segunda partição de previsão individual, dados que definem a segunda partição de previsão individual e os dados associados à partição de dados de erro de previsão individual em uma corrente de bits; e transmitir a corrente de bits, em que o sistema de circuitos de lógica de gerador de partições de previsão é adicionalmente configurado para:
segmentar o quadro de vídeo em duas ou mais camadas de região, em que as duas ou mais camadas de região compreendem uma precisão de pelo menos um de 4 pixels, 8 pixels ou 16 pixels, em que as duas ou mais camadas de região compreendem limites de região, em que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja adicionalmente configurado para segmentar o quadro de vídeo na pluralidade de superfragmentos, em que segmentar o quadro de vídeo na pluralidade de ladrilhos ou unidade de codificação ou superfragmentos compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja adicionalmente configurado para segmentar o quadro de vídeo através da codificação executada por símbolo com o uso de blocos de 16 x 16 pixels e em que o pelo menos um superfragmento compreende uma camada de região individual das duas ou mais camadas de região;
15/20 codificar os limites de região, em que codificar os limites de região compreende pelo menos um dentre codificação executada por símbolo ou geração de um livro de códigos que aproxima os limites de região em uma grade de ladrilhos, em que a grade de ladrilhos é uma grade de ladrilhos igualmente espaçada que tem um tamanho de pelo menos um dentre pixels de 32 x 32 ou pixels de 64 x 64, indexar a pluralidade de partições de previsão com valores de índice de partição de previsão;
transmitir a pluralidade de partições de previsão e valores de índice de previsão de partição para um controlador de criptografia;
em que segmentar o quadro de vídeo na pluralidade de ladrilhos, unidades de codificação ou superfragmentos compreende o sistema de circuitos de lógica de gerador de partições de previsão que é configurado para segmentar o quadro de vídeo na pluralidade dos ladrilhos, em que determinar a técnica de particionamento escolhida compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja configurado para determinar a técnica de particionamento escolhida com base, pelo menos em parte, em um tipo de foto do quadro de vídeo.
em que o tipo de foto compreende pelo menos uma dentre uma foto-l (intrafoto), uma foto-P (foto de previsão) ou uma foto-F/B (foto funcional/bidirecional), em que o tipo de foto compreende a foto-l e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore k-d, em que o tipo de foto compreende a foto-P e em que a técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária, em que o tipo de foto compreende a foto-F/B e em que a
16/20 técnica de particionamento de previsão escolhida compreende a técnica de particionamento de árvore binária, em que determinar a técnica de particionamento escolhida compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja configurado para determinar a técnica de particionamento escolhida com base, pelo menos em parte, em uma característica do pelo menos um ladrilho, unidade de codificação ou superfragmento, em que a característica compreende uma quantidade esperada de intrablocos no pelo menos um ladrilho, unidade de codificação ou superfragmento e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore k-d quando a quantidade esperada de intrablocos é maior que um limiar e em que a técnica de particionamento escolhida compreende a técnica de particionamento de árvore binária quando a quantidade esperada de intrablocos é menor que um limiar, e em que particionar o pelo menos um ladrilho, unidade de codificação ou superfragmento compreende o sistema de circuitos de lógica de gerador de partições de previsão de modo que esteja configurado para aplicar uma constrição de particionamento, em que a constrição de particionamento compreende predefinir uma primeira partição de modo que divida pela metade a pelo menos uma porção de quadro em uma primeira dimensão e predefinir uma segunda partição de modo que divida pela metade a pelo menos uma porção de quadro em uma segunda dimensão e em que a primeira dimensão compreende uma dimensão vertical e a segunda dimensão compreende uma dimensão horizontal.
19. Sistema decodificador, caracterizado pelo fato de que compreende:
um decodificador de vídeo configurado para decodificar uma corrente de bits codificada, em que o decodificador de vídeo está
17/20 configurado para:
decodificar por entropia a corrente de bits codificada para determinar dados de interprevisão associados a uma primeira partição de previsão, dados que definem a primeira partição de previsão, dados de intraprevisão associados a uma segunda partição de previsão e dados que definem a segunda partição de previsão, em que a primeira partição de previsão compreende uma partição de árvore binária e a segunda partição de previsão compreende uma partição de árvore k-d;
realizar a compensação de movimento para a primeira partição de previsão com base, pelo menos em parte, nos dados de interprevisão;
realizar intraprevisão para a segunda partição individual com base, pelo menos em parte, nos dados de intraprevisão;
gerar um primeiro quadro de vídeo decodificado com base, pelo menos em parte, na compensação de movimento;
gerar um segundo quadro de vídeo decodificado com base, pelo menos em parte, na intraprevisão; e transmitir o primeiro e segundo quadros de vídeo decodificados para apresentação através de um dispositivo de exibição.
20. Sistema decodificador de acordo com a reivindicação 19, em que o decodificador de vídeo é caracterizado pelo fato de que está configurado, adicionalmente, para:
decodificar por entropia a corrente de bits para determinar dados associados a uma partição de dados de erro de previsão individual, em que a partição de dados de erro de previsão individual compreende partições de codificação e árvore binária;
realizar uma quantização inversa e uma transformação inversa com base, pelo menos em parte, nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas;
18/20 combinar as partições de codificação decodificadas para gerar uma partição de dados de erro de previsão decodificada;
adicionar uma partição de previsão à partição de dados de erro de previsão decodificada para gerar uma primeira partição reconstruída;
montar a primeira partição reconstruída e a segunda partição reconstruída para gerar pelo menos um dentre um primeiro ladrilho, unidade de codificação ou um primeiro superfragmento;
aplicar pelo menos um dentre uma filtração de desblocagem ou uma filtração de restauração de qualidade ao primeiro ladrilho, unidade de codificação ou o primeiro superfragmento para gerar um primeiro ladrilho, unidade de codificação ou superfragmento decodificado final;
montar o primeiro ladrilho, unidade de codificação ou superfragmento decodificado final com um segundo ladrilho, unidade de codificação ou superfragmento decodificado final para gerar um terceiro quadro de vídeo decodificado;
transmitir o terceiro quadro de vídeo decodificado para apresentação através do dispositivo de exibição.
21. Sistema decodificador, de acordo com a reivindicação 19, caracterizado pelo fato de que o primeiro quadro de vídeo compreende um tipo de foto que compreende pelo menos uma dentre uma foto-P ou uma foto-F/B.
22. Sistema decodificador, de acordo com a reivindicação 19, caracterizado pelo fato de que o segundo quadro de vídeo compreende um tipo de foto que compreende uma foto-L
23. Sistema decodificador, de acordo com a reivindicação
19, caracterizado pelo fato de que compreende adicionalmente:
uma antena comunicativamente acoplada ao decodificador de vídeo e configurado para receber a corrente de bits codificada de
19/20 dados de video; e um dispositivo de exibição configurado para apresentar quadros de vídeo, em que o decodificador de vídeo é configurado, adicionalmente, para:
decodificar por entropia a corrente de bits para determinar dados associados a uma partição de dados de erro de previsão individual, em que a partição de dados de erro de previsão individual compreende partições de codificação e árvore binária;
realizar uma quantização inversa e uma transformação inversa com base, pelo menos em parte, nos dados associados à partição de dados de erro de previsão individual para gerar partições de codificação decodificadas;
combinar as partições de codificação decodificadas para gerar uma partição de dados de erro de previsão decodificada;
adicionar uma partição de previsão à partição de dados de erro de previsão decodificada para gerar uma primeira partição reconstruída;
montar a primeira partição reconstruída e a segunda partição reconstruída para gerar pelo menos um dentre um primeiro ladrilho, unidade de codificação ou um primeiro superfragmento;
aplicar pelo menos um dentre uma filtração de desblocagem ou uma filtração de restauração de qualidade ao primeiro ladrilho, unidade de codificação ou o primeiro superfragmento para gerar um primeiro ladrilho, unidade de codificação ou superfragmento decodificado final;
montar o primeiro ladrilho, unidade de codificação ou superfragmento decodificado final com um segundo ladrilho, unidade de codificação ou superfragmento decodificado final para gerar um terceiro quadro de vídeo decodificado;
20/20 transmitir um terceiro quadro de vídeo decodificado para apresentação através do dispositivo de exibição, em que o primeiro quadro de vídeo compreende um tipo de foto que compreende pelo menos uma dentre uma foto-P ou uma fotoF/B, e em que o segundo quadro de vídeo compreende um tipo de foto que compreende uma foto-l, e em que o terceiro quadro de vídeo compreende um tipo de foto que compreende pelo menos uma dentre uma foto-P ou uma fotoF/B.
24. Pelo menos um meio legível por máquina, caracterizado pelo fato de que compreende:
uma pluralidade de instruções que, em resposta a serem executadas em um dispositivo de computação, fazem com que o dispositivo de computação realize o método, conforme definido em qualquer uma das reivindicações 1 a 11.
25. Aparelho, caracterizado pelo fato de que compreende: meios para realizar os métodos, conforme definido em qualquer uma das reivindicações 1 a 11.
BR112015015575A 2013-01-30 2013-12-24 particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração BR112015015575A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361758314P 2013-01-30 2013-01-30
PCT/US2013/077702 WO2014120369A1 (en) 2013-01-30 2013-12-24 Content adaptive partitioning for prediction and coding for next generation video

Publications (1)

Publication Number Publication Date
BR112015015575A2 true BR112015015575A2 (pt) 2020-02-04

Family

ID=51262831

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015015575A BR112015015575A2 (pt) 2013-01-30 2013-12-24 particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração

Country Status (8)

Country Link
US (14) US9973758B2 (pt)
EP (12) EP2952003B1 (pt)
JP (3) JP6163674B2 (pt)
KR (6) KR102063385B1 (pt)
CN (10) CN104885467B (pt)
BR (1) BR112015015575A2 (pt)
RU (1) RU2612600C2 (pt)
WO (11) WO2014120369A1 (pt)

Families Citing this family (254)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2524117T3 (es) 2002-08-08 2014-12-04 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US9380327B2 (en) * 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US11438609B2 (en) 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
US10057599B2 (en) * 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium
CN103929642B (zh) * 2014-04-24 2017-04-12 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
US9723377B2 (en) 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc Automatic video comparison of the output of a video decoder
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US9549188B2 (en) * 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
CN104301724B (zh) 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
TWI536799B (zh) * 2014-10-29 2016-06-01 虹光精密工業股份有限公司 智慧型複印設備
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10171807B2 (en) * 2015-01-29 2019-01-01 Arris Enterprises Llc Picture-level QP rate control for HEVC encoding
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
CN104780377B (zh) * 2015-03-18 2017-12-15 同济大学 一种基于分布式计算机系统的并行hevc编码系统及方法
WO2016192073A1 (zh) 2015-06-04 2016-12-08 清华大学 编码方法、解码方法及其装置
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10354290B2 (en) * 2015-06-16 2019-07-16 Adobe, Inc. Generating a shoppable video
EP3314894B1 (en) * 2015-06-25 2024-03-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
US10764574B2 (en) * 2015-07-01 2020-09-01 Panasonic Intellectual Property Management Co., Ltd. Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
US10419512B2 (en) * 2015-07-27 2019-09-17 Samsung Display Co., Ltd. System and method of transmitting display data
WO2017023829A1 (en) * 2015-07-31 2017-02-09 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
US10430031B2 (en) * 2015-08-30 2019-10-01 EVA Automation, Inc. Displaying HDMI content in a tiled window
US10743059B2 (en) * 2015-08-30 2020-08-11 EVA Automation, Inc. Displaying HDMI content at an arbitrary location
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
US9971791B2 (en) * 2015-09-16 2018-05-15 Adobe Systems Incorporated Method and apparatus for clustering product media files
CN108141595A (zh) 2015-09-23 2018-06-08 Lg 电子株式会社 图像编码/解码方法及其设备
WO2017057953A1 (ko) * 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US9998745B2 (en) * 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
WO2017073360A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
US10283094B1 (en) * 2015-11-09 2019-05-07 Marvell International Ltd. Run-length compression and decompression of media tiles
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
WO2017083553A1 (en) * 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
US20170155905A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Efficient intra video/image coding using wavelets and variable size transform coding
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US20180359494A1 (en) * 2015-12-31 2018-12-13 Mediatek Inc. Method and apparatus of prediction binary tree structure for video and image coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10445862B1 (en) * 2016-01-25 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Efficient track-before detect algorithm with minimal prior knowledge
WO2017135663A2 (ko) * 2016-02-01 2017-08-10 엘지전자 주식회사 행 -열 변환 (row- column transform)을 이용하여 변환을 수행하는 방법 및 장치
KR20170096088A (ko) * 2016-02-15 2017-08-23 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
CN116506601A (zh) * 2016-03-11 2023-07-28 数字洞察力有限公司 视频编码方法以及装置
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US20170280139A1 (en) * 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
EP3298786A1 (en) * 2016-04-15 2018-03-28 Magic Pony Technology Limited In-loop post filtering for video encoding and decoding
ES2853700T3 (es) 2016-04-15 2021-09-17 Magic Pony Tech Limited Compensación de movimiento utilizando interpolación de imagen temporal
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
JP2019514308A (ja) 2016-05-10 2019-05-30 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
CN115118971A (zh) 2016-05-13 2022-09-27 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
TWI689148B (zh) * 2016-05-17 2020-03-21 英屬開曼群島商鴻騰精密科技股份有限公司 電連接器組件
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
EP4224859A3 (en) * 2016-05-25 2023-09-20 ARRIS Enterprises LLC Binary ternary quad tree partitioning for jvet
WO2017205621A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Jvet coding block structure with asymmetrical partitioning
CA3025334C (en) * 2016-05-25 2021-07-13 Arris Enterprises Llc Binary ternary quad tree partitioning for jvet coding of video data
US10284845B2 (en) 2016-05-25 2019-05-07 Arris Enterprises Llc JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
WO2017205704A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
KR102445668B1 (ko) * 2016-06-01 2022-09-21 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10743210B2 (en) * 2016-06-01 2020-08-11 Intel Corporation Using uplink buffer status to improve video stream adaptation control
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US10169362B2 (en) 2016-07-07 2019-01-01 Cross Commerce Media, Inc. High-density compression method and computing system
US11503305B2 (en) 2016-08-03 2022-11-15 Kt Corporation Method and apparatus for processing video signal
WO2018023554A1 (en) * 2016-08-04 2018-02-08 SZ DJI Technology Co., Ltd. System and methods for bit rate control
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
DK3381190T3 (da) * 2016-08-04 2021-08-16 Sz Dji Technology Co Ltd Parallel videokodning
WO2018030746A1 (ko) * 2016-08-08 2018-02-15 엘지전자(주) 영상의 처리 방법 및 이를 위한 장치
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN107872669B (zh) * 2016-09-27 2019-05-24 腾讯科技(深圳)有限公司 视频码率处理方法和装置
US10567775B2 (en) 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
KR20190053256A (ko) 2016-10-04 2019-05-17 김기백 영상 데이터 부호화/복호화 방법 및 장치
KR20200062365A (ko) * 2016-10-04 2020-06-03 김기백 영상 데이터 부호화/복호화 방법 및 장치
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
KR20180039323A (ko) 2016-10-10 2018-04-18 디지털인사이트 주식회사 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치
US20180103271A1 (en) * 2016-10-10 2018-04-12 Qualcomm Incorporated Systems and methods for signaling missing or corrupted video data
US10187178B2 (en) * 2016-10-11 2019-01-22 Microsoft Technology Licensing, Llc Dynamically partitioning media streams
US10779004B2 (en) 2016-10-12 2020-09-15 Mediatek Inc. Methods and apparatuses of constrained multi-type-tree block partition for video coding
EP3513563A1 (en) * 2016-10-18 2019-07-24 Zhejiang Dahua Technology Co., Ltd Methods and systems for video processing
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN116567210A (zh) * 2016-10-19 2023-08-08 Sk电信有限公司 视频编码/解码设备和方法及非暂时性记录介质
CN106454355B (zh) * 2016-10-24 2019-03-01 西南科技大学 一种视频编码方法及装置
JPWO2018092868A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
JPWO2018092869A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20190335197A1 (en) * 2016-11-22 2019-10-31 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored thereon
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
CN117528105A (zh) * 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
US10397590B2 (en) * 2016-12-05 2019-08-27 Nice-Systems Ltd. System and method for enabling seek in a video recording
JP6565885B2 (ja) * 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
US11070801B2 (en) * 2016-12-16 2021-07-20 Sharp Kabushiki Kaisha Image coder/decoder restricting binary tree splitting of target node obtained by ternary tree split
WO2018117892A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
RU2018131583A (ru) * 2016-12-26 2021-01-26 Нек Корпорейшн Способ кодирования видео, способ декодирования видео, устройство кодирования видео, устройство декодирования видео и программа
US10542293B2 (en) * 2016-12-26 2020-01-21 Nec Corporation Video encoding method, video decoding method, video encoding device, video decoding device, and program
US10542275B2 (en) * 2016-12-28 2020-01-21 Arris Enterprises Llc Video bitstream coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
TWI617181B (zh) * 2017-01-04 2018-03-01 晨星半導體股份有限公司 用於高效率視訊編碼裝置之排程方法
WO2018127418A1 (en) 2017-01-05 2018-07-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Block-based predictive coding and decoding of a picture
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3349454A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
KR20180088188A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 적응적 영상 변환 방법 및 장치
WO2018143687A1 (ko) * 2017-02-01 2018-08-09 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치
KR102230877B1 (ko) * 2017-02-06 2021-03-22 후아웨이 테크놀러지 컴퍼니 리미티드 인코딩 방법 및 장치와, 디코딩 방법 및 장치
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
US10362332B2 (en) * 2017-03-14 2019-07-23 Google Llc Multi-level compound prediction
US10820017B2 (en) * 2017-03-15 2020-10-27 Mediatek Inc. Method and apparatus of video coding
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
CN108665410B (zh) * 2017-03-31 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像超分辨率重构方法、装置及系统
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
TWI681669B (zh) 2017-04-21 2020-01-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
EP3612978A4 (en) 2017-04-21 2020-06-03 Zenimax Media Inc. SYSTEMS AND METHODS FOR ENABLING ENCODER-GUIDED QUALITY RENDERING
EP3613015A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR TOY GENERATED MOTION VECTORS
JP7077396B2 (ja) 2017-04-21 2022-05-30 ゼニマックス メディア インク. ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法
US10979728B2 (en) * 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
CN108810556B (zh) * 2017-04-28 2021-12-24 炬芯科技股份有限公司 压缩参考帧的方法、装置及芯片
US10638127B2 (en) * 2017-05-15 2020-04-28 Qualcomm Incorporated Adaptive anchor frame and quantization parameter decision in video coding
CN110999287A (zh) 2017-06-05 2020-04-10 因默希弗机器人私人有限公司 数字内容流压缩
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
CN107222751B (zh) * 2017-06-23 2019-05-10 宁波大学科学技术学院 基于多视点视频特征的3d-hevc深度视频信息隐藏方法
WO2019002215A1 (en) * 2017-06-26 2019-01-03 Interdigital Vc Holdings, Inc. MULTIPLE PREDICTION CANDIDATES FOR MOTION COMPENSATION
CN109151468B (zh) * 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
US11032545B2 (en) 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
CN109218748B (zh) * 2017-06-30 2020-11-27 京东方科技集团股份有限公司 视频传输方法、装置及计算机可读存储介质
CN107360419B (zh) * 2017-07-18 2019-09-24 成都图必优科技有限公司 一种基于透视模型的运动前视视频帧间预测编码方法
KR102484387B1 (ko) 2017-07-19 2023-01-03 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
CN107483949A (zh) * 2017-07-26 2017-12-15 千目聚云数码科技(上海)有限公司 增加svac svc实用性的方法及系统
CN107295334B (zh) * 2017-08-15 2019-12-03 电子科技大学 自适应的参考图像抉择方法
CN107483960B (zh) * 2017-09-15 2020-06-02 信阳师范学院 一种基于空间预测的运动补偿帧率上转换方法
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
EP3457695A1 (en) 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for motion vector predictor adaptation for omnidirectional video
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
CA3061701A1 (en) * 2017-09-28 2019-10-28 Lg Electronics Inc. Image decoding method and device in accordance with block split structure in image coding system
US10623744B2 (en) * 2017-10-04 2020-04-14 Apple Inc. Scene based rate control for video compression and video streaming
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
WO2019100108A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
WO2019100109A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
WO2019104862A1 (en) 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for reducing video coding fluctuation
EP3695600A4 (en) 2017-11-30 2020-08-19 SZ DJI Technology Co., Ltd. SYSTEM AND METHOD FOR CONTROLLING VIDEO ENCODING IN A FRAME OF IMAGE
CN111164972A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
CN109949217B (zh) * 2017-12-20 2023-04-11 四川大学 基于残差学习和隐式运动补偿的视频超分辨率重建方法
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법
TWI680675B (zh) * 2017-12-29 2019-12-21 聯發科技股份有限公司 影像處理裝置與相關的影像處理方法
EP3744102A1 (en) 2018-01-24 2020-12-02 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity
KR102465206B1 (ko) * 2018-01-26 2022-11-09 삼성전자주식회사 이미지 처리 장치
US11095876B2 (en) * 2018-01-26 2021-08-17 Samsung Electronics Co., Ltd. Image processing device
EP4221201A1 (en) 2018-01-29 2023-08-02 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
CN111989926B (zh) * 2018-02-26 2024-05-07 交互数字Vc控股公司 用于通用obmc的方法和装置
US11004178B2 (en) 2018-03-01 2021-05-11 Nvidia Corporation Enhancing high-resolution images with data from low-resolution images
WO2019167673A1 (ja) * 2018-03-01 2019-09-06 ソニー株式会社 画像処理装置および方法、撮像素子、並びに、撮像装置
US10432962B1 (en) * 2018-03-13 2019-10-01 Pixelworks, Inc. Accuracy and local smoothness of motion vector fields using motion-model fitting
CN110309328B (zh) * 2018-03-14 2022-03-25 深圳云天励飞技术有限公司 数据存储方法、装置、电子设备及存储介质
JP7005763B2 (ja) 2018-03-22 2022-01-24 グーグル エルエルシー オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
EP3766247A4 (en) * 2018-04-02 2022-01-19 MediaTek Inc. VIDEO PROCESSING METHODS AND APPARATUS FOR SUBBLOCK MOTION COMPENSATION IN VIDEO CODING SYSTEMS
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
KR20230017925A (ko) 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
KR102614649B1 (ko) 2018-04-10 2023-12-14 구글 엘엘씨 게이밍 렌더링에서의 메모리 관리
US10491897B2 (en) * 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
US10798382B2 (en) * 2018-04-26 2020-10-06 Tencent America LLC Sub-block transform
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
SG11202010696UA (en) * 2018-05-29 2020-11-27 Interdigital Vc Holdings Inc Method and apparatus for video encoding and decoding with partially shared luma and chroma coding trees
TWI746994B (zh) * 2018-06-19 2021-11-21 大陸商北京字節跳動網絡技術有限公司 用於不同參考列表的不同精確度
CN108848380B (zh) * 2018-06-20 2021-11-30 腾讯科技(深圳)有限公司 视频编码和解码方法、装置、计算机设备及存储介质
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
US11039315B2 (en) 2018-08-01 2021-06-15 At&T Intellectual Property I, L.P. On-demand super slice instantiation and orchestration
CN112585975A (zh) * 2018-08-20 2021-03-30 日本放送协会 编码装置、解码装置以及程序
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
US11665365B2 (en) * 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
TWI815967B (zh) 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11606569B2 (en) * 2018-09-25 2023-03-14 Apple Inc. Extending supported components for encoding image data
US10893281B2 (en) 2018-10-12 2021-01-12 International Business Machines Corporation Compression of a video stream having frames with relatively heightened quality parameters on blocks on an identified point of interest (PoI)
US10764589B2 (en) * 2018-10-18 2020-09-01 Trisys Co., Ltd. Method and module for processing image data
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020084476A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
CN109640082B (zh) * 2018-10-26 2021-02-12 浙江鼎越电子有限公司 音视频多媒体数据处理方法及其设备
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US10939102B2 (en) * 2018-11-01 2021-03-02 Mediatek Inc. Post processing apparatus with super-resolution filter and loop restoration filter in block-level pipeline and associated post processing method
CN117459722A (zh) 2018-11-12 2024-01-26 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
WO2020103936A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Pruning method for inter prediction with geometry partition
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
JP7040422B2 (ja) * 2018-11-28 2022-03-23 日本電信電話株式会社 動きベクトル生成装置、投影像生成装置、動きベクトル生成方法、およびプログラム
US11025947B2 (en) * 2018-11-29 2021-06-01 Mediatek Inc. Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner
US10855988B2 (en) 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
JP7235877B2 (ja) 2019-01-31 2023-03-08 北京字節跳動網絡技術有限公司 アフィンモード適応型動きベクトル解像度を符号化するためのコンテキスト
US10778972B1 (en) * 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
JP7252016B2 (ja) * 2019-03-13 2023-04-04 日本放送協会 動画像符号化装置、動画像復号装置及びプログラム
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
US10924625B2 (en) * 2019-03-20 2021-02-16 Xerox Corporation Dynamic compression acceleration using real-time image data entropy analysis
WO2020190297A1 (en) * 2019-03-21 2020-09-24 Google Llc Using rate distortion cost as a loss function for deep learning
US11310496B2 (en) * 2019-03-27 2022-04-19 Ati Technologies Ulc Determining quality values for blocks of encoded video
EP3922014A4 (en) 2019-04-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. DECODER SIDE MOTION VECTOR BYPASS
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备
US11223838B2 (en) * 2019-05-26 2022-01-11 Alibaba Group Holding Limited AI-assisted programmable hardware video codec
US10949982B1 (en) * 2019-06-21 2021-03-16 Amazon Technologies, Inc. Moving object recognition, speed estimation, and tagging
KR20220024659A (ko) 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 비디오 처리에서의 적응적 해상도 변경
CN110339567B (zh) * 2019-07-17 2023-05-26 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
WO2021026363A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
CN114616826A (zh) 2019-08-06 2022-06-10 Op方案有限责任公司 基于帧类型的自适应分辨率管理的隐式标识
CN114503581A (zh) 2019-08-06 2022-05-13 Op方案有限责任公司 基于块的自适应分辨率管理
MX2022001592A (es) 2019-08-06 2022-03-11 Op Solutions Llc Método de gestión de resolución adaptativa para reajuste de predicción.
GB2586516B (en) * 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
CN112449140B (zh) * 2019-08-29 2021-09-14 华为技术有限公司 视频超分辨率处理方法及装置
US20220360781A1 (en) * 2019-09-23 2022-11-10 Interdigital Vc Holdings France, Sas Video encoding and decoding using block area based quantization matrices
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
EP3820138A1 (en) * 2019-11-06 2021-05-12 Koninklijke Philips N.V. A system for performing image motion compensation
CA3223625A1 (en) 2019-11-08 2021-05-14 Op Solutions, Llc Methods and systems for adaptive cropping
US11843772B2 (en) * 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
US11308093B1 (en) * 2019-12-13 2022-04-19 Amazon Technologies, Inc. Encoding scheme for numeric-like data types
CN111814844B (zh) * 2020-03-17 2023-07-11 同济大学 一种基于位置编码融合的密集型视频描述方法
EP3902244B1 (en) * 2020-04-23 2022-03-23 Axis AB Controlling a pan-tilt-zoom camera
CN111757107B (zh) 2020-06-29 2024-03-05 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质
US11790533B2 (en) * 2020-07-02 2023-10-17 Sony Group Corporation Machine learning based image segmentation training with contour accuracy evaluation
US11388413B1 (en) 2020-08-03 2022-07-12 Meta Platforms, Inc. Fast encoding parameter selection for convex hull video encoding
US11436699B1 (en) * 2020-08-03 2022-09-06 Meta Platforms, Inc. Predicting encoding parameters for convex hull video encoding
US20210144377A1 (en) * 2020-11-19 2021-05-13 Intel Corporation Method and system of video coding with content adaptive quantization
CN114630120B (zh) * 2020-12-14 2024-03-29 瑞昱半导体股份有限公司 基于自适应压缩率的视频压缩方法与电路系统
US11363262B1 (en) * 2020-12-14 2022-06-14 Google Llc Adaptive GOP structure using temporal dependencies likelihood
KR20220090887A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
WO2022174118A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US20220264111A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US11638025B2 (en) 2021-03-19 2023-04-25 Qualcomm Incorporated Multi-scale optical flow for learned video compression
US11523117B2 (en) * 2021-03-22 2022-12-06 Realtek Semiconductor Corp. Encoder using coding tree unit level adaptive quantization mode to adjust frame level quantization parameter and associated signal processing method
US11871061B1 (en) 2021-03-31 2024-01-09 Amazon Technologies, Inc. Automated adaptive bitrate encoding
KR102562380B1 (ko) * 2021-10-18 2023-08-02 (주)카이미디어 8k 스케일러블 비디오 부호화 방법
US11991424B2 (en) * 2021-11-05 2024-05-21 Tencent America LLC Immersive media data complexity analyzer for transformation of asset formats
CN115002482B (zh) * 2022-04-27 2024-04-16 电子科技大学 使用结构性保持运动估计的端到端视频压缩方法及系统
WO2023219600A1 (en) * 2022-05-07 2023-11-16 Google Llc Motion vector coding using a motion vector precision
US20230412812A1 (en) * 2022-06-15 2023-12-21 Tencent America LLC Systems and methods for joint signaling of transform coefficient signs
US20240080483A1 (en) * 2022-08-26 2024-03-07 Tencent America LLC Systems and methods for warp sample selection and grouping
CN115272083B (zh) * 2022-09-27 2022-12-02 中国人民解放军国防科技大学 一种图像超分辨率方法、装置、设备及介质

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151011B1 (ko) 1994-11-30 1998-10-01 김광호 바이폴라 트랜지스터 및 그 제조방법
US6542547B1 (en) * 1995-05-30 2003-04-01 Texas Instruments Incorporated Efficient heuristic based motion estimation method for video compression
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5729691A (en) * 1995-09-29 1998-03-17 Intel Corporation Two-stage transform for video signals
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
EP0799550B1 (en) 1995-10-25 2000-08-09 Koninklijke Philips Electronics N.V. Segmented picture coding method and system, and corresponding decoding method and system
JP3743837B2 (ja) * 1996-06-14 2006-02-08 株式会社大宇エレクトロニクス ランレングス符号器
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US6850567B1 (en) * 1997-01-13 2005-02-01 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
US6208693B1 (en) * 1997-02-14 2001-03-27 At&T Corp Chroma-key for efficient and low complexity shape representation of coded arbitrary video objects
JP3843581B2 (ja) * 1998-03-05 2006-11-08 富士ゼロックス株式会社 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
US6895051B2 (en) 1998-10-15 2005-05-17 Nokia Mobile Phones Limited Video data encoder and decoder
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US7065253B2 (en) 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
TW589870B (en) 2000-12-19 2004-06-01 Pts Corp Adaptive transforms
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
EP2271111B1 (en) 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
US7453936B2 (en) * 2001-11-09 2008-11-18 Sony Corporation Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
CN101232618B (zh) 2002-04-23 2013-03-27 诺基亚有限公司 用于在视频编码系统中指示量化器参数的方法与设备
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP4767992B2 (ja) * 2002-06-06 2011-09-07 パナソニック株式会社 可変長符号化方法および可変長復号化方法
US7729563B2 (en) 2002-08-28 2010-06-01 Fujifilm Corporation Method and device for video image processing, calculating the similarity between video frames, and acquiring a synthesized frame by synthesizing a plurality of contiguous sampled frames
JP3997171B2 (ja) 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
JP2004007778A (ja) * 2003-07-14 2004-01-08 Victor Co Of Japan Ltd 動き補償復号化方法
US20050094729A1 (en) 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
CN1332563C (zh) * 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
EP1571850A3 (en) * 2004-03-05 2006-12-13 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding image containing grayscale alpha channel image
KR100654431B1 (ko) * 2004-03-08 2006-12-06 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US7461525B2 (en) * 2004-03-13 2008-12-09 Wilson Rodney W Tile sponge washing and conditioning apparatus
JP2005301457A (ja) * 2004-04-07 2005-10-27 Fuji Xerox Co Ltd 画像処理装置、プログラムおよび記録媒体
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
KR100664932B1 (ko) 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
JP2006270301A (ja) * 2005-03-23 2006-10-05 Nippon Hoso Kyokai <Nhk> シーンチェンジ検出装置およびシーンチェンジ検出プログラム
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
WO2006109974A1 (en) 2005-04-13 2006-10-19 Samsung Electronics Co., Ltd. Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same
US7397933B2 (en) 2005-05-27 2008-07-08 Microsoft Corporation Collusion resistant desynchronization for digital video fingerprinting
US8064516B2 (en) * 2005-06-02 2011-11-22 Broadcom Corporation Text recognition during video compression
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
CN101263513A (zh) 2005-07-15 2008-09-10 德克萨斯仪器股份有限公司 过滤和扭曲的运动补偿
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
KR100977101B1 (ko) 2005-11-30 2010-08-23 가부시끼가이샤 도시바 화상 부호화/화상 복호화 방법 및 화상 부호화/화상 복호화장치
US8243804B2 (en) 2005-12-01 2012-08-14 Lsi Corporation Hierarchical motion estimation for images with varying horizontal and/or vertical dimensions
US8265145B1 (en) * 2006-01-13 2012-09-11 Vbrick Systems, Inc. Management and selection of reference frames for long term prediction in motion estimation
US8279928B2 (en) * 2006-05-09 2012-10-02 Canon Kabushiki Kaisha Image encoding apparatus and encoding method, image decoding apparatus and decoding method
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
WO2008023968A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101507280B (zh) 2006-08-25 2012-12-26 汤姆逊许可公司 用于降低分辨率划分的方法和装置
US20080075173A1 (en) * 2006-09-22 2008-03-27 Texas Instruments Incorporated Systems and Methods for Context Adaptive Video Data Preparation
US20100040146A1 (en) 2006-09-22 2010-02-18 Beibei Wang Method and apparatus for multiple pass video coding and decoding
CN105430399A (zh) 2006-11-08 2016-03-23 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
US7460725B2 (en) 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US8875199B2 (en) * 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
EP1926321A1 (en) 2006-11-27 2008-05-28 Matsushita Electric Industrial Co., Ltd. Hybrid texture representation
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
TW200840366A (en) * 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
KR101336445B1 (ko) * 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8437564B2 (en) 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
GB0716158D0 (en) 2007-08-17 2007-09-26 Imagination Tech Ltd Data compression
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
WO2009045682A2 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Treating video information
WO2009045683A1 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
US20090135901A1 (en) * 2007-11-28 2009-05-28 The Hong Kong University Of Science And Technology Complexity adaptive video encoding using multiple reference frames
US8149915B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Refinement of motion vectors in hierarchical motion estimation
US20090154567A1 (en) 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
JP5203717B2 (ja) 2007-12-19 2013-06-05 パナソニック株式会社 符号器、復号器、符号化方法、及び、復号方法
JP4309453B2 (ja) 2007-12-26 2009-08-05 株式会社東芝 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置
US20090167775A1 (en) 2007-12-30 2009-07-02 Ning Lu Motion estimation compatible with multiple standards
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
CN101272494B (zh) * 2008-01-25 2011-06-08 浙江大学 利用合成参考帧的视频编解码方法及装置
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US8254469B2 (en) 2008-05-07 2012-08-28 Kiu Sha Management Liability Company Error concealment for frame loss in multiple description coding
CN102037730B (zh) * 2008-05-22 2013-06-12 爱立信电话股份有限公司 内容自适应视频编码器和编码方法
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
TWI359617B (en) 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101441903B1 (ko) 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP4427600B1 (ja) 2008-11-28 2010-03-10 株式会社東芝 映像解析装置およびプログラム
US8774559B2 (en) * 2009-01-19 2014-07-08 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
EP2271102A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
CN102474269A (zh) 2009-08-06 2012-05-23 松下电器产业株式会社 编码方法、解码方法、编码装置及解码装置
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8711938B2 (en) * 2009-09-04 2014-04-29 Sharp Laboratories Of America, Inc. Methods and systems for motion estimation with nonlinear motion-field smoothing
JP2011066844A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
WO2011039931A1 (ja) 2009-09-30 2011-04-07 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
EP2312854A1 (de) * 2009-10-15 2011-04-20 Siemens Aktiengesellschaft Verfahren zur Codierung von Symbolen aus einer Folge digitalisierter Bilder
JP5791618B2 (ja) * 2009-10-29 2015-10-07 ベステル エレクトロニク サナイー ベ ティカレト エー.エス. ビデオ・シーケンスを処理する方法及び装置
US20110109721A1 (en) 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
KR20120086232A (ko) 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US8559511B2 (en) 2010-03-30 2013-10-15 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for video coding by ABT-based just noticeable difference model
WO2011120221A1 (en) * 2010-03-31 2011-10-06 Intel Corporation Power efficient motion estimation techniques for video encoding
JP5377395B2 (ja) 2010-04-02 2013-12-25 日本放送協会 符号化装置、復号装置及びプログラム
KR20110112168A (ko) 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
JP5393573B2 (ja) * 2010-04-08 2014-01-22 株式会社Nttドコモ 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法、動画像予測符号化プログラム、及び動画像予測復号プログラム
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
RS64605B1 (sr) * 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
HUE037656T2 (hu) * 2010-04-13 2018-09-28 Fraunhofer Ges Forschung Valószínûség intervallum partícionáló kódoló és dekódoló
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101444691B1 (ko) 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
CN102907092B (zh) 2010-05-26 2017-02-15 高通股份有限公司 相机参数辅助式视频帧速率上转换
KR20110135787A (ko) 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
WO2011158225A1 (en) * 2010-06-17 2011-12-22 Mirtemis Ltd. System and method for enhancing images
US8934540B2 (en) * 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
JP5500665B2 (ja) * 2010-08-26 2014-05-21 フリースケール セミコンダクター インコーポレイテッド ビデオ処理システムおよびビデオデータの並列処理のための方法
EP3849194B1 (en) 2010-09-27 2022-08-03 LG Electronics, Inc. Method for partitioning block and decoding device
JP2012080213A (ja) 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US8885704B2 (en) 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US9628821B2 (en) * 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
WO2012047304A1 (en) * 2010-10-04 2012-04-12 Vidyo, Inc. Delay aware rate control in the context of hierarchical p picture coding
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US20120269275A1 (en) * 2010-10-20 2012-10-25 Nokia Corporation Method and device for video coding and decoding
US8873627B2 (en) * 2010-12-07 2014-10-28 Mediatek Inc Method and apparatus of video coding using picture structure with low-delay hierarchical B group
US9462280B2 (en) 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
US8761245B2 (en) * 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
CN102572419B (zh) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
BR112013017490A2 (pt) 2011-01-07 2017-10-24 Samsung Electronics Co Ltd método de previsão de vídeo, aparelho de previsão de vídeo, e mídia de gravação legível por computador
JP5988252B2 (ja) * 2011-01-12 2016-09-07 サン パテント トラスト 複数の参照ピクチャを用いた、動画像符号化方法、動画像復号方法、動画像符号化装置、及び、動画像復号装置
US9602819B2 (en) * 2011-01-31 2017-03-21 Apple Inc. Display quality in a variable resolution video coder/decoder system
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
GB2488159B (en) * 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
JP2012186763A (ja) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9848197B2 (en) * 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US20120262545A1 (en) * 2011-04-18 2012-10-18 Paul Kerbiriou Method for coding and decoding a 3d video signal and corresponding devices
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US8494290B2 (en) 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system
NO335667B1 (no) 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
WO2013003791A1 (en) 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
CN104980746B (zh) * 2011-07-01 2018-07-31 三星电子株式会社 用于使用分层数据单元进行编码和解码的方法和设备
KR101362696B1 (ko) 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
KR20130045425A (ko) 2011-10-25 2013-05-06 (주)케이테크 소셜 온톨로지 기반 지식 전문가 추천방법
US10452743B2 (en) 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
KR101327078B1 (ko) * 2012-04-27 2013-11-07 엘지이노텍 주식회사 카메라 및 이의 영상 처리 방법
JP6055555B2 (ja) * 2012-11-13 2016-12-27 インテル コーポレイション 次世代ビデオのためのビデオコーデックアーキテクチャ
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video

Also Published As

Publication number Publication date
CN104718756A (zh) 2015-06-17
EP2951998A4 (en) 2016-09-28
WO2014120987A1 (en) 2014-08-07
EP2951995A1 (en) 2015-12-09
WO2014120375A2 (en) 2014-08-07
KR20150055005A (ko) 2015-05-20
JP2016508327A (ja) 2016-03-17
US20150010062A1 (en) 2015-01-08
US20150373328A1 (en) 2015-12-24
EP2951995A4 (en) 2016-09-21
WO2014120373A1 (en) 2014-08-07
US20160277738A1 (en) 2016-09-22
US9973758B2 (en) 2018-05-15
KR102063385B1 (ko) 2020-01-07
EP2951994A1 (en) 2015-12-09
CN104885467B (zh) 2018-08-17
US20180176577A1 (en) 2018-06-21
KR20150058324A (ko) 2015-05-28
EP2951993A4 (en) 2016-09-14
US20150229926A1 (en) 2015-08-13
JP6163674B2 (ja) 2017-07-19
EP2996338A3 (en) 2016-07-06
EP2951993A1 (en) 2015-12-09
US10284852B2 (en) 2019-05-07
US20140362922A1 (en) 2014-12-11
EP2952003A4 (en) 2016-09-14
EP2951999A4 (en) 2016-07-20
WO2014120375A3 (en) 2016-03-17
WO2014120368A1 (en) 2014-08-07
KR20150090178A (ko) 2015-08-05
CN105191309B (zh) 2018-08-10
JP6286718B2 (ja) 2018-03-07
US20160277739A1 (en) 2016-09-22
EP2952002A1 (en) 2015-12-09
CN104718756B (zh) 2019-02-15
US10009610B2 (en) 2018-06-26
EP2951994A4 (en) 2016-10-12
CN104885455A (zh) 2015-09-02
US20170318297A1 (en) 2017-11-02
JP2016514378A (ja) 2016-05-19
CN104885471B (zh) 2019-06-28
WO2014120960A1 (en) 2014-08-07
US9762911B2 (en) 2017-09-12
US9787990B2 (en) 2017-10-10
RU2015126241A (ru) 2017-01-11
JP6339099B2 (ja) 2018-06-06
EP2952001A4 (en) 2016-09-14
WO2014120367A1 (en) 2014-08-07
US20150016523A1 (en) 2015-01-15
KR20170066712A (ko) 2017-06-14
WO2014120374A1 (en) 2014-08-07
WO2015099814A1 (en) 2015-07-02
CN104885470B (zh) 2018-08-07
EP2952004A1 (en) 2015-12-09
CN105191309A (zh) 2015-12-23
US20150319442A1 (en) 2015-11-05
CN105052140B (zh) 2019-01-15
KR20150090206A (ko) 2015-08-05
EP2951999A1 (en) 2015-12-09
CN104885471A (zh) 2015-09-02
CN104737542A (zh) 2015-06-24
CN104885455B (zh) 2019-02-22
US20160127741A1 (en) 2016-05-05
US9794569B2 (en) 2017-10-17
EP2952004A4 (en) 2016-09-14
WO2014120656A1 (en) 2014-08-07
JP2016506187A (ja) 2016-02-25
EP3013053A3 (en) 2016-07-20
US10284853B2 (en) 2019-05-07
EP3013053A2 (en) 2016-04-27
CN105052140A (zh) 2015-11-11
US20170006284A1 (en) 2017-01-05
EP2952003A1 (en) 2015-12-09
CN105453570A (zh) 2016-03-30
EP3008900A2 (en) 2016-04-20
US9686551B2 (en) 2017-06-20
EP2952002A4 (en) 2016-09-21
WO2014120369A1 (en) 2014-08-07
CN104737542B (zh) 2018-09-25
EP2952003B1 (en) 2019-07-17
KR20150090194A (ko) 2015-08-05
EP2996338A2 (en) 2016-03-16
RU2612600C2 (ru) 2017-03-09
CN105453570B (zh) 2020-03-17
US9794568B2 (en) 2017-10-17
US20150319441A1 (en) 2015-11-05
KR101770047B1 (ko) 2017-08-21
CN104885467A (zh) 2015-09-02
US9609330B2 (en) 2017-03-28
US10021392B2 (en) 2018-07-10
US9973757B2 (en) 2018-05-15
CN105556964B (zh) 2019-02-01
EP2952001A1 (en) 2015-12-09
CN104885470A (zh) 2015-09-02
EP3008900A4 (en) 2017-03-15
US20150036737A1 (en) 2015-02-05
CN105556964A (zh) 2016-05-04
EP2951998A1 (en) 2015-12-09
WO2014120575A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
BR112015015575A2 (pt) particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração
KR102596735B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
WO2020177520A1 (en) An encoder, a decoder and corresponding methods using ibc search range optimization for abitrary ctu size
EP3922034B1 (en) Harmonizing matrix-based intra prediction and secondary transform core selection
WO2014078068A1 (en) Content adaptive transform coding for next generation video
BR112020026686A2 (pt) Sistema e método para codificação de vídeo
BR112014032226B1 (pt) Dispositivo e método de processamento de imagem
CA3131028A1 (en) Method and apparatus for affine based inter prediction of chroma subblocks
US20140286415A1 (en) Video encoding/decoding method and apparatus for same
US20240056596A1 (en) Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction
JP2022521757A (ja) 線形モデルを使用したイントラ予測のための方法および装置
BR112021003999A2 (pt) relação entre elementos de restrição de partição
BR112020025145A2 (pt) filtro de desbloqueio para fronteiras de subpartição causadas por ferramenta de codificação de subpartição intra
BR122023021035A2 (pt) Método de compactação do vetor de movimento, meio de armazenamento legível por computador não transitório, codificador, decodificador e meio de armazenamento
US20220182678A1 (en) Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter
KR20220065880A (ko) 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용
BR112021012708A2 (pt) Método e aparelho de modelagem linear de componente cruzado para predição intra
BR112021009833A2 (pt) codificador, decodificador e métodos correspondentes para predição inter
BR112021003946A2 (pt) codificador de vídeo, decodificador de vídeo e métodos correspondentes
ES2967903T3 (es) Codificador, decodificador y métodos correspondientes utilizando filtrado por interpolación
WO2021045655A9 (en) Method and apparatus for intra prediction
BR112020026183A2 (pt) Método de codificação de vídeo, codificador, decodificador e produto de programa de computador
BR112015023251B1 (pt) Codificação de profundidade simplificada com intracodificação modificada para codificação de vídeo em 3d
AU2020276527B2 (en) An encoder, a decoder and corresponding methods using IBC dedicated buffer and default value refreshing for luma and chroma component
EP4236313A2 (en) An encoder, a decoder and corresponding methods of reduction on intra prediction for the planar mode

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15I Others concerning applications: loss of priority

Free format text: PERDA DA PRIORIDADE US 61/758,314 DE 30/01/2013 REIVINDICADA NO PCT/US2013/077702 POR NAO CUMPRIMENTO DA EXIGENCIA PUBLICADA NA RPI 2547 DE 29/10/2019 PARA APRESENTACAO DE DOCUMENTO DE CESSAO CORRETO

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/91 , H04N 19/50

Ipc: H04N 19/117 (2014.01), H04N 19/119 (2014.01), H04N

B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements
B350 Update of information on the portal [chapter 15.35 patent gazette]