PL231066B1 - Sposób i urządzenie do intra-predykcji na ekranie monitora - Google Patents

Sposób i urządzenie do intra-predykcji na ekranie monitora

Info

Publication number
PL231066B1
PL231066B1 PL407846A PL40784612A PL231066B1 PL 231066 B1 PL231066 B1 PL 231066B1 PL 407846 A PL407846 A PL 407846A PL 40784612 A PL40784612 A PL 40784612A PL 231066 B1 PL231066 B1 PL 231066B1
Authority
PL
Poland
Prior art keywords
pixel
prediction
block
pixels
intra
Prior art date
Application number
PL407846A
Other languages
English (en)
Other versions
PL407846A1 (pl
Inventor
Jae Cheol Kwon
Joo Young Kim
Original Assignee
Kt 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 Kt Corp filed Critical Kt Corp
Publication of PL407846A1 publication Critical patent/PL407846A1/pl
Publication of PL231066B1 publication Critical patent/PL231066B1/pl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/18Methods 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 set of transform coefficients
    • 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/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
    • 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/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/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Opis wynalazku
Dziedzina wynalazku
Wynalazek dotyczy techniki przetwarzania obrazu, a w zwłaszcza sposobu intra-predykcji w kodowaniu/dekodowaniu informacji wideo.
Tło wynalazku
Współcześnie, w różnych dziedzinach, wymogi dla obrazów o wysokiej rozdzielczości i wysokiej jakości uległy zwiększeniu. Ponieważ obrazy mają wyższą rozdzielczość i wyższą jakość, ilość informacji na obrazach również ulega zwiększeniu. W związku z tym, gdy dane wideo są transferowane przy użyciu nośników, takich jak obecnie stosowane przewodowe i bezprzewodowe łącza szerokopasmowe, lub gdy przechowywane są w standardowych mediach magazynujących, koszty transferu i magazynowania danych wideo rosną.
Tak więc, dla skutecznego przesyłania, magazynowania i odtwarzania obrazów o doskonałej rozdzielczości i jakości stosowane mogą być wydajne techniki kompresji wideo.
Opis
Problem techniczny
Przedmiotem wynalazku jest zapewnienie sposobu wykonywania efektywnej intra-predykcji na teksturze z kierunkowością z uwzględnieniem zmienności w pikselach odniesienia sąsiadujących bloków.
Kolejnym przedmiotem wynalazku jest zapewnienie sposobu wykonywania predykcji planarnej z uwzględnieniem zmienności w wartościach pikseli sąsiadujących bloków po blok predykcji podczas przeprowadzania intra-predykcji.
Kolejnym przedmiotem wynalazku jest zapewnienie sposobu generowania piksela odniesienia w oparciu o sąsiadujący blok trybu intra (ang. intra-mode) w położeniu sąsiadującego piksela trybu interpredykcji i zastosowanie piksela odniesienia do intra-predykcji gdy stosowana jest ograniczona intrapredykcja (CIP, ang. constrained intra prediction).
Jeszcze innym przedmiotem wynalazku jest zapewnienie sposobu generowania piksela odniesienia z uwzględnieniem zmienności w wartościach pikseli, gdy piksel odniesienia jest generowany w oparciu o sąsiadujący blok trybu intra w położeniu sąsiadującego piksela w trybie inter-predykcji. Rozwiązanie techniczne
Przykład wykonania wynalazku zapewnia sposób intra-predykcji kodera, przy czym sposób obejmuje generowanie pikseli odniesienia do intra-predykcji w odniesieniu do wejściowej jednostki predykcji, określenie trybu intra dla jednostki predykcji, generowanie bloku predykcji w oparciu o piksele odniesienia i tryb intra, i generowanie bloku rezydualnego dla jednostki predykcji i bloku predykcji, przy czym co najmniej jeden z pikseli odniesienia i pikseli bloku predykcji jest przewidywany w oparciu o piksel bazowy, a wartość piksela przewidywanego piksela stanowi sumę wartości piksela bazowego i zmienności w wartości piksela począwszy od piksela bazowego po piksel generowany.
Piksel odniesienia sąsiadującego bloku umieszczony w górnym lewym rogu bloku predykcji może zostać ustawiony jako pierwszy piksel bazowy, wartość uzyskana przez zastosowanie zmienności w wartości piksela począwszy od pierwszego piksela bazowego po najniższy piksel spośród pikseli odniesienia sąsiadującego bloku umieszczonych na lewej granicy bloku predykcji, i zmienności w wartości piksela począwszy od pierwszego piksela bazowego przez piksel położony najbardziej na prawo, spośród pikseli odniesienia sąsiadującego bloku, umieszczonych na górnej granicy bloku predykcji po piksel bazowy, może zostać ustawiona jako wartość piksela drugiego piksela bazowego jako piksel diagonalny w prawym dolnym rogu bloku predykcji, a wartości pikseli diagonalnych bloku predykcji mogą być przewidywane na podstawie pierwszego piksela bazowego i drugiego piksela bazowego.
Tutaj, niediagonalne piksele bloku predykcji są przewidywane interpolacją lub ekstrapolacją z zastosowaniem pikseli diagonalnych i pikseli sąsiadujących bloków na górnych i/lub lewych granicach bloku predykcji.
Ponadto, piksel odniesienia sąsiadującego bloku umieszczony w górnym lewym rogu bloku predykcji może zostać ustawiony jako piksel bazowy, a wartość, uzyskana przez zastosowanie zmienności w wartości piksela począwszy od piksela bazowego po sąsiadujący piksel, umieszczony w tym samym rzędzie co docelowy piksel predykcji, spośród pikseli odniesienia sąsiadującego bloku umieszczonych na lewej granicy bloku predykcji i zmienności w wartości piksela począwszy od piksela bazowego przez sąsiadujący piksel, umieszczony w tej samej kolumnie co docelowy piksel predykcji, spośród pikseli
PL 231 066 B1 odniesienia sąsiadującego bloku, umieszczonych na górnej granicy bloku predykcji po piksel bazowy, może być przewidywana jako wartość piksela docelowego piksela predykcji.
Ponadto, piksel umieszczony w tym samym rzędzie lub kolumnie co docelowy piksel predykcji spośród pikseli sąsiadujących bloków umieszczonych na lewej lub górnej granicy bloku predykcji może zostać ustawiony jako piksel bazowy, a wartość uzyskana przez zastosowanie zmienności w wartości piksela, począwszy od piksela bazowego, przez piksel predykcji po piksel bazowy, może być przewidywana jako wartość piksela docelowego piksela predykcji.
Tutaj, docelowym pikselem predykcji może być piksel diagonalny bloku predykcji, a niediagonalny piksel bloku predykcji może być przewidywany interpolacją z zastosowaniem piksela diagonalnego i pikseli sąsiadujących bloków.
Sposób intra-predykcji może obejmować również generowanie piksela odniesienia umieszczonego na granicy między blokiem trybu inter (ang. inter-mode), a jednostką predykcji, gdy blok sąsiadujący z jednostką predykcji jest w bloku trybu inter, przy czym piksel, umieszczon y na granicy jednostki predykcji spośród pikseli bloku trybu intra umieszczonych po lewej stronie lub dolnej stronie piksela odniesienia, może zostać ustawiony jako pierwszy piksel bazowy, przy czym piksel, umieszczony na granicy jednostki predykcji spośród pikseli bloku trybu intra po prawej stronie lub górnej stronie piksela odniesienia, może zostać ustawiony jako drugi piksel bazowy, a piksel odniesienia może być generowany w oparciu o odległość między pierwszym pikselem bazowym a pikselem odniesienia, i odległość między drugim pikselem bazowym a pikselem odniesienia.
Tutaj, wartość piksela pierwszego piksela bazowego może być średnią wartością pikseli umieszczonych na granicy jednostki predykcji spośród pikseli bloku trybu intra, do którego należy pierwszy piksel bazowy, a wartość piksela drugiego piksela bazowego może być średnią wartością pikseli umieszczonych na granicy jednostki predykcji spośród pikseli bloku trybu intra, do którego należy drugi piksel bazowy. Ponadto, wartość piksela pierwszego piksela bazowego może być wartością piksela odniesienia gdy blok trybu intra jest umieszczony tylko po lewej stronie lub na dolnej stronie piksela odniesienia, a wartość piksela drugiego piksela bazowego może być wartością piksela odniesienia gdy blok trybu intra jest umieszczony tylko po prawej stronie lub na górnej stronie piksela odniesienia.
Inny przykład wykonania wynalazku zapewnia sposób intra-predykcji dekodera, przy czym sposób obejmuje dekodowanie entropijne odebranego strumienia bitów, generowanie piksela odniesienia stosowanego do intra-predykcji jednostki predykcji, generowanie bloku predykcji z piksela odniesienia w oparciu o tryb predykcji dla jednostki predykcji, i rekonstruowanie obrazu z bloku rezydualnego uzyskanego z dekodowania entropijnego i bloku predykcji, przy czym co najmniej jeden z pikseli odniesienia i pikseli bloku predykcji jest przewidywany w oparciu o piksel bazowy, a wartość piksela przewidywanego piksela jest sumą wartości piksela bazowego i zmienności w wartości piksela począwszy od piksela bazowego po piksel generowany.
Piksel odniesienia sąsiadującego bloku umieszczony w górnym lewym rogu bloku predykcji może zostać ustalony jako pierwszy piksel bazowy, wartość uzyskana przez zastosowanie zmienności w wartości piksela począwszy od pierwszego piksela bazowego po najniższy piksel, spośród pikseli odniesienia sąsiadującego bloku, umieszczonych na lewej granicy bloku predykcji, i zmienności w wartości piksela począwszy od pierwszego piksela bazowego, przez pikselem położony najbardziej na prawo, spośród pikseli odniesienia sąsiadującego bloku umieszczonych na górnej granicy bloku predykcji, po piksel bazowy, może zostać ustawiona jako wartość piksela drugiego piksela bazowego, jako piksel diagonalny w prawym dolnym rogu bloku predykcji, a wartości pikseli diagonalnych bloku predykcji mogą być przewidywane na podstawie pierwszego piksela bazowego i drugiego piksela bazowego.
Tutaj, niediagonalne piksele bloku predykcji mogą być przewidywane interpolacją lub ekstrapolacją z zastosowaniem pikseli diagonalnych i pikseli sąsiadujących bloków na górnych i/lub lewych granicach bloku predykcji.
Piksel odniesienia sąsiadującego bloku, umieszczony w górnym lewym rogu bloku predykcji może zostać ustawiony jako piksel bazowy, a wartość uzyskana przez zastosowanie zmienności w wartości piksela począwszy od piksela bazowego po sąsiadujący piksel, umieszczony w tym samym rzędzie co docelowy piksel predykcji, spośród pikseli odniesienia sąsiadującego bloku, umieszczonych na lewej granicy bloku predykcji, i zmienności w wartości piksela począwszy od piksela bazowego przez sąsiadujący piksel, umieszczony w tej samej kolumnie co docelowy piksel predykcji spośród pikseli odniesienia sąsiadującego bloku, umieszczonych na górnej granicy bloku predykcji, po piksel bazowy, może być przewidywana jako wartość piksela docelowego piksela predykcji.
PL 231 066 B1
Ponadto, piksel umieszczony w tym samym rzędzie lub kolumnie co docelowy piksel predykcji spośród pikseli sąsiadujących bloków, umieszczonych na lewej lub górnej granicy bloku predykcji może zostać ustawiony jako piksel bazowy, a wartość uzyskana przez zastosowanie zmienności w wartości piksela począwszy od piksela bazowego, przez piksel predykcji, po piksel bazowy, może być przewidywana jako wartość piksela docelowego piksela predykcji.
Tutaj, docelowym pikselem predykcji może być diagonalny piksel bloku predykcji, a niediagonalny piksel bloku predykcji może być przewidywany interpolacją z zastosowaniem diagonalnego piksela i pikseli sąsiadujących bloków.
Intra-predykcja może również obejmować generowanie piksela odniesienia umieszczonego na granicy między blokiem trybu inter, a jednostką predykcji gdy blok sąsiadujący z jednostką predykcji jest blokiem trybu inter, przy czym piksel umieszczony na granicy jednostki predykcji spośród pikseli bloku trybu intra, umieszczonych po lewej stronie lub dolnej stronie piksela odniesienia może zostać ustawiony jako pierwszy piksel bazowy, przy czym piksel umieszczony na granicy jednostki predykcji spośród pikseli bloku trybu intra po prawej stronie lub górnej stronie piksela odniesienia może zostać ustawiony jako drugi piksel bazowy, a piksel odniesienia może być generowany w oparciu o odległość między pierwszym pikselem bazowym a pikselem odniesienia i odległość między drugim pikselem bazowym a pikselem odniesienia.
Tutaj, wartość piksela pierwszego piksela bazowego może być średnią wartością pikseli umieszczonych na granicy jednostki predykcji spośród pikseli bloku trybu intra, do którego należy pierwszy piksel bazowy, a wartość piksela drugiego piksela bazowego może być średnią wartością pikseli umieszczonych na granicy jednostki predykcji spośród pikseli bloku trybu intra, do którego należy drugi piksel bazowy. Ponadto, wartość piksela pierwszego piksela bazowego może być wartością piksela odniesienia gdy blok trybu intra jest umieszczony tylko po lewej stronie lub na dolnej stronie piksela odniesienia, a wartość piksela drugiego piksela bazowego może być wartością piksela odniesienia, gdy blok trybu intra jest umieszczony tylko po prawej stronie lub na górnej stronie piksela odniesienia.
Dekoder może otrzymać instrukcję generowania pikseli bloku predykcji w oparciu o piksel bazowy poprzez dekodowanie entropijne. Ponadto, dekoder może otrzymać instrukcje generowania pikseli odniesienia w oparciu o piksel bazowy poprzez dekodowanie entropijne.
Korzystne efekty
Jak opisano powyżej, według wynalazku, intra-predykcja na teksturze z kierunkowością może zostać osiągnięta skutecznie z uwzględnieniem zmienności w pikselach odniesienia sąsiadujących bloków.
Ponadto, predykcja planarna może zostać wykonana z uwzględnieniem zmienności w wartościach pikseli bloków sąsiadujących z blokiem predykcji, zwiększając skuteczność predykcji.
Oprócz tego, gdy stosowana jest ograniczona intra-predykcja (CIP), piksel odniesienia jest generowany w oparciu o sąsiadujący blok trybu intra, w położeniu sąsiadującego piksela trybu inter i stosowany do intra-predykcji, z uwzględnieniem zmienności w wartości pikseli, zwiększając skuteczność predykcji. Opis rysunków
Fig. 1 to schemat blokowy przedstawiający konfigurację kodera wideo według przykładu wykonania wynalazku.
Fig. 2 to schemat blokowy schematycznie przedstawiający konfigurację modułu intra-predykcji według przykładu wykonania wynalazku.
Fig. 3 to schemat blokowy przedstawiający konfigurację dekodera wideo według przykładu wykonania wynalazku.
Fig. 4 schematycznie przedstawia sposób predykcji planarnej.
Fig. 5 schematycznie przedstawia alternatywny sposób predykcji planarnej.
Fig. 6 schematycznie przedstawia to, że piksel diagonalny aktualnego bloku predykcji jest przewidywany jako pierwszy.
Fig. 7 schematycznie przedstawia sposób otrzymywania innych wartości pikseli w bloku predykcji w oparciu o piksel diagonalny.
Fig. 8 schematycznie przedstawia sposób predykcji wartości piksela z uwzględnieniem wartości piksela odniesienia i zmienności począwszy od piksela odniesienia.
Fig. 9 schematycznie przedstawia sposób otrzymywania najpierw pikseli diagonalnych bloku predykcji a następnie wartości pozostałych pikseli.
Fig. 10 schematycznie przedstawia to, że piksele diagonalne są otrzymywane jako pierwsze, a piksele inne niż piksele diagonalne są otrzymywane według tego samego sposobu co piksele diagonalne.
PL 231 066 B1
Fig. 11 schematycznie przedstawia sposób CIP.
Fig. 12 schematycznie przedstawia alternatywny sposób CIP.
Fig. 13 schematycznie przedstawia to, że układ według wynalazku przeprowadza CIP z uwzględnieniem zmienności w wartościach pikseli.
Fig. 14 to schemat przepływu przedstawiający działanie kodera w układzie według wynalazku.
Fig. 15 przedstawia kierunek predykcji trybu intra-predykcji.
Fig. 16 to schemat przepływu przedstawiający działanie dekodera w układzie według wynalazku. Sposób wykonania wynalazku
Mimo, że elementy przedstawione na rysunku są przedstawione niezależnie od siebie dla opisania różnych cech i funkcji kodera/dekodera wideo, konfiguracja taka nie wskazuje, że każdy element jest skonstruowany przez osobne składowe sprzętu lub oprogramowania. To znaczy, elementy są rozmieszczone niezależnie od siebie i co najmniej dwa elementy mogą zostać połączone w pojedynczy element, lub jeden element może być podzielony na wiele elementów dla wykonywania funkcji. Należy zaznaczyć, że przykłady wykonania, w których niektóre elementy są zintegrowane w jeden połączony element i/lub element jest podzielony na wiele osobnych elementów, są włączone w zakres wynalazku bez odchodzenia od istoty wynalazku.
Poniżej, przykładowy przykład wykonania wynalazku zostanie opisany bardziej szczegółowo w odniesieniu do załączonego rysunku. Te same odnośniki numeryczne na rysunku odwołują się wszędzie do tych samych elementów, a powtarzające się opisy tych samych elementów zostaną tu pominięte.
Fig. 1 to schemat blokowy przedstawiający konfigurację kodera wideo według przykładu wykonania wynalazku. W nawiązaniu do fig. 1, koder video zawiera moduł partycji obrazu 110, moduł interpredykcji 120, moduł intra-predykcji 125, moduł transformacji 130, moduł kwantyzacji 135, moduł dekwantyzacji 140, moduł transformacji odwrotnej 145, filtr 150 usuwania efektu blokowego, pamięć 160, moduł przegrupowania 165 i moduł kodowania entropijnego 170.
Moduł partycji obrazu 110 może odbierać dane wejściowe aktualnego obrazu i dzielić obraz, na co najmniej jedną jednostkę kodującą. Jednostka kodująca jest jednostką kodowania przeprowadzaną przez koder wideo i może być też zwana CU. Jednostka kodująca może zostać rekurencyjnie podzielona na mniejsze części z głębią opartą o strukturę drzewa czwórkowego. Jednostka kodująca o maksymalnym rozmiarze jest zwana największą jednostką kodującą (LCU, ang. largest coding unit), a jednostka kodująca o minimalnym rozmiarze, najmniejszą jednostką kodują (SCU, ang. smallest coding unit). Jednostka kodująca może mieć rozmiar 8 x 8, 16 x 16, 32 x 32 lub 64 x 64. Moduł partycji obrazu 110 może zawierać, albo dzielić, jednostkę kodującą generując jednostkę predykcji i jednostkę transformacji. Jednostkę predykcji można zwać także PU, a jednostkę transformacji można określać także jako TU.
W trybie inter-predykcji, moduł inter-predykcji 120 może wykonywać estymację ruchu (ME) lub kompensację ruchu (MC). Moduł inter-predykcji 120 generuje blok predykcji w oparciu o informacje o co najmniej jednym poprzedzającym i następującym obrazie aktualnego obrazu, co można nazwać również predykcją międzyklatkową (ang. inter-frame).
Moduł inter-predykcji 120 jest wyposażony w segmentowany docelowy blok predykcji i co najmniej jeden blok odniesienia, przechowywany w pamięci 160. Moduł inter-predykcji 120 wykonuje estymację ruchu przy użyciu docelowego bloku predykcji i bloku odniesienia. Moduł inter-predykcji 120 generuje informacje o ruchu zawierające wektor ruchu (MV), wskaźnik bloku odniesienia i tryb predykcji jako wynik estymacji ruchu.
Ponadto, moduł inter-predykcji 120 wykonuje kompensację ruchu przy użyciu informacji o ruchu i bloku odniesienia. Tutaj, moduł inter-predykcji 120 generuje i daje na wyjściu blok predykcji odpowiadający blokowi wejścia z bloku odniesienia.
Informacja o ruchu jest kodowana entropijnie dla utworzenia skompresowanego strumienia bitów, który jest transmitowany z kodera wideo to dekodera wideo.
W trybie intra-predykcji, moduł intra-predykcji 125 może generować blok intra-predykcji w oparciu o informacje o pikselu w aktualnym obrazie. Intra-predykcja jest zwana również predykcją wewnątrzklatkową (ang. intra-frame prediction). W trybie intra-predykcji, docelowy blok predykcji i zrekonstruowany blok, zrekonstruowany przez kodowanie i dekodowanie są wprowadzane do modułu intra-predykcji 125. Tutaj, zrekonstruowany blok jest obrazem, który nie został poddany działaniu filtra usuwania efektu blokowego. Zrekonstruowany blok może być poprzednim blokiem predykcji.
Fig. 2 to schemat blokowy schematycznie przedstawiający konfigurację modułu intra-predykcji według przykładu wykonania wynalazku. W nawiązaniu do fig. 2, moduł intra-predykcji zawiera moduł
PL 231 066 B1 generujący 210 piksel odniesienia, moduł ustalający 220 tryb intra-predykcji i moduł generujący 230 blok predykcji.
Moduł generujący 210 piksel odniesienia generuje piksel odniesienia wymagany do intra-predykcji. Piksel w umieszczonej najbardziej na prawo linii pionowej lewego bloku sąsiadującego z docelowym blokiem predykcji i piksele w najniższej linii poziomej górnego bloku sąsiadującego z docelowym blokiem predykcji są stosowane do generowania piksela odniesienia. Na przykład, gdy docelowy blok predykcji ma rozmiar N, 2N pikseli w każdym lewym i górnym kierunku jest stosowanych jako piksele odniesienia. Piksel odniesienia może być stosowany jako taki lub przez filtrowanie adaptacyjnym wygładzaniem wewnętrznym (AIS, ang. adaptive intra smoothing). Gdy piksel odniesienia zostanie poddany filtrowaniu AIS, informacja o filtrowaniu AIS jest sygnalizowana.
Moduł ustalający 220 tryb intra-predykcji odbiera informację wejściową o docelowym bloku predykcji i zrekonstruowanym bloku. Moduł ustalający 220 tryb intra-predykcji wybiera tryb minimalizujący ilość informacji do zakodowania spośród trybów predykcji przy użyciu obrazów wejściowych i daje na wyjściu informacje o trybie predykcji. Można tutaj zastosować ustaloną funkcję kosztów lub transformatę Hadamarda.
Moduł generujący 230 blok predykcji odbiera informacje wejściowe o trybie predykcji i pikselu odniesienia. Moduł generujący 230 blok predykcji przestrzennie przewiduje i kompensuje wartość piksela docelowego bloku predykcji z zastosowaniem informacji o trybie predykcji i wartości piksela odniesienia, generując tym samym blok predykcji.
Informacja o trybie predykcji jest kodowana entropijnie tworząc skompresowany strumień bitów wraz z danymi wideo i transmitowana z kodera wideo do dekodera wideo. Dekoder wideo używa informacji o trybie predykcji gdy generuje blok intra-predykcji.
W nawiązaniu do fig. 1, blok różnicowy jest generowany przez różnicę między docelowym blokiem predykcji a blokiem predykcji generowanym w trybie inter-predykcji lub intra-predykcji, i wprowadzany jest do modułu transformacji 130. Moduł transformacji 130 transformuje blok różnicowy w jednostce transformacji generując współczynnik transformacji.
Blok transformacji z jednostką transformacji ma strukturę drzewa czwórkowego w zakresie maksymalnego i minimalnego rozmiaru, a zatem nie jest ograniczony do ustalonego wcześniej rozmiaru. Każdy blok transformacji ma flagę wskazującą, czy aktualny blok jest posegmentowany na podbloki, przy czym gdy flaga wynosi 1, aktualny blok transformacji może zostać podzielony na cztery podbloki. Do transformacji można zastosować dyskretną transformację kosinusową (DCT).
Moduł kwantyzacji 135 może kwantyzować wartości transformowane przez moduł transformacji 130. Współczynnik kwantyzacji może się zmienić w oparciu o blok lub znaczenie obrazu. Kwantyzowany współczynnik transformacji może zostać dostarczony do modułu przegrupowania 165 i modułu dekwantyzacji 140.
Moduł przegrupowania 165 może zmienić dwuwymiarowy (2D) blok współczynników transformacji w jednowymiarowy (1D) wektor współczynników transformacji przez skanowanie tak, że zwiększa skuteczność kodowania entropijnego. Moduł przegrupowania 165 może zmieniać kolejność skanowania w oparciu o statystykę stochastyczną dla zwiększenia skuteczności kodowania entropijnego.
Moduł kodowania entropijnego 170 koduje entropijnie wartości uzyskane przez moduł przegrupowania 165, a zakodowane wartości są formowane w skompresowany strumień bitów, który jest przechowywany lub transmitowany przez warstwę abstrakcji sieciowej (NAL, ang. network abstraction layer).
Moduł dekwantyzacji 140 odbiera i dekwantyzuje współczynniki transformacji kwantyzowane przez moduł kwantyzacji 135, a moduł transformacji odwrotnej 145 odwrotnie transformuje współczynniki transformacji, generując zrekonstruowany blok różnicowy. Zrekonstruowany blok różnicowy jest łączony z blokiem predykcji generowanym przez moduł inter-predykcji 120 lub moduł intra-predykcji 125, generując zrekonstruowany blok. Zrekonstruowany blok jest przesyłany do modułu intra-predykcji 125 i filtra usuwania efektu blokowego 150.
Filtr usuwania efektu blokowego 150 filtruje zrekonstruowany blok w celu usunięcia zniekształceń na granicy między blokami, które pojawiają się w procesie kodowania i dekodowania i dostarcza przefiltrowany wynik do adapcyjnego filtra pętlowego (ALF, ang. adaptive loop filter) 155.
Filtr ALF 155 wykonuje filtrowanie dla minimalizacji błędu między docelowym blokiem predykcji a ostatecznym zrekonstruowanym blokiem. Filtr ALF 155 wykonuje filtrowanie w oparciu o wartość będącą wynikiem porównania zrekonstruowanego bloku filtrowanego przez filtr usuwania efektu blokowego 150 i aktualnego docelowego bloku predykcji, a informacja o współczynniku filtracji ALF 155 jest ładowana do nagłówka segmentu i transmitowana z kodera do dekodera.
PL 231 066 B1
Pamięć 160 może przechowywać ostateczny zrekonstruowany blok uzyskany przez ALF 155, a (ostateczny) przechowywany zrekonstruowany blok może zostać dostarczony do modułu inter-predykcji 120 dla wykonania inter-predykcji.
Fig. 3 to schemat blokowy przedstawiający konfigurację dekodera wideo według przykładu wykonania wynalazku. W nawiązaniu do fig. 3, dekoder wideo zawiera moduł dekodowania entropijnego 310, moduł przegrupowania 315, moduł dekwantyzacji 320, moduł transformacji odwrotnej 325, moduł interpredykcji 330, moduł intra-predykcji 335, filtr usuwania efektu blokowego 340, ALF 345 i pamięć 350.
Moduł dekodowania entropijnego 310 odbiera skompresowany strumień bitów z NAL. Moduł dekodowania entropijnego 310 dekoduje entropijnie odebrany strumień bitów a także dekoduje entropijnie informację o trybie predykcji i wektorze ruchu jeżeli strumień bitów zawiera informacje o trybie predykcji i wektorze ruchu. Dekodowany entropijnie współczynnik transformacji lub sygnał różnicowy jest przekazywany do modułu przegrupowania 315. Moduł przegrupowania 315 odwrotnie skanuje współczynnik transformacji lub sygnał różnicowy generując blok 2D współczynników transformacji.
Moduł dekwantyzacji 320 odbiera i dekwantyzuje dekodowane entropijnie i przegrupowane współczynniki transformacji. Moduł transformacji odwrotnej 325 odwrotnie transformuje dekwantyzowane współczynniki transformacji generując blok różnicowy.
Blok różnicowy może łączyć się z blokiem predykcji generowanym przez moduł inter-predykcji 330 lub moduł intra-predykcji 335 generując zrekonstruowany blok. Zrekonstruowany blok jest dostarczany do modułu intra-predykcji 335 i filtra usuwania efektu blokowego 340. Moduł inter-predykcji 330 i moduł intra-predykcji 335 mogą wykonywać te same operacje co moduł inter-predykcji 120 i moduł intra-predykcji 125 kodera wideo.
Filtr usuwania efektu blokowego 340 filtruje zrekonstruowany blok dla usunięcia zniekształceń na granicy między blokami, które pojawiają się w procesie kodowania i dekodowania, i dostarcza przefiltrowany wynik do ALF 345. Filtr ALF 345 wykonuje filtrowanie dla minimalizacji błędu między docelowym blokiem predykcji a ostatecznym zrekonstruowanym blokiem. Pamięć 160 może przechowywać ostateczny zrekonstruowany blok uzyskany przez ALF 345, a przechowywany (ostateczny) zrekonstruowany blok może zostać dostarczony do modułu inter-predykcji 330 dla wykonania inter-predykcji.
W międzyczasie, w obszarze bez znacznych zmian w teksturze, na przykład jednostajnego tła nieba lub morza, planarna intra-predykcja jest stosowana do dalszego zwiększenia skuteczności kodowania.
Intra-predykcja klasyfikowana jest jako predykcja kierunkowa, predykcja DC i predykcja planarna, przy czym predykcja planarna może stanowić rozszerzony koncept predykcji DC. Mimo, że predykcja planarna może ogólnie należeć do predykcji DC, predykcja planarna może obejmować sposób predykcji, którą predykcja DC się nie zajmuje. Przykładowo, predykcja DC jest korzystna do jednorodnej tekstury, podczas gdy predykcja planarna jest skuteczna dla predykcji blokowej w wartościach pikseli mających kierunkowość.
Opis przedstawia sposób poprawy skuteczności predykcji planarnej z uwzględnieniem tekstury z kierunkowością przy użyciu zmienności w wartościach pikseli odniesienia sąsiadujących bloków.
Fig. 4 schematycznie przedstawia sposób predykcji planarnej.
W nawiązaniu do fig. 4(A), wartość piksela 425 piksela w prawym dolnym rogu aktualnego bloku jest przewidywana. Wartość piksela 425 piksela w prawym dolnym rogu aktualnego bloku może być przewidywana jako wartość DC.
W nawiązaniu do fig. 4(B), wartości pikseli położonych na prawej granicy aktualnego bloku i wartości pikseli położonych na dolnej granicy aktualnego bloku są przewidywane. Przykładowo, wartość piksela 445 położonego na prawej granicy aktualnego bloku może być przewidywana interpolacją liniową wartości piksela 450 górnego bloku i wartością DC 425. Ponadto, wartość piksela 435 położonego na dolnej granicy aktualnego bloku może być przewidywana interpolacją liniową wartości piksela 430 lewego bloku i wartością DC 425.
W nawiązaniu do fig. 4(C), wartości pikseli pozostałych pikseli, innych niż piksel w prawym dolnym rogu, piksele na prawej granicy i piksele na dolnej granicy w aktualnym bloku, mogą być przewidywane interpolacją dwuliniową, przy użyciu wartości pikseli górnych i lewych bloków i już przewidzianych wartości pikseli w aktualnym bloku. Przykładowo, wartość piksela 475 w aktualnym bloku może być przewidywana interpolacją przy użyciu wartości piksela 460 górnego bloku, wartości piksela 455 lewego bloku, już przewidzianej wartości piksela 445 położonego na prawej granicy aktualnego bloku i już przewidzianej wartości piksela 435 położonego na dolnej granicy aktualnego bloku.
PL 231 066 B1
W nawiązaniu do fig. 4(D), próbki predykcji (przewidywane próbki) pozyskane na drodze powyższego procesu mogą być przetwarzane. Przykładowo, wartość piksela X 485 w aktualnym bloku może zostać przetworzona przy użyciu wartości górnej próbki T 480 i wartości lewej próbki L 490. Dokładniej, X' przekształcone z X może być uzyskane z X'={(X<<1)+L+T+1}>>2. Tutaj, „x<<y” wskazuje, że wyrażenie liczby całkowitej x w uzupełnieniu do dwóch jest arytmetycznie przesunięte na lewo o jednostkę binarną y, podczas gdy „x>>y” wskazuje, że wyrażenie liczby całkowitej x w uzupełnieniu do dwóch jest arytmetycznie przesunięte na prawo o jednostkę binarną y.
Fig. 5 schematycznie przedstawia alternatywny sposób predykcji planarnej.
W sposobie z fig. 5, wartości pikseli położonych diagonalnie w aktualnym pikselu są przewidywane jako pierwsze, a wartości pikseli pozostałych pikseli w aktualnym bloku są przewidywane przy użyciu przewidywanych wartości pikseli. Dla wygody opisu, piksele położone diagonalnie od lewego górnego do prawego dolnego spośród pikseli budujących blok nazywane są dolnymi pikselami diagonalnymi.
W nawiązaniu do fig. 5(A), wartości pikseli diagonalnych 540 aktualnego bloku 510 są przewidywane przy użyciu wartości piksela 510 górnego bloku odniesienia i wartości piksela 530 lewego bloku odniesienia. Przykładowo, wartość piksela diagonalnego P w aktualnym bloku można uzyskać przy użyciu wartości piksela typu AboveRef, położonego na granicy między aktualnym blokiem a górnym blokiem wśród pikseli górnego bloku i wartości piksela typu LeftRef, położonego na granicy między aktualnym blokiem a lewym blokiem wśród pikseli lewego bloku za pomocą P=(LeftRef+AboveRef+1)>>1.
W nawiązaniu do fig. 5(B), wartości pikseli aktualnego bloku 510, inne niż piksele diagonalne 540, można uzyskać przez interpolacje liniową przy użyciu wartości piksela uzyskanego na fig. 5(A) i wartości pikseli górnego i lewego bloku na granicach. Przykładowo, P1 można uzyskać z zastosowaniem piksela typu AboveRef górnego bloku, a uzyskany piksel diagonalny P za pomocą P1=(AboveRef*d2+P*d1)/(d1+d2). Ponadto, P2 można uzyskać za pomocą P2=(LeftRef*d3+P*d4)(d3+d4).
Tymczasem, sposoby predykcji planarnej przedstawione na fig. 4 i 5 są skuteczne przy jednorodnych teksturach bez kierunkowości, podczas gdy te sposoby mogą mieć ograniczoną skuteczność przewidywania w przypadku tekstury z kierunkowością, takich jak piksele typu luma, w których luminacja zmienia się znacznie w jednym kierunku, przykładowo, kierunku poziomym, a nie zmienia się prawe wcale w innym kierunku, przykładowo w kierunku pionowym.
Tak więc, wymagana może być planarna intra-predykcja uwzględniająca zmienności w wartościach pikseli. Planarna intra-predykcja według wynalazku wybiera lub przewiduje wartość piksela bazowego i stosuje zmienności w wartościach pikseli między pikselem bazowym a pikselem docelowym do wartości piksela bazowego, przewidując tym samym wartość piksela docelowego.
Przykłady wynalazku zostaną poniżej opisane w odniesieniu do załączonych rysunków.
P r z v k ł a d 1
Fig. 6 schematycznie przedstawia to, że piksel diagonalny Pii aktualnego bloku przewidywany jest jako pierwszy. Mimo, że fig. 6 przedstawia blok predykcji 8 x 8 dla wygody opisu, wynalazek można zastosować również do bloku predykcji N x N, nie ograniczając się tylko do bloku predykcji 8 x 8.
W przykładzie 1 przedstawionym na fig. 6, piksele diagonalne aktualnego bloku predykcji są przewidywane jako pierwsze, w oparciu o piksel odniesienia (Ri0 i/lub R0j, 0<i, j<8 w przypadku bloku predykcji 8 x 8) bloku odniesienia sąsiadującego z aktualnym blokiem predykcji.
To znaczy, po uzyskaniu pikseli diagonalnych Pii, inne wartości pikseli w bloku predykcji mogą zostać otrzymane przez interpolacje lub ekstrapolacje przy użyciu wartości pikseli odniesienia (Rij) sąsiadującego bloku i Pii.
Fig. 7 schematycznie przedstawia sposób otrzymywania innych wartości pikseli w bloku predykcji w oparciu o piksele diagonalne.
W wynalazku, predykcja planarna jest wykonywana z uwzględnieniem zmian w wartościach pikseli. Przykładowo, jak ukazano na fig. 7(A), gdy wartości pikseli odniesienia zwiększają się zarówno w kierunku x (w prawo) i kierunku y (w dół), wartości pikseli w bloku predykcji są również bardziej skłonne do zwiększania się w kierunku w prawo i w dół. W takim przypadku, wartość piksela P88 w prawym dolnym rogu bloku predykcji może być przewidywana jako pierwsza, a inne piksele mogą być przewidywane w oparciu o wartość piksela P88.
Dla predykcji wartości P88, określając wartość piksela odniesienia R00 w lewym górnym rogu aktualnego bloku predykcji jako wartość piksela bazowego, do wartości piksela bazowego można zaPL 231 066 B1 stosować zmienność począwszy od piksela bazowego po docelowy piksel predykcji P88 w bloku predykcji. Przykładowo, wartość piksela docelowego P88 można uzyskać za pomocą równania 1. Dla wygody opisu, Rij lub Pij przedstawione na rysunkach i w opisie są przedstawione jako Ri, i Pi,j.
[równanie 1]
Pg,e — ^0,0 + J(^0,8 ^0,1) + (^8,0 ^1,0)
Po uzyskaniu P88, inne piksele diagonalne Pii można uzyskać za pomocą równania 2.
[równanie 2]
Pi,i ^0,0 + g (^8,8 ^0,0)
Tutaj, ponieważ ten przykład przedstawia blok predykcji 8 x 8, i może być równe 1,2, ..., 8. Mimo, że dla wygody opisu przykład 1 przedstawia blok predykcji 8 x 8, w bloku predykcji N x N Pii można uzyskać jako Pii=R00+(i/N)P88.
Jak przedstawiono na fig. 7(A), nawet, jeżeli wartość piksela odniesienia zmniejsza się zarówno w kierunku x (w prawo) i kierunku y (w dół), wartość piksela P88 w prawym dolnym rogu bloku predykcji można uzyskać z uwzględnieniem zmienności w zmniejszających się wartościach pikseli, a inne wartości pikseli mogą być przewidywane w oparciu o wartość piksela P88. W tym przypadku, P88 może być uzyskane za pomocą równania 3.
[równanie 3] ^8,8 ^0,0 + J(^0,8 «0,1) + («8,0 «1,0)
Po uzyskaniu P88, inne piksele diagonalne w bloku predykcji można uzyskać za pomocą równania 4.
[równanie 4] «ί,ί «0,0 + g (^8,8 «0,0)
Tutaj, i może być równe 1,2, ..., 8.
Jak przedstawiono na fig. 7(C), gdy wartości pikseli odniesienia zwiększają się w kierunku w górę i w prawo, piksele diagonalne położone od lewego dołu do prawej góry w bloku predykcji są uzyskiwane jako pierwsze w oparciu o zmienności w wartościach pikseli, inaczej niż na fig. 7(A) i 7(B). Przykładowo, uzyskiwana jest wartość piksela P81 w lewym dolnym rogu bloku predykcji, a pozostałe wartości pikseli mogą być przewidywane w oparciu o wartość piksela P81. W tym przypadku, P81 można uzyskać za pomocą równania 5.
[równanie 5] «8,1 «0,9 + J («0,8 «0,1) + («8,0 «1,0)
Po uzyskaniu P81, pozostałe piksele diagonalne (od lewego dolnego do lewego górnego) w bloku predykcji mogą być uzyskane za pomocą równania 6.
[równanie 6] «ί,9- i «0,9 + g («8,1 «0,9)
Tutaj, i może być równe 1,2, ..., 8.
Także, jak przedstawiono na fig. 7(D), gdy wartości pikseli odniesienia zwiększają się w kierunku w dół i w lewo, piksele diagonalne położone od lewego dolnego do prawego górnego w bloku predykcji są uzyskiwane jako pierwsze w oparciu o zmienności w wartościach pikseli. Przykładowo, uzyskiwana jest wartość piksela P81 w lewym dolnym rogu bloku predykcji, a pozostałe wartości pikseli mogą być przewidywane w oparciu o wartość piksela P81. W tym przypadku, P81 można uzyskać za pomocą równania 7.
PL 231 066 B1 [równanie 7] Ρ8,1 — R0,9 + j(R0,8 ^θ,θ) + (^8,0 ^θ,θ)
Po uzyskaniu P81, pozostałe piksele diagonalne (od lewego dolnego do lewego górnego) w bloku predykcji mogą być uzyskane za pomocą równania 8.
[równanie 8] Ri,9-i — R0,9 + g (P8,1 — R0,9)
Tutaj, i może być równe 1,2, ..., 8.
Ze względu na obciążenie obliczeniami, rozważyć można przybliżenia obliczeń pierwiastków kwadratowych dla uzyskania pikseli diagonalnych tak jak w równaniu 9.
[równanie 9]
Ax + Ay « + Ay2
Następnie, uzyskać można inne wartości pikseli w bloku predykcji poprzez interpolację lub ekstrapolację, z zastosowaniem wartości predykcyjnych pikseli diagonalnych, wartości górnych pikseli odniesienia i wartości lewych pikseli odniesienia.
Na fig. 7(A) i 7(B), piksele Pij w bloku predykcji mogą zostać uzyskane interpolacją z użyciem pikseli diagonalnych Pii i pikseli odniesienia R sąsiadującego bloku. Można tutaj zastosować interpolację przedstawioną na równaniu 10.
[równanie 10] Rij — (R0j * d2 + Pi,i * di)/(di + d2~) lub
Pij — (Ri,0 * d2 + Pi,i * dl)/(d1 + d2)
Tutaj, d1 jest odległością między pikselem R0j lub Rj0 sąsiadującego bloku, użytym do interpolacji, a docelowym pikselem predykcji Pij, a d2 jest odległością między pikselem diagonalnym Pii, użytym do interpolacji, a docelowym pikselem predykcji Pij.
Ponadto, na fig. 7(C) i 7(D), piksel Pi uzyskany przez interpolację wśród pikseli w bloku predykcji można uzyskać za pomocą równania 11.
[równanie 11] RiJ — (Ri,0 * d2 + Ri,i * dl)/(d1 + d2) lub RiJ — (Ri,0 * d2 + Ri,9 * d1)/(d1 + d2)
Tutaj, i+j<9, a d1 stanowi odległość między pikselem R0j lub Rj0 sąsiadującego bloku użytym do interpolacji, a docelowym pikselem predykcji Pij, a d2 stanowi odległość między pikselem diagonalnym Pii użytym do interpolacji a docelowym pikselem predykcji Pij. Tutaj, mimo, że równanie 11 zastosowane jest do interpolacji dla uzyskania piksela Pij bloku predykcji, w wynalazku można stosować różne sposoby interpolacji, bez ograniczania się do niego.
Tymczasem, na fig. 7(C) i 7(D) jest piksel Pe, uzyskany przez ekstrapolację wśród pikseli bloku predykcji. Tutaj, do uzyskania piksela w bloku predykcji można użyć ekstrapolacji przedstawionej w równaniu 12.
[równanie 12]
Pij — Ri,0 + (P-Ri,0)*(l + ^ lub
Pij—R0J + (P-R0j)* (^+^)
PL 231 066 B1
W tym przypadku, i+j>9 i P jest pikselem diagonalnym użytym do ekstrapolacji. Ponadto, jak opisano powyżej, d1 i d2 to, odpowiednio, odległość między pikselem odniesienia a docelowym pikselem predykcji Pij i odległość między pikselem Pii a docelowym pikselem predykcji Pij.
P r z y k ł a d 2
Fig. 8 schematycznie przedstawia inny sposób predykcji wartości piksela z uwzględnieniem wartości piksela bazowego i zmienności od piksela bazowego. Mimo, że fig. 8 przedstawia blok predykcji 8 x 8 dla wygody opisu, wynalazek można zastosować również do bloku predykcji N x N, nie ograniczając się tylko do bloku predykcji 8 x 8.
Fig. 8 przedstawia piksel odniesienia P00 położony w lewym górnym rogu bloku predykcji jako piksel bazowy. W przykładzie 2, docelowy piksel predykcji Pij jest uzyskany wartość piksela bazowego.
Przykładowo, piksel docelowy Pij jest uzyskiwany za pomocą równania 13.
[równanie 13]
Pij = R00 + Δχ + Ay
Tutaj, Ay = Ri0 - R00, Δχ = R0j - R00 oraz 1<i, j<8 w przypadku bloku predykcji 8 x 8.
Przykładowo, w odniesieniu do fig. 8, piksel P33 uzyskuje się za pomocą P33=R00+Ax+Ay, według równania 7. T utaj, Δχ i Ay są zmiennościami w wartości piksela, w kierunku x i kierunku y, od piksela bazowego R00 po P33.
Alternatywnie, w odniesieniu do fig. 8, piksel P76 jest uzyskiwany za pomocą P76=R00+Ax'+Ay' według równania 13. Tutaj, Δχ' i Ay' są zmiennościami w wartości piksela, w kierunku x i kierunku y, począwszy od piksela bazowego R00 po P76.
P r z y k ł a d 3
Fig. 9 schematycznie przedstawia inny sposób otrzymywania najpierw pikseli diagonalnych bloku predykcji a następnie wartości pozostałych pikseli.
Mimo, że fig. 5 przedstawia to, że piksele diagonalne są uzyskiwane w oparciu o średnią wartość dwóch pikseli w kierunku poziomym/pionowym bloku sąsiadującego z aktualnym blokiem predykcji. Przykład 3, przedstawiony na fig. 9 uzyskuje piksele diagonalne z uwzględnieniem zmienności.
W nawiązaniu do fig. 9(A), piksele diagonalne bloku predykcji są przewidywane za pomocą wartości pikseli sąsiadujących bloków zlokalizowanych na górnych i/lub lewych granicach bloku predykcji. Przykładowo, piksele diagonalne Pii są przewidywane za pomocą równania 14.
[równanie 14]
Pi,i = R0,i + Δγ lub
Pi,i = Pi,0 + Δχ
Przykładowo, w odniesieniu do fig. 9(A), P33 można przewidywać za pomocą 5 P33=R03+Ay lub P33=R30+Ax według równania 14. Δχ i Ay są, odpowiednio, zmiennościami w wartości piksela w kierunku x począwszy od piksela bazowego R30 po P33, i w kierunku y począwszy od piksela bazowego R03 po P33.
W nawiązaniu do fig. 9(B), inne piksele Pij aktualnego bloku, niż piksele diagonalne mogą być przewidywane interpolacją liniową za pomocą wartości predykcji pikseli diagonalnych i pikseli odniesienia R00, R10 do R80 i R01 do R08 sąsiadujących bloków na górnej i lewej granicy aktualnego bloku.
Przykładowo, wartość piksela Pij można przewidywać za pomocą równania 15.
[równanie 15]
Pij =
Pu =
R0j x d2 x Pii x dl d1 + d2 lub
Ri0 x d2 x Pii x dl d1 + d2 d1 jest odległością między pikselem R0j lub Rj0 sąsiadujących bloków użytym do interpolacji a docelowym pikselem predykcji Pij, a d2 jest odległością między pikselem diagonalnym Pii użytym do interpolacji a docelowym pikselem predykcji Pij.
PL 231 066 B1
P r z y k ł a d 4
Fig. 10 schematycznie przedstawia to, że piksele diagonalne są otrzymywane jako pierwsze, a piksele inne niż piksele diagonalne są otrzymywane według tego samego sposobu co piksele diagonalne.
Na fig. 10, piksele diagonalne mogą być przewidywane tak samo jak przedstawiono na fig. 9. Tak więc, w odniesieniu do fig. 10(A), piksel diagonalny P33 aktualnego bloku predykcji może być przewidywany za pomocą P33=R03+Ay lub P33=R30+Ax.
Następnie, inne piksele Pij aktualnego bloku, niż piksele diagonalne mogą być przewidywane interpolacją liniową przy użyciu wartości predykcji pikseli diagonalnych i pikseli odniesienia R00, R10 do R80 i R01 do R08 sąsiadujących bloków na górnej i lewej granicy aktualnego bloku.
Tutaj, można użyć tego samego sposobu, jaki został użyty dla uzyskania pikseli diagonalnych. Przykładowo, piksel Pij można przewidywać za pomocą równania 16.
[równanie 16]
Pij = R0j + Ay lub
Pij = Ri0 + . \x
Tutaj, Ay = Ri0 - R00, Ax = R0j - R00 i 1<i, j<8 w przypadku bloku predykcji 8 x 8.
Przykładowo, w odniesieniu do fig. 10, P37 można uzyskać poprzez P37=R07+Ay lub P37=R70+Ax według równania 16.
Tymczasem, nagromadzenie drobnych błędów wynikających z arytmetyki liczb całkowitych wykonywanej przez koder lub dekoder w długim okresie czasu może wywołać poważne błędy. Ponadto, gdy występuje błąd transmisji w bloku sąsiadującym z aktualnym bloku, pojawia się niezgodność między koderem i dekoderem lub błąd się rozprzestrzenia. Przykładowo, gdy błąd występuje w sąsiadującym bloku, wartości pikseli na granicy sąsiadującego bloku zmieniają się. W tym przypadku, gdy dekoder używa piksela ze zmienioną wartością piksela jako piksel odniesienia, błąd rozprzestrzenia się do aktualnego bloku. Tak więc, wymagane jest narzędzie zapobiegające takiemu problemowi, narzędzie kodujące takie jak ograniczona intra-predykcja (CIP).
Fig. 11 schematycznie ilustruje sposób CIP.
W sposobie z fig. 11, jeżeli jakikolwiek blok trybu inter-predykcji sąsiaduje z aktualnym makroblokiem T, stosowany jest tylko tryb intra-predykcji DC, a wartość predykcji DC jest ustalana na 128.
Tutaj, wartość piksela bloku przewidywana za pomocą trybu inter-predykcji wśród sąsiadujących bloków nie jest używana jako wartość piksela odniesienia. Tak więc, w tym sposobie, tryb predykcji DC jest stosowany obowiązkowo, z wyłączeniem nawet dostępnych informacji, przykładowo, sąsiadujących pikseli trybu intra-predykcji.
Fig. 12 schematycznie przedstawia alternatywny sposób CIP.
W sposobie z fig. 12, wartość piksela bloku przewidywana w trybie intra-predykcji wśród sąsiadujących bloków jest używana jako wartość piksela odniesienia, a wartość piksela bloku przewidywana w trybie inter-predykcji jest uzyskiwana przy użyciu sąsiadujących bloków trybu intra-predykcji. Tak więc, można używać nie tylko trybu DC, ale także innych trybów intra-predykcji.
W nawiązaniu do fig. 12, wśród bloków sąsiadujących z aktualnym blokiem predykcji T, wartości pikseli 1210, 1220 i 1230 bloków A, B, D, E, F, H i I, przewidywanych za pomocą trybu inter-predykcji, są uzyskiwane za pomocą pikseli bloków przewidzianych za pomocą trybu intra-predykcji.
Przykładowo, gdy przewidziane piksele trybu intra-predykcji są obecne zarówno po prawej jak i lewej stronie docelowej próbki inter-predykcji, wartość piksela PT bloku przewidzianego za pomocą trybu inter-predykcji jest uzyskiwana za pomocą równania 17.
[równanie 17] — (PLB + PRA + 1) » 1
Tutaj, PT jest docelową próbką inter-predykcji, PLB jest lewą lub dolną próbką intra-predykcji, a Pra jest prawą lub górną próbką intra-predykcji. Ponadto, gdy próbka intra-predykcji jest obecna jedynie po każdej ze stron docelowej próbki inter-predykcji, wartość piksela Pt bloku przewidzianego za pomocą trybu inter-predykcji jest uzyskiwana za pomocą równania 18.
PL 231 066 B1 [równanie 18]
Pt — Pra Pt Plb
Sposób z fig. 12 stosuje tryb intra-predykcji lepiej niż sposób z fig. 11, ale używa średniej wartości dostępnych wartości pikseli trybu intra-predykcji lub samej dostępnej wartości piksela trybu intra-predykcji jako wartości piksela sąsiadującego bloku przewidzianego w trybie inter-predykcji, bez uwzględniania zmienności w wartościach pikseli.
Tak więc, wymagany jest sposób CIP uwzględniający zmienności w wartości piksela.
P r z v k ł a d 5
Fig. 13 schematycznie przedstawia to, że układ według wynalazku wykonuje CIP z uwzględnieniem zmienności w wartościach pikseli.
Sposób z fig. 13 używający zmienności w wartościach pikseli obu pikseli do interpolacji osiąga dokładniejsze przewidywanie docelowej wartości piksela niż sposób z fig. 12, używający średniej wartości obu wartości pikseli jako wartości piksela do uzyskania. Przykładowo, piksel docelowy Pt wśród wartości pikseli 1310, 1320 i 1330 do uzyskania może zostać uzyskany za pomocą równania 19.
[równanie 19]
PT
PLBxd2 + PRAxd1 dl + d2
Tutaj, Pt jest docelową próbką predykcji, Plb jest lewą lub dolną próbką intra-predykcji, a Pra jest prawą lub górną próbką intra-predykcji. Ponadto, jak przedstawiono na fig. 13, d1 jest odległością między Plb a Pt, a d2 jest odległością między Pra a Pt.
Przykładowo, w odniesieniu do fig. 13, Pt1 można uzyskać za pomocą (PLB1*d21+PRA1*d11)//(d11+d21), a Pt2 można uzyskać za pomocą (PLB2*d22+PRA2*d12)/(d12+d22).
Jeżeli próbka intra-predykcji do zastosowania w interpolacji jest obecna jedynie albo po prawej, albo po lewej stronie, lub albo na górnej, albo na dolnej stronie docelowej próbki predykcji Pt, to Pt=Plb lub Pt=Pra. Ponadto, jeżeli nie ma bloku, przewidzianego w trybie intra-predykcji, sąsiadującego z docelowym blokiem predykcji T, wartość piksela w tym samym położeniu co poprzedni obraz może zostać skopiowana do użycia jako wartość piksela odniesienia.
Średnie wartości pikseli wewnętrznych (ang. intra pixels) na granicy mogą być użyte jako wartość Plb lub Pra. Przykładowo, na fig. 3, gdy Pt jest położone w dolnym rzędzie pikseli 1320 bloku E lub bloku D, średnia wartość czterech najniższych pikseli bloku C trybu intra-predykcji może zostać zastosowana jako Pra, a średnia wartość ośmiu pikseli bloku G umieszczonych najbardziej na prawo, może zostać zastosowana jako Plb. W tym przypadku, punktem odniesienia d1 jest górny piksel wśród pikseli bloku G umieszczonych najbardziej na prawo, a punkt odniesienia d2 jest pikselem umieszczonym najbardziej na lewo wśród najniższych pikseli bloku C.
Ponadto, interpolacja liniowa daje efekt wygładzania na pikselach granicznych, dzięki czemu adaptacyjne wygładzanie wewnętrzne (AIS) może być wyłączone. Tutaj, w trybie predykcji DC, filtrowanie na pikselach na granicy bloku predykcji może być włączone.
Fig. 14 przedstawia schemat przepływu przedstawiający działanie kodera w układzie według wynalazku.
W nawiązaniu do fig. 14, nowa jednostka predykcji aktualnego obrazu jest wejściem (S1410). Jednostka predykcji (PU, ang. prediction unit) może być podstawową jednostką do intra-predykcji i interpredykcji. Jednostka predykcji może być mniejszym blokiem niż jednostka kodująca (CU, ang. coding unit) i może mieć prostokątny kształt, nie koniecznie kwadratowy. Intra-predykcja jednostki predykcji jest zasadniczo wykonywana za pomocą bloku 2N x 2N lub N x N.
Następnie, uzyskiwany (S1420) jest piksel odniesienia wymagany do intra-predykcji. Piksele w umieszczonej najbardziej na prawo linii pionowej lewego bloku sąsiadującego z aktualnym blokiem predykcji i piksele w najniższej linii poziomej górnego bloku sąsiadującego z aktualnym blokiem predykcji są stosowane do generowania piksela odniesienia. Gdy blok predykcji ma rozmiar N, całkowita ilość 2N pikseli lewego i prawego bloku jest używana w całości jako piksele odniesienia.
Tutaj, piksele w umieszczonej najbardziej na prawo linii pionowej lewego bloku sąsiadującego z aktualnym blokiem predykcji i piksele w najniższym rzędzie poziomym górnego bloku sąsiadującego z aktualnym blokiem predykcji mogą być stosowane jako piksele odniesienia jako takie lub za pomocą wygładzenia.
PL 231 066 B1
Gdy stosowane jest wygładzanie, informacje o wygładzaniu również mogą być sygnalizowane do dekodera. Przykładowo, gdy wykonywane jest wygładzanie, można zastosować filtr AIS, w którym można użyć współczynniki filtra [1,2, 1] lub [1, 1,4, 1, 1]. Wśród tych dwóch współczynników, ten drugi współczynnik filtra może zapewniać ostrzejszą granicę. Jak wspomniano powyżej, do dekodera mogą być przekazywane informacje obejmujące to, czy użyć filtra, jaki typ filtra i współczynnik filtra.
Tymczasem, gdy CIP jest używany do generowania piksela odniesienia, wartość CIP_flag jest ustawiana na 1. Po zastosowaniu CIP, tylko piksele sąsiadujących bloków kodowane w trybie intrapredykcji są używane jako piksele odniesienia, a piksele sąsiadujących bloków kodowane w trybie interpredykcji nie są używane jako piksele odniesienia. W tym przypadku, jak pokazano na fig. 13, piksele (docelowe próbki predykcji), odpowiadające położeniom pikseli sąsiadujących bloków kodowanych w trybie inter-predykcji, są generowane jako piksele odniesienia interpolacją sąsiadujących pikseli odniesienia, kodowanych w trybie intra-predykcji, albo sąsiadujące piksele odniesienia kodowane w trybie intra-predykcji są kopiowane i stosowane jako piksele odniesienia odpowiadające położeniom pikseli sąsiadujących bloków kodowanych w trybie inter-predykcji.
Przykładowo, gdy przewidywane piksele trybu intra-predykcji są obecne zarówno po prawej jak i lewej stronie, oraz górnej i dolnej stronie docelowej próbki inter-predykcji, docelowa próbka predykcji Pt położona w bloku przewidzianym w trybie inter-predykcji może zostać uzyskana za pomocą równania 11. Ponadto, gdy próbka intra-predykcji jest obecna jedynie po każdej ze stron docelowej próbki predykcji, docelowa próbka predykcji Pt umieszczona w położeniu bloku przewidzianym w trybie inter-predykcji może zostać uzyskana za pomocą równania 12. W równaniu 11 i/lub równaniu 12, średnie wartości odpowiednich pikseli trybu intra intra-predykcji, mogą zostać użyte jako wartości Plb i Pra. Jeżeli nie ma sąsiadującego bloku przewidzianego w trybie intra-predykcji, wartość piksela w tym samym położeniu co na poprzednim obrazie może zostać skopiowana do użycia jako wartość piksela odniesienia.
Ponieważ interpolacja liniowa daje efekt wygładzania na pikselach granicznych, wyłączania AIS podczas korzystania z CIP może być skuteczne.
Następnie, ustalany jest (S1430) tryb intra-predykcji.
Tryb intra-predykcji jest ustalany za pomocą jednostki predykcji (PU), w której optymalny tryb predykcji jest ustalany na podstawie związku między wymaganą przepływnością a ilością zniekształceń.
Przykładowo, gdy optymalizacja zniekształceń szybkości (RDO, ang. rate distortion optimization) jest włączona, może zostać wybrany tryb minimalizujący koszt J = R+rD (R jest przepływnością, D jest ilością zniekształceń, a r jest zmienną Lagrange'a). Tutaj, potrzebne jest gruntowne dekodowanie lokalne, w którym to przypadku może się zwiększyć złożoność.
Gdy RDO jest wyłączone, można wybrać tryb predykcji dla minimalizacji średniej różnicy bezwzględnej (MAD, ang. mean absolute difference) przez poddanie błędu predykcji transformacie Hadamarda.
Tabela 1 przedstawia liczbę trybów predykcji z uwzględnieniem elementu typu luma według rozmiaru bloku jednostki predykcji.
T a b e l a 1
Rozmiar bloku Liczba trybów predykcji
4 x 4 17
8 x 8 34
16 x 16 34
32 x 32 34
64 x 64 3
Fig. 15 przedstawia kierunek predykcji trybu intra-predykcji. W nawiązaniu do fig. 15, tryb numer 0 jest trybem pionowym, w którym predykcja jest przeprowadzana w kierunku pionowym z użyciem wartości piksela sąsiadującego bloku. Tryb numer 1 jest trybem poziomym, w którym predykcja jest przeprowadzana w kierunku poziomym z użyciem wartości piksela sąsiadującego bloku. Tryb numer 2 jest trybem DC, w którym blok predykcji jest generowany przy użyciu średniej wartości piksela aktualnego docelowego bloku predykcji, przykładowo, wartość typu luma w przypadku pikseli typu luma i warPL 231 066 B1 tości typu chroma w przypadku pikseli typu chroma. W innych trybach przedstawionych na fig. 15, predykcja jest przeprowadzana przy użyciu wartości pikseli sąsiadujących bloków w zależności od odpowiadających kątów.
W trybie DC, górne piksele predykcji i piksele predykcji umieszczone najbardziej na lewo mogą być filtrowane dla polepszenia skuteczności predykcji. Tutaj, intensywność filtrowania może stać się wyższa dla mniejszego bloku. Inne piksele wewnętrzne w aktualnym bloku predykcji mogą nie być filtrowane.
Tymczasem, dla odzwierciedlenia kierunkowości można zastosować tryb planarny zamiast trybu DC. W trybie planarnym, wartość Planar_flag wśród informacji przekazywanych z kodera do dekodera jest ustawiona na 1. Gdy używany jest tryb planarny, tryb DC nie jest stosowany. Tak więc, gdy używany jest tryb DC zamiast trybu planarnego, wartość Planar_flag jest ustawiona na 0.
Gdy stosowany jest tryb planarny, mogą być używane te same sposoby predykcji jak opisane powyżej na fig. 6 do 10. Tutaj, dekoder może wykonywać opisaną powyżej operacje RDO dla wybrania optymalnego sposobu. Jeżeli jest to konieczne, mogą zostać zastosowane razem dwa, lub większa liczba powyższych sposobów. Koder przekazuje dekoderowi informacje w jaki sposób wybiera koder spośród sposobów predykcji w trybie planarnym przedstawionych na fig. 6 do 10.
Odnośnie piksela odniesienia elementu typu chroma, ujednolicona kierunkowość wewnętrzna (UDI, ang. unified directional intra) bloku typu luma może być zastosowana jako taka w trybie numer 4, zwanym trybem DM. W trybie numer 0, blok predykcji jest generowany przy użyciu liniowego związku między luma a chroma, zwanym trybem modelu liniowego (LM). Tryb numer 1 jest trybem pionowym, w którym predykcja jest wykonywana w kierunku pionowym i odpowiada trybowi numer 0 typu luma. Tryb numer 2 jest linią poziomą, w której predykcja jest wykonywana w kierunku poziomym i odpowiada trybowi numer 1 typu luma. Tryb numer 3 jest trybem DC, w którym blok predykcji jest generowany przy użyciu średniej wartości typu chroma aktualnego docelowego bloku predykcji i odpowiada trybowi numer 2 typu luma.
W nawiązaniu do fig. 14, koder koduje tryb predykcji aktualnego bloku ( ). Koder koduje tryb predykcji dla bloku elementu typu luma i bloku elementu typu chroma aktualnego bloku predykcji. Tutaj, ponieważ tryb predykcji aktualnego docelowego bloku predykcji koreluje w wysokim stopniu z trybem predykcji sąsiadującego bloku, aktualny docelowy blok predykcji jest kodowany przy użyciu trybu predykcji sąsiadującego bloku, ograniczając ilość bitów. Ponadto, najprawdopodobniejszy tryb (MPM, ang. most probable mode) aktualnego docelowego bloku predykcji jest ustalony, i tryb predykcji aktualnego docelowego bloku predykcji może być odpowiednio kodowany przy użyciu MPM.
Następnie, uzyskiwana jest wartość piksela aktualnego bloku predykcji i wartość różnicowa piksela dla wartości piksela bloku predykcji, generując sygnał rezydualny (S1450).
Wygenerowany sygnał rezydualny jest transformowany i kodowany (S1460). Sygnał rezydualny może być kodowany przy użyciu jądra transformacji, przy czym transformujące jądro kodujące ma rozmiar 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32 lub 64 x 64.
Współczynnik transformacji C jest generowany dla transformacji, która może być blokiem 2D współczynników transformacji. Przykładowo, dla bloku n x n, współczynnik transformacji może zostać obliczony za pomocą równania 20.
[równanie 20]
C(n, n) = T(n, n) x B(n, n) x T(n, n)T
Tutaj, C(n, n) jest macierzą n * n współczynnika transformacji, T(n, n) jest macierzą n * n jądra transformacji, a B(n, n) jest macierzą n * n dla docelowego bloku predykcji.
Gdy m=hN, n=2N a h=1 /2, współczynnik transformacji C dla bloku różnicowego m * n lub n * m może zostać uzyskany za pomocą dwóch sposobów. Najpierw, blok różnicowy m * n lub n * m jest dzielony na cztery bloki m * m i stosuje się jądro transformacji do każdego bloku, generując współczynnik transformacji. Alternatywnie, jądro transformacji stosuje się do bloku różnicowego m * n lub n * m, generując współczynnik transformacji.
Koder ustala współczynnik transformacji (S1470) oraz który, spośród sygnałów rezydualnych, przekazać. Przykładowo, gdy predykcja zostanie wykonana odpowiednio, sygnał rezydualny może zostać przekazany jako taki, bez kodowania transformacyjnego.
Ustalanie współczynnika transformacji oraz który, spośród sygnałów rezydualnych przekazać, może zostać wykonane za pomocą RDO lub tym podobnego. Funkcje kosztów są porównywane z kosztami immunizacji przed, i po, kodowaniu transformacyjnym. Po ustaleniu typu sygnału do przekazania,
PL 231 066 B1 to znaczy sygnału rezydualnego lub współczynnika transformacji, dla aktualnego bloku predykcji, typ przekazywanego sygnału jest również przesyłany do dekodera.
Następnie, koder skanuje współczynnik transformacji (S1480). Kwantyzowany blok 2D współczynników transformacji może zostać zmieniony w wektor 1D współczynników transformacji przez skanowanie.
Skanowany współczynnik transformacji i tryb intra-predykcji są kodowane entropijnie (S1490). Kodowana informacja jest formowana w skompresowany strumień bitów, który można przesłać lub przechowywać dzięki NAL.
Fig. 16 to schemat przepływu, schematycznie przedstawiający działanie dekodera w układzie według wynalazku.
W nawiązaniu do fig. 16, dekoder dekoduje entropijnie odebrany strumień bitów (S1610). Tutaj, typ bloku można uzyskać z tabeli kodowania zmiennej długości (VLC, ang. variable length coding), i można otrzymać tryb predykcji aktualnego dekodującego bloku docelowego. Gdy odebrany strumień bitów może zawierać informacje poboczne potrzebne do dekodowania, takie jak informacje o jednostce kodującej, jednostce predykcji i jednostce transformacji, informacje o filtrowaniu AIS, informacje o ograniczeniu liczby trybów predykcji, informacje o nieużywanych trybach predykcji, informacje o przegrupowaniu trybów predykcji, informacje o sposobach transformacji i informacje o sposobach skanowania, informacje poboczne są kodowane entropijnie wraz ze strumieniem bitów.
Dekodowane informacje mogą potwierdzić, czy przesłany sygnał do aktualnego dekodującego bloku docelowego jest sygnałem rezydualnym lub współczynnikiem transformacji dla bloku różnicowego. Sygnał rezydualny lub wektor 1D współczynników transformacji dla bloku różnicowego jest uzyskiwany dla aktualnego dekodującego bloku docelowego.
Następnie, dekoder generuje blok rezydualny (S1620).
Dekoder odwrotnie skanuje dekodowany entropijnie sygnał rezydualny lub współczynnik transformacji dla wygenerowania bloku 2D. Tutaj, blok rezydualny może być generowany z sygnału rezydualnego, a blok 2D współczynników transformacji może być generowany ze współczynnika transformacji.
Współczynniki transformacji mogą być dekwantyzowane. Dekwantyzowane współczynniki transformacji są odwrotnie transformowane, a blok rezydualny dla sygnału rezydualnego jest generowany odwrotną transformacją. Odwrotna transformacja bloku n * n może być wyrażona równaniem 11.
Dekoder generuje piksele odniesienia (S1630). Tutaj, dekoder generuje piksel odniesienia przez odniesienie do informacji czy stosowane jest filtrowanie AIS i informacji o stosowanym typie filtra przekazanym i przesłanym do kodera. Podobnie, w procesie kodowania, piksele w umieszczonej najbardziej na prawo linii pionowej lewego bloku, już dekodowane i zrekonstruowane i sąsiadujące z aktualnym docelowym blokiem predykcji i piksele w najniższej linii poziomej górnego bloku sąsiadującego z dekodującym blokiem docelowym są stosowane do generowania piksela odniesienia.
Tymczasem, gdy wartość CIP_flag odbierana przez dekoder jest ustawiona na 1, co oznacza, że kodera używa CIP do obrazu docelowego, dekoder odpowiednio generuje piksel odniesienia. Przykładowo, tylko piksele sąsiadujących bloków kodowane w trybie intra-predykcji są używane jako piksele odniesienia, podczas gdy piksele sąsiadujących bloków kodowane w trybie inter-predykcji nie są używane jako piksele odniesienia. W tym przypadku, jak przedstawiono na fig. 6, piksele (docelowe próbki predykcji) odpowiadające położeniom pikseli sąsiadujących bloków kodowanych w trybie inter-predykcji są generowane jako piksele odniesienia poprzez interpolację sąsiadujących pikseli odniesienia, kodowanych w trybie intra-predykcji, albo sąsiadujące piksele odniesienia kodowane w trybie intra-predykcji mogą być kopiowane i stosowane jako piksele odniesienia odpowiadające położeniom pikseli sąsiadujących bloków kodowanych w trybie inter-predykcji.
Przykładowo, gdy przewidywane piksele trybu intra-predykcji są obecne zarówno po prawej jak i lewej stronie, oraz górnej i dolnej stronie docelowej próbki inter-predykcji, docelowa próbka predykcji Pt umiejscowiona w bloku przewidzianym w trybie inter-predykcji, jest uzyskiwana za pomocą równania 17. Ponadto, gdy próbka intra-predykcji jest obecna jedynie po każdej ze stron docelowej próbki predykcji, docelowa próbka predykcji Pt umiejscowiona w położeniu bloku przewidzianym w trybie interpredykcji może zostać uzyskana za pomocą równania 18. W równaniu 17 i/lub równaniu 18, średnie wartości odpowiednich pikseli trybu intra-predykcji mogą być użyte jako wartości Plb lub Pra. Jeżeli nie ma sąsiadującego bloku przewidzianego w trybie intra-predykcji, wartość piksela w tym samym położeniu co w poprzednim obrazie może zostać skopiowana do użycia jako wartość piksela odniesienia.
Gdy koder stosuje filtrowanie AIS, to znaczy, gdy stosowane jest wygładzanie i tym samym AIS jest włączone, koder wykonuje również filtrowanie AIS generując piksel odniesienia według sposobu
PL 231 066 B1 generowania piksela odniesienia używanego przez koder. Dekoder może ustalać współczynnik filtrowania w oparciu o informację o typie filtra wśród otrzymanych informacji. Przykładowo, gdy są dwa współczynniki filtrowania [1,2, 1] lub [1, 1,4, 1, 1], spośród tych dwóch współczynników filtrowania może być stosowany współczynnik filtrowania wskazany przez informację o typie filtra.
Następnie, blok predykcji dla docelowego bloku dekodującego jest generowany przy użyciu piksela odniesienia i trybu predykcji dekodowanego entropijnie aktualnego docelowego bloku dekodującego (S1640).
Proces generowania bloku predykcji jest taki sam jak proces ustalania trybu predykcji i generowania bloku predykcji przez koder. Gdy tryb predykcji aktualnego bloku jest trybem planarnym, sposób predykcji planarnej używany do generowania bloku predykcji może być identyfikowany przez analizowanie przesyłanych informacji. Tutaj, dekoder może generować blok predykcji w oparciu o informacje zidentyfikowane według używanego trybu spośród trybów planarnych przedstawionych na fig. 6 do 10.
Następnie, generowany jest blok zrekonstruowany przez dodanie, przez piksel, wartości piksela bloku predykcji i wartości piksela bloku różnicowego, to znaczy, zrekonstruowanego bloku (S1670).

Claims (6)

  1. Zastrzeżenia patentowe
    1. Sposób dekodowania wideo sygnału wideo przez urządzenie do dekodowania wideo zawierające moduł intra-predykcji, obejmujący:
    (51) uzyskiwanie przez moduł intra-predykcji, pikseli odniesienia na podstawie pikseli sąsiadujących z aktualnym blokiem pikseli; i (52) uzyskiwanie pikseli predykcji aktualnego bloku pikseli, przez moduł intra-predykcji, przez wykonywanie intra-predykcji na aktualnym bloku pikseli z zastosowaniem pikseli odniesienia uzyskanych w etapie (S1), przy czym etap (S1) uzyskiwania pikseli odniesienia obejmuje etap wykonania podstawienia dla niedostępnego piksela przy użyciu piksela sąsiadującego z niedostępnym pikselem spośród pikseli sąsiadujących z aktualnym blokiem pikseli, gdy niedostępny piksel jest obecny wśród pikseli sąsiadujących z aktualnym blokiem pikseli.
  2. 2. Sposób dekodowania wideo według zastrz. 1, przy czym etap wykonywania podstawienia za niedostępny piksel jest wykonywany przy użyciu piksela położonego po jednej stronie niedostępnego piksela spośród pikseli sąsiadujących z aktualnym blokiem pikseli.
  3. 3. Sposób dekodowania wideo według zastrz. 2, przy czym piksel położony po jednej stronie niedostępnego piksela jest położony poniżej niedostępnego piksela, gdy niedostępny piksel jest pikselem w lewym bloku pikseli sąsiadującym z aktualnym blokiem pikseli, a piksel umieszczony po jednej stronie niedostępnego piksela jest położony po lewej stronie niedostępnego piksela, gdy niedostępny piksel jest pikselem w górnym bloku pikseli sąsiadującym z aktualnym blokiem pikseli.
  4. 4. Sposób dekodowania wideo według zastrz. 1, przy czym gdy tryb intra-predykcji dla aktualnego bloku pikseli jest trybem planarnym, piksele predykcji aktualnego bloku pikseli są uzyskiwane na podstawie zmienności względem piksela.
  5. 5. Sposób dekodowania wideo według zastrz. 4, przy czym zmienność względem piksela odniesienia jest zmianą liniową w wartości piksela opartą o odległość od pikseli odniesienia.
  6. 6. Sposób dekodowania wideo według zastrz. 4, przy czym piksele predykcji aktualnego bloku pikseli są uzyskiwane według zmienności względem piksela odniesienia na podstawie odległości między położeniem pikseli odniesienia a położeniem piksela predykcji.
PL407846A 2011-05-20 2012-05-14 Sposób i urządzenie do intra-predykcji na ekranie monitora PL231066B1 (pl)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20110048130 2011-05-20
KR10-2011-0048130 2011-05-20
KR1020110065210A KR101383775B1 (ko) 2011-05-20 2011-06-30 화면 내 예측 방법 및 장치
KR10-2011-0065210 2011-06-30
PCT/KR2012/003744 WO2012161444A2 (ko) 2011-05-20 2012-05-14 화면 내 예측 방법 및 장치

Publications (2)

Publication Number Publication Date
PL407846A1 PL407846A1 (pl) 2015-05-25
PL231066B1 true PL231066B1 (pl) 2019-01-31

Family

ID=48179115

Family Applications (1)

Application Number Title Priority Date Filing Date
PL407846A PL231066B1 (pl) 2011-05-20 2012-05-14 Sposób i urządzenie do intra-predykcji na ekranie monitora

Country Status (13)

Country Link
US (11) US9154803B2 (pl)
EP (1) EP2712192A4 (pl)
KR (12) KR101383775B1 (pl)
CN (20) CN107592546B (pl)
AU (2) AU2012259700B2 (pl)
BR (1) BR112013029931B1 (pl)
CA (2) CA2836888C (pl)
ES (11) ES2596027B1 (pl)
GB (4) GB2560394B (pl)
PL (1) PL231066B1 (pl)
RU (6) RU2628157C1 (pl)
SE (6) SE537736C3 (pl)
WO (1) WO2012161444A2 (pl)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
KR102086145B1 (ko) 2010-12-13 2020-03-09 한국전자통신연구원 인트라 예측 방법 및 그 장치
WO2012081895A1 (ko) 2010-12-13 2012-06-21 한국전자통신연구원 인트라 예측 방법 및 그 장치
KR101383775B1 (ko) * 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US9667965B2 (en) * 2012-06-25 2017-05-30 Industry-University Cooperation Foundation Hanyang University Video encoding and decoding method
US9386306B2 (en) * 2012-08-15 2016-07-05 Qualcomm Incorporated Enhancement layer scan order derivation for scalable video coding
JP5798539B2 (ja) 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
US10003818B2 (en) * 2013-10-11 2018-06-19 Sony Corporation Video coding system with intra prediction mechanism and method of operation thereof
WO2015057947A1 (en) * 2013-10-17 2015-04-23 Huawei Technologies Co., Ltd. Improved reference pixel selection and filtering for intra coding of depth map
WO2016072732A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 텍스쳐 합성 기반 예측 모드를 이용하는 비디오 부호화/복호화 방법 및 장치
US10148953B2 (en) * 2014-11-10 2018-12-04 Samsung Electronics Co., Ltd. System and method for intra prediction in video coding
US20180035123A1 (en) * 2015-02-25 2018-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and Decoding of Inter Pictures in a Video
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373770A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US20180213224A1 (en) * 2015-07-20 2018-07-26 Lg Electronics Inc. Intra prediction method and device in video coding system
WO2017030418A1 (ko) * 2015-08-19 2017-02-23 엘지전자(주) 다중 그래프 기반 모델에 따라 최적화된 변환을 이용하여 비디오 신호를 인코딩/ 디코딩하는 방법 및 장치
US10136131B2 (en) * 2015-09-11 2018-11-20 Beamr Imaging Ltd. Video coding apparatus and method
EP3376764A4 (en) * 2015-11-12 2019-12-04 LG Electronics Inc. METHOD AND DEVICE FOR COEFFICIENT-INDUCED INTRAPREDICATION IN A BILDCODING SYSTEM
CN108293117A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 基于像素梯度的后处理帧内或帧间预测块的方法和装置
CN108702502A (zh) 2016-02-16 2018-10-23 三星电子株式会社 用于减小帧内预测误差的帧内预测方法和用于其的装置
US10390026B2 (en) * 2016-03-25 2019-08-20 Google Llc Smart reordering in recursive block partitioning for advanced intra prediction in video coding
WO2017188565A1 (ko) * 2016-04-25 2017-11-02 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
CN109417637B (zh) * 2016-04-26 2021-12-07 英迪股份有限公司 用于编码/解码图像的方法和设备
US11405620B2 (en) 2016-08-01 2022-08-02 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus with sub-block intra prediction
WO2018125944A1 (en) * 2016-12-28 2018-07-05 Arris Enterprises Llc Improved video bitstream coding
WO2018132380A1 (en) * 2017-01-13 2018-07-19 Vid Scale, Inc. Prediction approaches for intra planar coding
CN116170584A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
WO2018142823A1 (en) * 2017-01-31 2018-08-09 Sharp Kabushiki Kaisha Systems and methods for scaling transform coefficient level values
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
EP3410708A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Method and apparatus for intra prediction with interpolation
JP2019041165A (ja) * 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム
US20190110052A1 (en) * 2017-10-06 2019-04-11 Futurewei Technologies, Inc. Bidirectional intra prediction
GB2567861A (en) 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
KR20190056888A (ko) * 2017-11-17 2019-05-27 삼성전자주식회사 비디오 부호화 장치 및 방법
US10645381B2 (en) * 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
MX2020013481A (es) * 2018-06-18 2021-02-26 Interdigital Vc Holdings Inc Filtrado de limites para los modos planar y dc en la prediccion intra.
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
KR102022375B1 (ko) * 2018-08-22 2019-09-18 (주)넥서스일렉트로닉스 Uhd tv용 업스케일 칩셋 모듈
CN110896476B (zh) * 2018-09-13 2021-11-26 阿里巴巴(中国)有限公司 图像处理方法、装置及存储介质
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
GB2580036B (en) * 2018-12-19 2023-02-01 British Broadcasting Corp Bitstream decoding
CN113330742A (zh) * 2018-12-28 2021-08-31 韩国电子通信研究院 视频编码/解码方法、设备以及存储有比特流的记录介质
WO2020185022A1 (ko) * 2019-03-12 2020-09-17 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020204413A1 (ko) * 2019-04-03 2020-10-08 엘지전자 주식회사 복원 픽처를 수정하는 비디오 또는 영상 코딩
CN111836043A (zh) * 2019-04-15 2020-10-27 中兴通讯股份有限公司 码块的预测、解码方法及装置
EP4300964A3 (en) * 2019-06-21 2024-03-13 VID SCALE, Inc. Precision refinement for motion compensation with optical flow
WO2020256597A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Matrix-based intra prediction for still picture and video coding
WO2020256599A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
CN115834879A (zh) * 2019-08-14 2023-03-21 Lg电子株式会社 图像编解码方法、发送比特流的方法和记录介质
KR20210133395A (ko) 2020-04-29 2021-11-08 삼성전자주식회사 이미지 부호화 장치, 이미지 센싱 장치 및 이미지 부호화 장치의 동작 방법

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122873A (en) * 1987-10-05 1992-06-16 Intel Corporation Method and apparatus for selectively encoding and decoding a digital motion video signal at multiple resolution levels
GB8729878D0 (en) * 1987-12-22 1988-02-03 Philips Electronic Associated Processing sub-sampled signals
EP0322956B1 (en) * 1987-12-22 1994-08-03 Koninklijke Philips Electronics N.V. Video encoding and decoding using an adpative filter
US4903124A (en) * 1988-03-17 1990-02-20 Canon Kabushiki Kaisha Image information signal transmission apparatus
EP0337565B1 (fr) * 1988-04-15 1993-03-10 Laboratoires D'electronique Philips Dispositif de codage de signaux représentatifs d'une suite d'images et système de transmission d'images de télévision à haute définition incluant un tel dispositif
FR2633137B1 (fr) * 1988-06-21 1990-11-09 Labo Electronique Physique Systeme d'emission et reception de television a haute definition a estimateur de vitesses ameliore et a debit de donnees reduit
US5335019A (en) * 1993-01-14 1994-08-02 Sony Electronics, Inc. Digital video data quantization error detection as applied to intelligent dynamic companding
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP3900000B2 (ja) * 2002-05-07 2007-03-28 ソニー株式会社 符号化方法及び装置、復号方法及び装置、並びにプログラム
US20030231795A1 (en) 2002-06-12 2003-12-18 Nokia Corporation Spatial prediction based intra-coding
JP4324844B2 (ja) 2003-04-25 2009-09-02 ソニー株式会社 画像復号化装置及び画像復号化方法
KR100596706B1 (ko) 2003-12-01 2006-07-04 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
MXPA06006107A (es) * 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
KR100597402B1 (ko) 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
CN100536573C (zh) * 2004-01-16 2009-09-02 北京工业大学 基于方向的dc预测方法及用于视频编码的帧内预测方法
KR20050112445A (ko) * 2004-05-25 2005-11-30 경희대학교 산학협력단 예측 부호화/복호화 장치, 예측 부호화/복호화 방법 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
KR101204788B1 (ko) * 2004-06-03 2012-11-26 삼성전자주식회사 영상의 공간 예측 부호화 방법, 부호화 장치, 복호화 방법및 복호화 장치
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
WO2006004331A1 (en) * 2004-07-07 2006-01-12 Samsung Electronics Co., Ltd. Video encoding and decoding methods and video encoder and decoder
KR100654436B1 (ko) * 2004-07-07 2006-12-06 삼성전자주식회사 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
CA2573990A1 (en) 2004-07-15 2006-02-23 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
CN1275469C (zh) * 2004-11-10 2006-09-13 华中科技大学 一种复杂度可分级的帧内预测方法
KR100679025B1 (ko) 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
KR100679031B1 (ko) 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
US20060133507A1 (en) 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
DE602006020556D1 (de) * 2005-04-01 2011-04-21 Panasonic Corp Bilddecodierungsvorrichtung und bilddecodierungsverfahren
JP4427003B2 (ja) * 2005-05-23 2010-03-03 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
KR100716999B1 (ko) * 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US9055298B2 (en) 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US8155189B2 (en) * 2005-10-19 2012-04-10 Freescale Semiconductor, Inc. System and method of coding mode decision for video encoding
KR101246294B1 (ko) * 2006-03-03 2013-03-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
KR100716142B1 (ko) * 2006-09-04 2007-05-11 주식회사 이시티 스테레오스코픽 영상 데이터의 전송 방법
US9014280B2 (en) * 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
JP2008153802A (ja) 2006-12-15 2008-07-03 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
KR101365574B1 (ko) 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101369224B1 (ko) * 2007-03-28 2014-03-05 삼성전자주식회사 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치
JP2008271371A (ja) * 2007-04-24 2008-11-06 Sharp Corp 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法およびプログラム
JP4799477B2 (ja) * 2007-05-08 2011-10-26 キヤノン株式会社 画像符号化装置及び画像符号化方法
KR101378338B1 (ko) 2007-06-14 2014-03-28 삼성전자주식회사 영상 복구를 이용한 인트라 예측 부호화, 복호화 방법 및장치
US8913670B2 (en) * 2007-08-21 2014-12-16 Blackberry Limited System and method for providing dynamic deblocking filtering on a mobile device
US8254450B2 (en) 2007-08-23 2012-08-28 Nokia Corporation System and method for providing improved intra-prediction in video coding
CN100562114C (zh) * 2007-08-30 2009-11-18 上海交通大学 视频解码方法与解码装置
KR102139535B1 (ko) * 2007-10-16 2020-07-30 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101228020B1 (ko) 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
CN101483780B (zh) * 2008-01-07 2011-08-24 华为技术有限公司 一种帧内dc预测的方法及装置
JP5111127B2 (ja) * 2008-01-22 2012-12-26 キヤノン株式会社 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム
KR101394209B1 (ko) 2008-02-13 2014-05-15 삼성전자주식회사 영상의 인트라 예측 부호화 방법
JP2011515060A (ja) * 2008-03-09 2011-05-12 エルジー エレクトロニクス インコーポレイティド ビデオ信号のエンコーディングまたはデコーディング方法及び装置
KR20090097688A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 영상의 인트라 예측 부호화/복호화 방법 및 장치
KR101595899B1 (ko) * 2008-04-15 2016-02-19 오렌지 선형 형태의 픽셀들의 파티션들로 슬라이스 된 이미지 또는 이미지들의 시퀀스의 코딩 및 디코딩
US20090262801A1 (en) * 2008-04-17 2009-10-22 Qualcomm Incorporated Dead zone parameter selections for rate control in video coding
EP2266321B1 (en) 2008-04-23 2017-12-13 Telefonaktiebolaget LM Ericsson (publ) Template-based pixel block processing
PL2958323T3 (pl) 2008-05-07 2017-05-31 Lg Electronics, Inc. Sposób i urządzenie do dekodowania sygnału wideo
PL2288163T3 (pl) * 2008-05-07 2015-11-30 Lg Electronics Inc Sposób i urządzenie do dekodowania sygnału wideo
US8179867B2 (en) 2008-05-09 2012-05-15 Lg Electronics Inc. Apparatus and method for transmission opportunity in mesh network
US20090316788A1 (en) * 2008-06-23 2009-12-24 Thomson Licensing Video coding method with non-compressed mode and device implementing the method
WO2010018992A2 (en) * 2008-08-12 2010-02-18 Lg Electronics Inc. Method of processing a video signal
US8213503B2 (en) * 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
CN101677406B (zh) * 2008-09-19 2011-04-20 华为技术有限公司 一种视频编解码的方法及装置
KR101306834B1 (ko) * 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8879637B2 (en) * 2008-10-06 2014-11-04 Lg Electronics Inc. Method and an apparatus for processing a video signal by which coding efficiency of a video signal can be raised by using a mixed prediction mode in predicting different macroblock sizes
CN102204256B (zh) * 2008-10-31 2014-04-09 法国电信公司 图像预测方法和系统
JP5238523B2 (ja) * 2009-01-13 2013-07-17 株式会社日立国際電気 動画像符号化装置、動画像復号化装置、および、動画像復号化方法
TWI380654B (en) * 2009-02-11 2012-12-21 Univ Nat Chiao Tung The control method of transmitting streaming audio/video data and architecture thereof
US8798158B2 (en) * 2009-03-11 2014-08-05 Industry Academic Cooperation Foundation Of Kyung Hee University Method and apparatus for block-based depth map coding and 3D video coding method using the same
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US9113169B2 (en) 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
CN101674475B (zh) * 2009-05-12 2011-06-22 北京合讯数通科技有限公司 一种h.264/svc的自适应层间纹理预测方法
JP5597968B2 (ja) 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR101510108B1 (ko) * 2009-08-17 2015-04-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
FR2952497B1 (fr) 2009-11-09 2012-11-16 Canon Kk Procede de codage et de decodage d'un flux d'images; dispositifs associes
JP2011146980A (ja) * 2010-01-15 2011-07-28 Sony Corp 画像処理装置および方法
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
EP2559239A2 (en) * 2010-04-13 2013-02-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus for intra predicting a block, apparatus for reconstructing a block of a picture, apparatus for reconstructing a block of a picture by intra prediction
KR101772459B1 (ko) * 2010-05-17 2017-08-30 엘지전자 주식회사 신규한 인트라 예측 모드
CN101877792B (zh) * 2010-06-17 2012-08-08 无锡中星微电子有限公司 帧内模式预测方法与装置、编码器
HUE040604T2 (hu) * 2010-08-17 2019-03-28 M&K Holdings Inc Berendezés intra predikció mód dekódolására
ES2868133T3 (es) * 2010-09-27 2021-10-21 Lg Electronics Inc Método para partición de bloque y dispositivo de decodificación
US20120121018A1 (en) * 2010-11-17 2012-05-17 Lsi Corporation Generating Single-Slice Pictures Using Paralellel Processors
KR102427824B1 (ko) * 2010-12-08 2022-08-02 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9930366B2 (en) 2011-01-28 2018-03-27 Qualcomm Incorporated Pixel level adaptive intra-smoothing
CN102685505B (zh) * 2011-03-10 2014-11-05 华为技术有限公司 帧内预测的方法和预测装置
KR101383775B1 (ko) * 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치

Also Published As

Publication number Publication date
GB2506039A (en) 2014-03-19
ES2597433B1 (es) 2017-12-21
CN107517377A (zh) 2017-12-26
KR20130028815A (ko) 2013-03-20
CN107613296B (zh) 2020-11-10
ES2597432A2 (es) 2017-01-18
US20170006291A1 (en) 2017-01-05
ES2450643B1 (es) 2015-07-17
US9288503B2 (en) 2016-03-15
CA2836888A1 (en) 2012-11-29
KR20140135680A (ko) 2014-11-26
ES2597433A2 (es) 2017-01-18
GB201712867D0 (en) 2017-09-27
ES2596027R1 (es) 2017-03-17
KR101508291B1 (ko) 2015-04-08
GB2560394B (en) 2018-12-05
ES2612388A1 (es) 2017-05-16
KR20140135681A (ko) 2014-11-26
AU2012259700B2 (en) 2015-10-01
CN107592531A (zh) 2018-01-16
KR101453898B1 (ko) 2014-10-23
ES2597459A2 (es) 2017-01-18
KR101458794B1 (ko) 2014-11-07
ES2570027A2 (es) 2016-05-13
WO2012161444A3 (ko) 2013-01-17
ES2545039A2 (es) 2015-09-07
ES2570027B1 (es) 2017-04-12
SE541011C2 (sv) 2019-02-26
US20150146781A1 (en) 2015-05-28
SE541010C2 (sv) 2019-02-26
CN103703773A (zh) 2014-04-02
CN107547894A (zh) 2018-01-05
KR101508894B1 (ko) 2015-04-08
GB2506039B (en) 2018-10-24
SE1651173A1 (sv) 2016-09-01
US20170034518A1 (en) 2017-02-02
US9154803B2 (en) 2015-10-06
US9432695B2 (en) 2016-08-30
US20180054620A1 (en) 2018-02-22
CN107517378A (zh) 2017-12-26
ES2545039B1 (es) 2016-09-09
EP2712192A4 (en) 2015-06-17
ES2612388B1 (es) 2017-11-24
ES2597459R1 (es) 2017-04-26
ES2545039R1 (es) 2015-12-28
SE538196C2 (sv) 2016-04-05
CA2836888C (en) 2017-10-31
ES2597458A2 (es) 2017-01-18
CN107547894B (zh) 2020-11-10
CN106851315A (zh) 2017-06-13
KR101508486B1 (ko) 2015-04-08
KR20140135678A (ko) 2014-11-26
KR20140059177A (ko) 2014-05-15
CN107592530A (zh) 2018-01-16
AU2015261728B2 (en) 2017-07-27
ES2597431A2 (es) 2017-01-18
RU2628154C1 (ru) 2017-08-15
EP2712192A2 (en) 2014-03-26
CA2958027A1 (en) 2012-11-29
RU2628157C1 (ru) 2017-08-15
KR20140128904A (ko) 2014-11-06
CN104378645B (zh) 2017-11-14
CN108055537B (zh) 2020-11-10
US9843808B2 (en) 2017-12-12
KR20140056199A (ko) 2014-05-09
CN107786871B (zh) 2020-11-10
ES2597431B1 (es) 2018-02-27
SE537736C3 (pl) 2016-04-12
CN107592545B (zh) 2020-11-10
SE1551664A1 (sv) 2015-12-17
KR101453897B1 (ko) 2014-10-23
CN107592530B (zh) 2020-03-06
US20170006308A1 (en) 2017-01-05
CN107592546B (zh) 2020-03-06
WO2012161444A2 (ko) 2012-11-29
CN107592545A (zh) 2018-01-16
BR112013029931B1 (pt) 2022-07-12
SE537736C2 (sv) 2015-10-06
GB201321333D0 (en) 2014-01-15
AU2015261728A1 (en) 2015-12-17
AU2012259700A1 (en) 2013-12-19
CN107592532B (zh) 2020-04-28
CN106851315B (zh) 2020-04-21
SE1550476A1 (sv) 2015-04-22
CN107517379A (zh) 2017-12-26
KR20150043278A (ko) 2015-04-22
US9584815B2 (en) 2017-02-28
CN107566833B (zh) 2020-11-10
RU2628161C1 (ru) 2017-08-15
BR112013029931A2 (pt) 2017-01-24
KR101383775B1 (ko) 2014-04-14
US20150139318A1 (en) 2015-05-21
ES2597458R1 (es) 2017-04-18
CN107659816A (zh) 2018-02-02
GB2559438B (en) 2018-11-14
RU2628160C1 (ru) 2017-08-15
ES2633153A2 (es) 2017-09-19
ES2597458B1 (es) 2017-11-24
KR101508292B1 (ko) 2015-04-08
US9445123B2 (en) 2016-09-13
CN107566832B (zh) 2020-03-06
KR101453899B1 (ko) 2014-10-23
US10158862B2 (en) 2018-12-18
SE1651172A1 (sv) 2016-09-01
CN107592532A (zh) 2018-01-16
US9749639B2 (en) 2017-08-29
ES2570027R1 (es) 2016-08-01
US9432669B2 (en) 2016-08-30
ES2633153B1 (es) 2018-10-10
GB201712865D0 (en) 2017-09-27
KR20140019457A (ko) 2014-02-14
CN107613295B (zh) 2020-05-12
ES2596027A2 (es) 2017-01-04
GB2559438A (en) 2018-08-08
KR101552631B1 (ko) 2015-09-11
US9749640B2 (en) 2017-08-29
CN107613295A (zh) 2018-01-19
RU2013152690A (ru) 2015-06-27
CN107517377B (zh) 2020-08-21
CN107592531B (zh) 2020-04-24
ES2597433R1 (es) 2017-04-18
ES2597432B1 (es) 2017-12-28
GB2556649A (en) 2018-06-06
CN107566832A (zh) 2018-01-09
ES2450643R1 (es) 2014-12-11
CN107592546A (zh) 2018-01-16
CN107786871A (zh) 2018-03-09
ES2597459B1 (es) 2017-12-21
CN107517378B (zh) 2020-09-08
CN107613296A (zh) 2018-01-19
SE539822C2 (sv) 2017-12-12
ES2597431R1 (es) 2017-03-17
CN107517379B (zh) 2020-09-04
ES2596027B1 (es) 2017-12-27
CN103703773B (zh) 2017-11-07
CN108055537A (zh) 2018-05-18
KR20140135679A (ko) 2014-11-26
PL407846A1 (pl) 2015-05-25
KR101508895B1 (ko) 2015-04-08
GB2560394A (en) 2018-09-12
ES2450643A2 (es) 2014-03-25
US20160112719A1 (en) 2016-04-21
US20160373764A1 (en) 2016-12-22
CN107786870B (zh) 2020-11-10
US20160173874A1 (en) 2016-06-16
RU2576502C2 (ru) 2016-03-10
GB2556649B (en) 2018-10-31
ES2597432R1 (es) 2017-03-23
SE1351441A1 (sv) 2014-01-22
GB201712866D0 (en) 2017-09-27
ES2633153R1 (es) 2017-11-03
CN104378645A (zh) 2015-02-25
US9756341B2 (en) 2017-09-05
KR20140056200A (ko) 2014-05-09
US20170006292A1 (en) 2017-01-05
CN107659816B (zh) 2020-07-03
CA2958027C (en) 2019-04-30
CN107566833A (zh) 2018-01-09
CN107786870A (zh) 2018-03-09
KR20140128903A (ko) 2014-11-06
RU2628153C1 (ru) 2017-08-15
US20140105290A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
AU2015261728B2 (en) Method and apparatus for intra prediction within display screen
AU2016219672A1 (en) Method and apparatus for intra prediction within display screen