FR3098070A1 - Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat - Google Patents

Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat Download PDF

Info

Publication number
FR3098070A1
FR3098070A1 FR1907069A FR1907069A FR3098070A1 FR 3098070 A1 FR3098070 A1 FR 3098070A1 FR 1907069 A FR1907069 A FR 1907069A FR 1907069 A FR1907069 A FR 1907069A FR 3098070 A1 FR3098070 A1 FR 3098070A1
Authority
FR
France
Prior art keywords
list
coding parameters
encoding
information
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1907069A
Other languages
English (en)
Other versions
FR3098070B1 (fr
Inventor
Jean-Marc Thiesse
David GOMMELET
Didier Nicholson
Madhukar BHAT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
S A Vitec
SA Vitec
Original Assignee
S A Vitec
SA Vitec
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 S A Vitec, SA Vitec filed Critical S A Vitec
Priority to FR1907069A priority Critical patent/FR3098070B1/fr
Priority to US17/620,994 priority patent/US20220368923A1/en
Priority to PCT/FR2020/051124 priority patent/WO2020260843A1/fr
Priority to EP20747051.9A priority patent/EP3991436A1/fr
Publication of FR3098070A1 publication Critical patent/FR3098070A1/fr
Application granted granted Critical
Publication of FR3098070B1 publication Critical patent/FR3098070B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L’invention concerne un procédé de décodage d’un flux binaire comprenant une séquence d’images encodées, le procédé comprenant :- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage. Figure 3

Description

Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
Domaine et contexte de l’invention
La présente description se rapporte au domaine de la compression vidéo, et plus spécifiquement aux encodeurs et décodeurs vidéo.
La description peut s’appliquer notamment aux protocoles de sélection de modes de prédictions dans les standards de compression vidéo MPEG, comme par exemple l’AVC (h.264) pour « Advanced Video Coding », HEVC (h.265) pour « High Efficiency Video Coding », et les futurs standards de compression MPEG, comme par exemple le VVC (h.266) pour « Versatile Video Coding ».
Les schémas de compression vidéo classique sont basés sur les mêmes principes depuis la première génération de standard MPEG, le MPEG2. Les images d’une séquence vidéo ou d’un flux vidéo sont considérées séquentiellement et divisées en éléments, eux-mêmes pouvant être divisés en éléments. Ces éléments peuvent être par exemple des macroblocs (MB), des « coding tree units » (CTU) ou encore des blocs, des « coding units » (CU) ou des « prediction units » (PU).
La division des images en éléments ou/et éléments de pixels, lors des processus d’encodage d’une séquence vidéo, permet de traiter localement les données d’image. Différents types de traitement associés à des paramètres de codages peuvent être utilisés pour encoder chaque élément.
Les différents types de traitements peuvent être généralement utilisés pour améliorer, par exemple, le processus de compression vidéo lors de l’encodage vidéo. Un type de traitement peut être par exemple une prédiction intra comprenant des modes de prédiction intra comme paramètres de codage. Selon un autre exemple, le type de traitement peut être l’application d’un filtre à décalage adaptatif d’échantillons comprenant comme paramètres de codage des valeurs de décalage ou offset. Selon un autre exemple, le type de traitement peut être une prédiction inter comportant des modes dit « modes merge » comme paramètres de codage.
Selon les standards de compression et les types de paramètres de codages, un certain nombre de paramètres de codage sont accessibles pour l’encodage et le décodage. Ce nombre de paramètres de codages peut, selon le type et le standard de compression être relativement important et ainsi entrainer une signalisation conséquente qui peut réduire d’autant la performance de la compression en cas d’utilisation sous-optimale ou incomplète de l’ensemble des paramètres de codage Une utilisation incomplète peut intervenir lors d’une mise en œuvre précise d’un encodeur avec des contraintes fortes de rapidité d’exécution ou de complexité, amenant le fabricant à ne pas exploiter l’ensemble des paramètres. Une utilisation sous-optimale des paramètres de codage peut intervenir en fonction d’un contenu spécifique et/ou d’un point d’utilisation de l’encodeur.
Généralement, l’évolution d’un standard de compression, comme par exemple le standard de compression de type MPEG, implique un gain de compression, mais aussi une augmentation du nombre de paramètres de codage disponibles pour un même type de traitement. Par exemple les modes de prédiction intra qui sont au nombre de 35 pour le standard HEVC, et 67 pour le futur standard de compression VVC.
Les paramètres de codages utilisés lors de l’encodage vidéo sont nécessaires lors du décodage du flux binaire correspondant. L’encodeur doit ainsi les signaliser au décodeur dans le flux binaire, mais en contrepartie d’un certain coût de signalisation. Cette signalisation peut représenter un certain nombre de bits qui affecte la performance de la compression notamment si elle n’est pas compensée pas un gain de qualité de compression suffisant. La signalisation peut consister par exemple à signaler un paramètre de codage. Par exemple, lorsque les paramètres de codages sont des modes de prédiction intra dans le standard HEVC, la signalisation du mode de prédiction sélectionné par l’encodeur pour un élément représente jusqu’à 5 bits. C’est-à-dire que l’encodeur encode la valeur d’indice correspondant à ce mode de prédiction intra parmi 35 modes de prédiction. Dans le cas du futur standard de compression VVC, cette signalisation est effectuée sur jusqu’à 6 bits pour couvrir les 67 modes de prédictions.
Ainsi le coût de signalisation globale peut rapidement devenir important. Cette signalisation est d’autant plus importante que le nombre de paramètres de codages disponibles est grand et que le nombre d’éléments à encoder est important.
La présente invention vient améliorer la situation.
A cet effet, il est proposé un procédé de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
Cela permet de décoder une séquence d’images encodées dans un flux binaire sur la base d’une liste de paramètres de codage incluse dans la liste prédéfinie de paramètres de codage. Ainsi, le nombre de paramètres de codage disponible pour l’encodage et le décodage peut être réduit. Il est donc possible de réduire la taille de la signalisation affectée aux paramètres de codage, c’est-à-dire les deuxièmes données encodées. Avantageusement, la liste de paramètres est strictement incluse dans la liste prédéfinie, permettant ainsi de réduire la taille de la signalisation quel que soit l’élément à décoder.
De plus, de manière avantageuse, cette réduction du nombre de paramètres de codage en amont peut permettre de réduire le temps de calcul d’encodage ou décodage et/ou réduire les ressources matérielles nécessaires, en particulier par exemple lorsque la sélection d’un paramètre de codage parmi une liste de paramètre de codage nécessite de tous les tester afin de sélectionner le paramètre de codage optimal.
Par paramètre de codage, on entend un paramètre sur la base duquel sont obtenues les données encodées représentatives d’un élément. Autrement dit par paramètre de codage on entend une fonction ou un paramètre d’une fonction permettant d’obtenir les données encodées représentatives d’un élément. Par exemple, un paramètre de codage peut permettre de déterminer un élément prédictif dont le différentiel avec l’élément à encoder est le résidu. Un tel paramètre de codage peut ainsi être un mode de prédiction, c’est-à-dire que le paramètre de codage peut indiquer un élément d’une image de la séquence d’image (soit de la même image soit d’une image différente que celle de l’élément qui est à encoder/décoder). Le paramètre de codage peut également permettre le calcule d’un résidu une fois l’élément prédictif (c’est-à-dire indiqué par un mode de prédiction) de l’élément à encodé/décodé déterminé.
Par un élément de l’image, on entend une unité de traitement. Ces unités de traitement divisent ou découpent l’image en groupe de pixels. Cet élément peut représenter un ensemble de pixels ou correspondre à un seul pixel, une image étant divisée en éléments qui sont ensuite traités pour l’encodage ou le décodage. À titre d’exemple, les éléments peuvent être des macroblocs, des CTU (coding tree unit), ou encore CTB (coding block unit). Chaque élément peut être de plus divisé en éléments plus petits de taille fixe 4x4, 8x8, 16x16, 32x32, 64x64, ou 128x128 pixels ou des éléments rectangulaires. Ces éléments de taille plus petite peuvent être par exemple des blocs, des CU (coding unit), des CB (coding block), des « prediction unit » (PU), des « predict block » (PB), des « transform unit » (TU), ou encore des « transform block » (TB).
Par obtenir des premières informations à partir de premières données encodées dans le flux binaire, on entend le décodage des premières données encodées comprenant les premières informations. Ces premières informations peuvent donc être signalisées dans le flux binaire par l’encodeur à travers les premières données encodées. Ces premières informations peuvent comprendre, par exemple, des informations relatives à un mode de gestion de paramètres de codages (indication d’un mode de gestion des paramètres de codages, paramétrage du mode de gestion utilisé pour l’encodage…). Par mode de gestion de paramètres de codage, on entend un mode définissant la manière dont sont déterminées les listes de paramètres de codage sur la base des premières informations (par exemple des caractéristiques de codage) et de la liste prédéfinie de paramètres de codage.
Plusieurs modes de gestions peuvent être indiqués dans les premières informations afin de déterminer plusieurs listes de paramètres de codage à partir de la même liste prédéfinie de paramètres de codage, permettant ainsi d’utiliser la liste la plus adaptée pour l’encodage ou le décodage de chaque élément d’une image en fonction des différents besoins (par exemple caractéristique de l’image, caractéristique de l’élément…).
Il est entendu par liste prédéfinie de paramètres de codage une liste comportant un nombre fini de paramètres de codage. Ce nombre peut être fonction du standard de compression utilisé pour l’encodage de la séquence vidéo, et du type de paramètres de codage. Par exemples des modes de prédiction ou des valeurs de décalage d’un filtre dit « offset ». Le type de paramètres de codage peut être déterminé selon les premières informations. La liste prédéfinie de paramètres de codage peut comporter une indexation des paramètres de codage, par exemple de 0 à N-1 avec N un entier positif.
A titre d’exemple, si les paramètres de codage sont des modes de prédiction intra dans le standard de compression HEVC, la liste prédéfinie comporte 35 paramètres de codage ou modes de prédiction intra. Selon un autre exemple, dans le cas du futur standard de compression VVC, la liste prédéfinie de paramètres de codage comporterait alors 67 modes de prédiction intra pour un élément, par exemple des CU.
Selon un autre exemple, si les paramètres de codage sont des valeurs de décalage utilisées lors du filtrage « sample adaptive offset » (SAO) pour des pixels codés sur 10 bits dans le standard HEVC ou futur VVC, la liste prédéfinie de paramètres de codage peut comporter alors 32 valeurs de décalage pour un élément, par exemple un CTU.
Il peut être compris par déterminer une liste de paramètres de codage, la détermination d’au moins une liste de paramètres de codage strictement comprise dans au moins une liste prédéfinie de paramètres de codage. La liste de paramètres de codage peut comporter une indexation des paramètres de codage, par exemple de 0 à i, avec i entier positif inférieur strictement à N-1.
Par obtenir des deuxièmes informations à partir de deuxièmes données encodées dans le flux binaire, on entend le décodage de deuxièmes données encodées comprenant des deuxièmes informations. Ces deuxièmes informations peuvent donc être signalisées dans le flux binaire par l’encodeur à travers les deuxièmes données encodées. Ces deuxièmes informations permettent d’indiquer au décodeur le paramètre de codage à utiliser parmi les paramètres de codage de la liste déterminée pour la détermination d’un élément dans l’image restituée.
Puisque l’encodeur et le décodeur possèdent la même liste de paramètres de codage déterminée, lorsque l’encodeur signale le paramètre de codage à utiliser pour le décodage parmi la liste de paramètres de codage, le décodeur peut retrouver ce paramètre de codage parmi la même liste de paramètres de codage.
Par déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images (ou simplement déterminer un élément d’une image), on entend le fait de reconstituer les pixels contenus dans cet élément de l’image par l’application du paramètre de codage signalé dans la deuxième information. Le paramètre de codage est relatif à un type de traitement, par exemple une prédiction, intra ou inter, ou l’application d’un filtre SAO. Ainsi, la détermination de l’élément par un type de traitement spécifique, consiste à appliquer un paramètre de codage de ce type.
Il peut être compris par taille des deuxièmes données encodées une taille pouvant être définie par un nombre de bits. Les deuxièmes données encodées peuvent correspondre à un indice d’un paramètre de codage signalé dans le flux binaire par l’encodeur. Cet indice étant celui d’un des paramètres de codage compris dans la liste indexée de paramètres de codage déterminée par le décodeur. Le nombre de bits utilisés pour encoder l’indice est fonction du nombre de paramètres de codage dans la liste indexée déterminée.
Ainsi lors du décodage d’une image d’une séquence d’images, c’est-à-dire du décodage des éléments de cette image, pour chaque élément peut être signalé par les deuxièmes informations, l’indice d’un paramètre de codage à utiliser parmi un nombre réduit de paramètres de codage compris dans la liste de paramètres de codage déterminée par le décodeur. Le coût de signalisation en bits peut ainsi être diminué.
Avantageusement, la liste de paramètres de codage peut être déterminée par sélection de paramètres de codage dans la liste prédéfinie de paramètres de codage ou par sélection parmi une pluralité de listes prédéfinies de paramètres de codage.
Ainsi, soit la liste est déterminée par sélection des paramètres de codage au sein de la liste prédéfinie soit la sélection est réalisée en amont de l’obtention des premières informations et donc indépendamment de celles-ci, c’est-à-dire que plusieurs sous listes de paramètres de codage sont prédéterminée, la détermination de la liste consiste alors à sélectionner l’une de ces sous listes prédéterminées. Les sous listes de paramètres de codage prédéterminée sont des sous listes de la liste prédéterminée. Cela permet de réduire la taille des premières informations nécessaire pour déterminer la liste.
La sélection des paramètres de codage au sein de la liste prédéfinie permet d’adapter le nombre de paramètre de codage qui peuvent être utilisé en fonction de l’image et lorsque plusieurs listes sont déterminées par sélection dans la liste prédéfinie alors il est possible d’adapter le nombre de paramètres de codage en fonction des éléments. Ainsi, deux éléments d’une même image peuvent être encodés/décodés avec des listes déterminées de taille différente. Par exemple, les éléments d’une image encodés/décodés en intra d’une zone intra-refresh (dans le cadre d’un encodage intra-refresh) pourront être encodés/décodés au moyen d’une liste comportant plus de paramètre d’encodage que les éléments de l’image encodés/décodés en intra en dehors de la zone intra-refresh.
Selon un ou plusieurs modes de réalisation, les premières données encodées et/ou les deuxièmes données encodées peuvent être comprises dans une partie signalisation du flux binaire. La partie signalisation peut permettre de simplifier le décodage d’une séquence vidéo en renseignant par exemple sur la structure des images, le type d’image, la résolution d’encodage, etc. La partie de signalisation générale du standard HEVC se compose d’un champ (également appelé NAL) « Video Parameter Set » (VPS), d’un champ « Sequence Parameter Set » (SPS), et d’un champ « Picture Parameter Set » (PPS). Le futur standard VVC reprendrait au moins les champs SPS et PPS.
Le champ VPS comprend les informations relatives à la vidéo. Le champ VPS comprend par exemple une information concernant le « Profil », le « Level » et le « Tier » qui définissent des propriétés de décodage.
Le champ SPS comprend les informations relatives à la séquence d’images considérée. Toutes les images de la séquence utilisent en principe le même SPS. Le champ SPS comprend notamment des informations relatives aux outils de codage utilisés, ou encore des paramètres importants décrivant les propriétés de la séquence encodée (par exemple la taille des images).
Le champ PPS comprend des informations relatives à chaque image, même si plusieurs images peuvent faire référence au même PPS afin de réduire la taille de la signalisation. Le PPS comprend notamment des informations supplémentaires relatives aux outils de codage utilisés dans la ou les images qui s’y réfèrent (par exemple le « mode de prédiction intra »). C’est par exemple, dans ce champ PPS, que les premières et deuxièmes informations peuvent être signalisées.
Selon un autre exemple, les premières et deuxièmes informations peuvent être signalisées dans l’entête des tranches ou « slices » de l’image de la séquence d’images.
En outre, les premières données encodées et/ou les deuxièmes données encodées peuvent être signalisées selon un mécanisme de signalisation propre au type de paramètre de codage.
Avantageusement, la liste de paramètres de codage peut être fonction de caractéristiques d’encodage d’éléments de l’image.
Ainsi, il est possible d’utiliser des listes déterminées différentes pour décoder des éléments de l’image en fonction des spécificités de ces éléments. Ainsi, une première liste peut être utilisée pour encoder/décoder un premier élément et une deuxième liste pour encoder/décoder un deuxième élément d’une même image. Pour cela il est possible de déterminer pour une image donnée (ou un groupe d’images données), sur la base des premières informations une pluralité de listes de paramètres de codage parmi lesquelles on vient sélectionner une liste en fonction des caractéristiques d’encodage de l’élément à décoder/encoder de cette image donnée. Les listes déterminées sont obtenues avant de procéder au décodage/encodage des éléments de l’image à décoder, c’est-à-dire que les listes déterminées sont obtenues avant le décodage d’un ensemble d’éléments de l’image. Au moment d’encoder/décoder un élément, une liste parmi la pluralité de listes déterminée pour l’image est sélectionnée en fonction des caractéristiques d’encodage de cet élément, ces caractéristiques d’encodage sont propres à l’élément à encoder/décoder. Les premières informations peuvent comporter les caractéristiques d’encodage des éléments. Dans les deux cas il est ainsi possible d’obtenir une grande liberté dans la détermination de la ou des listes de paramètres de codage pour s’adapter aux spécificités de chaque élément à encoder/décoder. Avantageusement, au moins deux listes sont déterminées et au moins deux éléments de l’image sont respectivement encodés/décodés avec des listes déterminées différentes.
Les caractéristiques d’encodage d’éléments de l’image sont propres à l’élément à encoder/décoder. Ils peuvent ainsi dépendre uniquement de cet élément, à savoir que si l’on change l’un des éléments de l’image à encoder/décoder l’on ne change pas les caractéristiques d’encodage de l’élément à encoder/décoder.
Avantageusement, les caractéristiques d’encodage d’éléments de l’image comprennent une taille d’élément et/ou un pas de quantification (QP) d’élément et/ou un type chromatique d’élément et/ou un type luminosité d’élément et/ou un type d’encodage intra d’élément et/ou un type d’encodage inter d’élément et/ou une taille de transformée et/ou un type de transformée et/ou un type de filtre.
Il peut être entendu par une taille d’élément une taille définie par un nombre de pixels, par exemple 64x64 pixels.
Par un type chromatique d’élément et un type luminosité d’élément, on entend une composante de luminosité dit « luma », Y, et une composante de couleur dite « chroma », U ou V, des pixels de l’élément.
Par type d’encodage intra d’élément, on entend que l’élément de l’image I est encodé en intra c’est-à-dire que l’élément n’est pas encodé à partir d’un élément d’une autre image que l’image I.
Par type d’encodage inter d’élément, on entend que l’élément de l’image I est encodé en Inter c’est-à-dire que l’élément est encodé au moins à partir d’un élément d’une autre image que l’image I.
Par un premier élément encodé à partir d’un deuxième élément, on entend que le mode de prédiction (Intra, Inter…) utilisé pour encoder le premier élément et qui est signalé dans les données encodées représentatives du premier élément vise ou indique d’utiliser le deuxième élément (c’est-à-dire les valeurs du deuxième élément une fois décodé) pour encoder le premier élément.
Il peut être compris par une taille de transformée, une taille de transformée en cosinus discrète (DCT) de 4x4, 8x8, 16x16, 32x32 ou 64x64 pixels.
Il peut être compris par un type de transformée, un type DCT-II ou un type DST-VII ou un type DCT-VIII.
Il peut être compris par type de filtre, un filtre de décalage adaptatif d’échantillon (sample adaptive offset, SAO) de type « contour » (« Edge ») ou « Bande » (« Band »), un filtre de déblocage « Deblocking Filter » ou un filtre de boucle adaptatif « Adaptive Loop Filtering, ALF ».
Avantageusement, la détermination de la liste de paramètres de codage peut se faire, par sélection dans la liste prédéfinie de paramètres de codage de paramètres de codage spécifiés par les premières informations.
Ainsi, les premières informations obtenues par décodage des premières données encodées comprennent des informations indiquant explicitement les paramètres de codage à sélectionner. Par exemple, les premières informations comprennent une liste d’indices correspondant aux paramètres de codage de la ou les listes prédéfinies lorsque celles-ci sont indexées par exemple de 0 à N-1, N étant un entier positif. Il s’agit ici d’un mode de gestion dit « explicite ». Ainsi dans le mode de gestion dit « explicit », des instructions peuvent indiquer explicitement les paramètres de codage que le décodeur peut sélectionner parmi une ou plusieurs listes prédéfinies de paramètres de codage permettant de constituer par exemple une première liste de paramètres de codage.
Avantageusement, les instructions peuvent indiquer plusieurs ensembles de paramètres de codage pour la détermination de plusieurs listes de paramètres de codage.
Avantageusement, la liste prédéfinie de paramètres de codage peut être indexée de 0 à N-1, avec N un nombre de paramètres de codage dans la liste prédéfinie de paramètres de codage et dans lequel la détermination de la liste de paramètres de codage peut se faire par sélection sur la base des premières informations :
- des paramètres de codage de la liste prédéfinie d’indices k+n.m, avec n entier strictement positif et k entier positif ou nul et n+k inférieur ou égal à N-1 et m compris entre 0 et la partie entière par défaut de (N-k-1)/n ; et,
- des paramètres de codage de la liste prédéfinie d’indices inférieurs strictement à k’ avec k’ entier positif ou nul inférieur ou égal à k.
Ainsi, il est possible de déterminer une ou plusieurs listes de paramètres de codage de manière simple et avec une signalisation de faible taille. Ainsi, il peut être possible de transmettre un minimum d’instructions dans les premières données pour limiter le coût de la signalisation global dans le flux binaire. De plus, une telle sélection dans la liste prédéfinie est régulière c’est-à-dire que les paramètres de codage sélectionnés sont répartis de manière régulière dans la liste prédéfinie. Ainsi, si le paramètre de codage (p1) de la liste prédéfinie qu’utiliserait l’encodeur/décodeur pour encoder/décoder l’élément n’a pas été sélectionné dans la liste déterminée utilisée pour encoder/décoder l’élément de l’image alors l’écart d’indice entre le paramètre de codage (p1) et le paramètre de codage (p2) de la liste déterminée effectivement utilisé par l’encodeur/décodeur pour encoder/décoder l’élément reste inférieur à n/2 et en tout cas inférieur à n. Or, de par l’ordonnancement des paramètres de codage, la différence entre des résidus obtenus avec deux paramètres de codage d’indices proches est en moyenne plus faible que la différence entre des résidus obtenus avec deux paramètres de codage d’indices plus éloignés. Ainsi, avec une liste déterminée par une telle sélection on obtient en moyenne des résidus plus proches de ceux qui auraient été obtenus en se servant de la liste prédéfinie. Ainsi, on réduit la quantité de données encodées nécessaires pour encoder les résidus des éléments de l’image tout en réduisant la signalisation nécessaire pour signaliser chaque paramètre de codage. De plus, ce type de sélection permet d’obtenir des listes déterminées dont la structure/construction est similaire à celle de la liste prédéfinie qui permet de ne pas s’éloigner trop de la construction de la liste prédéfinie. Ainsi, le codeur arithmétique CABAC sera moins impacté.
L’on sélectionne dans la liste prédéfinie les paramètres de codage d’indice k+n.m, avec m allant de 0 à la partie entière par défaut de (N-k-1)/n. Le terme k peut permettre de définir un décalage dans la sélection des paramètres de codage.
Le mode de gestion permettant une telle sélection est appelé mode de gestion par « décimation ». Les entiers positifs k et n, ainsi qu’une information comme indiquant que le mode de gestion par « décimation » est activé suffisent au décodeur pour pouvoir déterminer une liste de paramètres de codage selon ce mode de gestion. Ainsi, les premières informations peuvent comprendre les entiers k, n. L’entier n représente un facteur de décimation permettant de sélectionner un paramètre de codage dans une liste prédéfinie de paramètres de codage tous les n paramètres de codages.
Selon un ou plusieurs modes de réalisation, n et m peuvent être déterminés en fonction d’un niveau hiérarchique de l’image par rapport aux images de la séquence d’images.
Par niveau hiérarchique de l’image par rapport aux images de la séquence d’images ou plus généralement d’un groupement d’images ou group d’images (GOP), il est entendu que dans le cas où les images d’un ensemble d’images utilisent des images précédemment codées, le niveau hiérarchique 0 est celui dont les images servent de références aux images encodées ensuite et qui utilisent lui-même uniquement des prédictions intra ou des images de niveau hiérarchique 0 ; le niveau hiérarchique 1 peut utiliser des images de niveau hiérarchique 0 ou 1, et ainsi de suite. Les images de dernier niveau hiérarchique sont souvent référencées par aucune autre image.
Ainsi, les listes de paramètres de codage utilisées pour encoder/décoder chaque image peuvent donc comporter un nombre de paramètres de codage différent selon le niveau hiérarchique des images.
Avantageusement, la détermination de la liste de paramètres de codage peut se faire par sélection (sur la base des premières informations) des paramètres de codage de la liste prédéfinie en fonction de niveaux de fréquences d’utilisation des paramètres de codage de la liste prédéfinie.
Il est entendu par fréquences d’utilisation d’un paramètre de codage, le nombre de fois où ce paramètre de codage a été utilisé pour la détermination d’éléments d’images restituées précédentes. Plus précisément, le nombre de fois où ce paramètre de codage a été utilisé pour le décodage des éléments de l’image en cours de décodage et/ou des images précédentes.
Une telle sélection dans la liste prédéfinie permet de sélectionner les paramètres de codage les plus susceptibles d’être utilisés au regard des images précédentes. Ceci est pertinent aussi bien lorsque l’on encode/décode des éléments en intra qu’en inter. En effet, les prédictions spatiales avec des niveaux de fréquence d’utilisation élevés dans une image précédente sont plus susceptibles d’avoir des niveaux de fréquence d’utilisation élevés dans l’image en cours d’encodage/décodage. Ainsi, les paramètres de codage de la liste prédéfinie qu’utiliserait l’encodeur/le décodeur pour encoder/décoder les éléments de l’image en cours de traitement sont plus susceptibles d’être sélectionnés dans les listes déterminées. Ainsi, avec une liste déterminée par une telle sélection on obtient en moyenne des résidus plus proches de ceux qui auraient été obtenus en se servant de la liste prédéfinie. Ainsi, on réduit la quantité de données encodées nécessaires pour encoder les résidus des éléments de l’image tout en réduisant la signalisation nécessaire pour signaliser chaque paramètre de codage.
À titre d’exemple, la sélection dans la liste prédéfinie en fonction des niveaux de fréquences d'utilisation peut se faire en sélectionnant les paramètres de codage avec un niveau de fréquences d’utilisation supérieur à un seuil ou en sélectionnant un nombre prédéfini de paramètres de codage ayant les niveaux de fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie.
Le mode de gestion permettant une telle sélection est appelé mode de gestion « histogramme ». Le seuil ou le nombre prédéfini de paramètres de codage ayant les niveaux de fréquences d’utilisation les plus élevées peuvent être compris dans les premières informations. Ainsi, les informations comprises dans les premières informations sont une information indiquant que le mode de gestion « histogramme » est activé ainsi que le seuil ou le nombre associé. Ainsi, ce mode de sélection nécessite peu de signalisation.
Avantageusement, la liste prédéfinie de paramètres de codage peut être indexée et la détermination de la liste de paramètres de codage peut se faire par sélection sur la base des premières informations :
- de paramètres de codage primaires spécifiés par les premières informations ; et
- de paramètres de codage secondaires tel qu’un indice de chaque paramètre de codage secondaire est compris dans où i(p)ksont les indices des paramètres de codage primaires et µk sont des entiers strictement positifs spécifiés par les premières informations.
Ainsi, il est possible déterminer une ou plusieurs listes de paramètres de codage avec peu de signalisation. En effet, il est possible de transmettre un minimum d’instructions dans les premières données, et limiter le coût de signalisation global dans le flux binaire.
Certains paramètres de codage (les paramètres de codage primaire) sont explicitement indiqués dans les premières informations. La sélection des autres paramètres de codage (paramètres de codage secondaires) se fait en prenant les paramètres d’indice compris dans le voisinage des paramètres de codage primaires. Par exemple les paramètres d’indice compris dans le voisinage du k ième paramètre de codage primaire.
Le mode de gestion permettant une telle sélection est appelé mode de gestion « groupe ». Ainsi, les informations qui peuvent être comprises dans les premières informations pour mettre en œuvre une telle sélection sont une information indiquant que le mode de gestion « groupe » est activé ainsi que les indices des paramètres de codage primaires et les valeurs µkassociés. Ainsi, ce mode de sélection nécessite peu de signalisation. Il est possible pour réduire encore la signalisation de donner la même valeur à tous les µk.
Avantageusement, la liste prédéfinie de paramètres de codage ou la pluralité de listes prédéfinies sont des listes prédéfinies de modes de prédiction ou des listes prédéfinies de valeurs de décalage d’un filtre.
Il peut être entendu par modes de prédictions, des modes intra ou inter permettant de déterminer un élément (autrement dit de déterminer les pixels de l’élément) d’une image à partir d’autres éléments appartenant à la même image pour les éléments encodés en intra et à partir d’élément d’autres images pour les éléments encodés en inter.
Il est entendu par valeur de décalage, une valeur pouvant être ajoutée à chaque pixel d’un élément résultant d’une prédiction intra ou inter afin de corriger les erreurs survenues lors de l’encodage (notamment celles relatives à la quantification).
Un deuxième aspect de l’invention concerne un procédé d’encodage d’un flux binaire vidéo correspondant à une séquence d’images qui peut comprendre:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
obtenir un flux binaire vidéo comprenant :
- des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
Comme précédemment indiqué la liste de paramètres de codage peut comporter un nombre restreint de paramètres de codage permettant de réduire la taille de la signalisation des paramètres de codage et de réduire la quantité de calcul nécessaire pour encoder les éléments de l’image.
Par paramétrage d’encodage, il est entendu des données d’entrées de l’encodage. Par exemple les paramétrages d’encodage peuvent être :
- des instructions précisant les modes de gestion à utiliser,
- les caractéristiques d’encodage d’éléments, et/ou
- les modes de gestion à utiliser en fonction des caractéristiques d’encodage.
Par flux binaire vidéo, on entend le flux binaire résultant de l’encodage de la séquence d’images.
Par données encodées représentatives d’un ou plusieurs éléments, il est entendu les données comprises dans une séquence binaire et donc dans le flux binaire vidéo qui sont obtenues par encodage du ou desdits éléments. Il s’agit de données relatives à un élément de l’image issu du traitement vidéo appliqué à la séquence d’images. Ces données encodées comportent l’information sur la base de laquelle le décodeur décodera la séquence d’images encodées pour restituer l’élément de l’image.
Ces données encodées sont obtenues à partir de l’élément qu’elles représentent (par exemple, pour déterminer un résidu), mais également à partir d’autres éléments soit de l’image (prédiction Intra) soit d’autres images du flux vidéo (prédiction Inter). Autrement dit, les données encodées représentatives d’un premier élément sont obtenues à partir d’un deuxième élément lorsque le mode de prédiction (ou plus généralement le paramètre de codage) utilisé pour encoder le premier élément et qui est signalé dans les données encodées représentatives du premier élément vise ou indique d’utiliser le deuxième élément (c’est-à-dire les valeurs du deuxième élément une fois décodé) pour encoder le premier élément.
Les données encodées peuvent comporter les deuxièmes informations encodées. Les deuxièmes données peuvent correspondre à la signalisation du paramètre de codage à utiliser pour la détermination de l’élément de l’image à restituer lors du décodage. Par exemple, les deuxièmes données encodées peuvent comprendre l’indice du paramètre de codage à utiliser parmi les indices de la liste de paramètres de codage, qui est la même que ce soit pour l’encodeur ou le décodeur.
À titre d’exemple, ces données encodées représentatives peuvent comporter l’indice d’un mode de prédiction ainsi qu’un résidu encodé après quantification et représentant la différence entre les valeurs d’un élément prédictif et l’élément de l’image.
Un troisième aspect de l’invention concerne un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie des procédés décrit ci-avant, lorsque ce programme est exécuté par un processeur.
Un quatrième aspect de l’invention concerne un dispositif de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence, et dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
Un cinquième aspect de l’invention concerne un dispositif d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir un flux binaire vidéo comprenant :
- des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :
illustre un exemple d’élément utilisé pour l’encodage ou le décodage d’une image selon un mode de réalisation.
illustre un exemple du nombre de modes de prédiction intra angulaires disponibles pour un encodeur ou décodeur suivant un standard de compression de type MPEG, par exemple le futur standard VVC.
illustre le procédé de décodage proposé selon un ou plusieurs modes de réalisation.
illustre un exemple de structure de groupement d’images dit « GOP ».
illustre un autre exemple de structure de groupement d’images dit « GOP ».
illustre un exemple de mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation.
illustre un exemple de mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation.
illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « explicit ».
illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « décimation ».
illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « décimation ».
illustre des exemples non limitatifs de mise en œuvre du procédé proposé lorsque le mode gestion est dit « histogramme ».
illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « groupe ».
illustre le procédé d’encodage proposé selon un ou plusieurs modes de réalisation.
illustre un exemple de dispositif d’encodage et un exemple de dispositif de décodage d’une séquence d’images pour la mise en œuvre du procédé proposé.
Les modes de réalisation d’un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d’un programme d’ordinateur d’un endroit vers un autre. Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur. Les exemples de support de stockage informatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d’ordinateur.
En outre, diverses formes de support lisible par ordinateur peuvent transmettre ou porter des instructions vers un ordinateur, tel qu’un routeur, une passerelle, un serveur, ou tout équipement de transmission de données, qu’il s’agisse de transmission filaire (par câble coaxial, fibre optique, fils téléphoniques, câble DSL, ou câble Ethernet), sans-fil (par infrarouge, radio, cellulaire, microondes), ou des équipements de transmission virtualisés (routeur virtuel, passerelle virtuelle, extrémité de tunnel virtuel, pare-feu virtuel). Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique, tel que, sans limitation, les langages assembleur, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, et bash scripting.
De plus, les termes «notamment», «par exemple», «exemple», «typiquement» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d’autres aspects ou modes de réalisation possibles.
Les données vidéo font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que le H.264/AVC, H.265/HEVC, MPEG-2, ou encore le futur standard de compression VVC (h.266), qui peuvent être utilisés à cette fin.
Dans les schémas de compression vidéo classique, les images d’une séquence vidéo ou d’un flux vidéo sont considérées séquentiellement. Chaque image de la séquence vidéo peut être divisée par exemple en tranche (ou « slice » en anglais). Ces tranches peuvent représenter une portion de l’image. Les tranches peuvent être aussi divisées en éléments de taille fixe, par exemple 16x16, 32x32, 64x64, ou 128x128 pixels, pour le futur standard VVC. À titre d’exemple, les éléments peuvent être des macroblocs, des CTU (coding tree unit), ou encore CTB (coding block unit). Chaque élément peut être de plus divisé en éléments plus petits de taille fixe 4x4, 8x8, 16x16, 32x32, 64x64, ou 128x128 pixels. Ces éléments de taille plus petite peuvent être par exemple des blocs, des CU (coding unit), des CB (coding block), des « prediction unit » (PU), des « predict block » (PB), des « transform unit » (TU), ou encore des « transform block » (TB). Un des objectifs du partitionnement de l’image en élément, eux même pouvant être divisés en éléments, est de permettre d’adapter et d’affiner les types de traitement à appliquer sur chaque élément de l’image.
On entend par type de traitement, une ou plusieurs opérations de traitements de données effectuées sur les données vidéo lors de l’encodage ou décodage. Par exemple, lors de l’encodage d’une image, les éléments de l’image peuvent être traités selon le type de traitement dit « prédiction intra ». Ce type de traitement permet de prédire les éléments, par exemple des CU ou CB, d’une image à encoder. La prédiction vise l’exploitation des différentes corrélations existantes entre les pixels des images d’une séquence vidéo. Cette corrélation peut-être spatiale dite « prédiction intra », c’est-à-dire entre des pixels d’une même image en cours de codage, ou elle peut être temporelle dite « prédiction inter », c’est-à-dire entre les pixels d’une image en cours de codage et les pixels des images précédemment codées.
La prise en compte des pixels voisins peut être réalisée suivant différentes configurations, et chaque configuration constitue un paramètre de codage spécifique pour le type de traitement dit « prédiction intra » par exemple. Ainsi, ce paramètre de codage peut être un mode de prédiction selon une certaine direction.
Par exemple, la figure 1a illustre un élément 100, par exemple un CU ou un PB ou encore un MB, traité à partir d’un type de traitement, par exemple une prédiction intra, suivant un paramètre de codage donné, par exemple un mode de prédiction intra selon une certaine direction 103. Selon cet exemple, un élément 100 de taille 4x4 pixels peut être entouré par un ensemble de pixels 101,102 déjà encodés (respectivement décodés) appartenant aux éléments voisins.
La figure 1b illustre un exemple des paramètres de codage disponibles pour encoder les éléments en intra, et notamment pour encoder l’élément 100 dans le cas du futur standard VVC. Au total, 67 paramètres de codage (non représentés en totalité sur la figure 1a) peuvent être disponibles pour la prédiction intra de l’élément 100.
À partir des paramètres de codages disponibles pour le type de traitement dit prédiction intra, l’encodeur peut sélectionner le paramètre de codage optimal (c’est-à-dire le paramètre de codage permettant d’obtenir l’élément prédit 100 le plus proche de l’élément de l’image), et prédire l’ensemble des pixels de l’élément 100 en fonction des pixels 101, 102. Pour une prédiction intra selon un mode de prédiction vertical 103, les pixels utilisés peuvent être les pixels de la rangée de pixels 101.
L’élément 100 prédit est ensuite comparé à l’élément originel de l’image en cours de traitement afin de générer un résidu représentant la différence entre les deux éléments. Ce résidu peut être ensuite transformé, par exemple par DCT (transformée discrète de Fourier), puis quantifié avant son encodage dans le flux binaire.
Lors du décodage de l’élément encodé en intra d’une image à restituer, le décodeur reconstruit l’élément prédit avec le même paramètre de codage utilisé pour l’encodage de l’élément par l’encodeur et sur la base des pixels 101 et 102 préalablement décodés. Le résidu est de plus ajouté à l’élément prédit afin de combler les différences existantes entre l’élément prédit et l’élément originel. Cette opération peut être répétée pour tous les éléments de chaque image de la séquence vidéo.
Selon un autre exemple, après l’encodage en intra ou inter d’un élément, une valeur de décalage dit « offset » peut être ajoutée à une sélection d’un élément, par exemple un CTU ou CTB, lors du traitement faisant intervenir l’application d’un filtre SAO. En effet, après une prédiction intra ou inter suivi d’une quantification, l’élément reconstruit de l’image en cours de décodage peut présenter des distorsions. Pour les corriger, une valeur de décalage peut être ajoutée à la valeur de chaque pixel d’une sélection de l’élément selon l’un des modes d’applications du filtre SAO (ou types de filtre SAO). Cette valeur peut être déterminée par l’encodeur au cours de l’encodage de l’image de la séquence d’images puis signalisée dans le flux binaire, par exemple au niveau du premier élément syntaxique de chaque CTU pour le standard HEVC ou le futur VVC. La signalisation de cette valeur de décalage peut être effectuée par rapport à une liste prédéfinie de valeurs de décalage. Selon le standard de compression, le nombre de valeurs peut être différent. Par exemple, dans le cas des standards MPEG et VVC, lorsque l’encodage des pixels est effectué sur 10 bits, la liste prédéfinie de valeur de décalage comprend 32 valeurs de décalage. Ainsi, le coût de la signalisation de la sélection d’une valeur de décalage parmi 32 valeurs de décalage pour chaque élément peut être relativement important. En 8 bit, cette liste comprend 8 valeurs.
Ainsi, pour chaque type de traitement utilisé lors de l’encodage ou du décodage vidéo, par exemple pour une prédiction intra, une prédiction inter ou pour l’application d’un filtre SAO, un certain nombre de paramètres de codage peuvent être associés à chacun de ces types de traitement.
Lors de l’encodage ou décodage d’un élément par exemple, suivant le type de traitement, il peut être nécessaire pour l’encodeur ou le décodeur de tester tous les paramètres de codages pour déterminer le paramètre de codage optimal pour un type de traitement donné. La détermination peut être effectuée sur la base d’une ou plusieurs métriques associées à ce type de traitement. Par exemple, lorsque le type de traitement est une prédiction intra, la métrique est le taux de distorsion combiné au débit de signalisation associé au sein d’un critère dit coût débit-distorsion. Ainsi, l’encodeur sélectionne le paramètre de codage présentant le plus faible coût débit-distorsion pour l’élément en cours de traitement parmi tous les modes de prédiction intra disponibles.
Certains types de mécanismes, par exemple pour les standards de compression de type MPEG, permettent de réduire ou supprimer le nombre de tests à effectuer pour chaque paramètre de codage. Certains autres types de mécanismes permettent quant à eux de réduire le coût en bits de signalisation pour chaque élément encodé.
Malgré l’utilisation de différents types de mécanismes ceux-ci sont insuffisants, notamment dans un cadre de sous-utilisation de l’ensemble des paramètres de codage à disposition et d’autant plus au regard des nouvelles applications toujours plus exigeantes. Ceci est vrai que la sous-utilisation soit volontaire, du fait d’une mise en œuvre spécifique, ou bien liée au contenu et à un point de fonctionnement donné de l’encodeur.
En effet, lors de l’encodage ou décodage d’une séquence vidéo, un compromis doit être trouvé entre plusieurs aspects, comme par exemple, le débit, la qualité (distorsion), le temps d’encodage, et la consommation d’énergie. Cette recherche du compromis peut être dépendante de l’application, par exemple l’encodage en temps réel d’un flux vidéo (sport ou émission TV en direct live par exemple), ou au contraire de l’encodage ou décodage d’une séquence vidéo destinée à être stockée sur des mémoires externes, ou encore par exemple selon une contrainte de faible consommation.
Par exemple, d’un point de vue débit-distorsion ou coût global en débit, le fait d’avoir un nombre élevé de paramètres de codages par type de traitement peut apporter un gain de façon globale sur l’efficacité d’encodage ou décodage, mais ce gain peut varier selon par exemple le type d’image (I, P ou B) ou encore le contenu des images. Ainsi dans certaines situations, un nombre élevé de paramètres de codage pour un type de traitement peut devenir contre-productif du fait de la non-pertinence d’une large partie des paramètres de codage pouvant être utilisée pour une image donnée au regard du surcoût de codage lié à la signalisation d’un paramètre de codage parmi davantage de paramètres de codage.
D’un point de vue temps d’encodage/décodage et consommation de ressources matérielles au regard du compromis débit-qualité, le nombre élevé de paramètres de codage pour un type de traitement donné peut devenir une contrainte très forte pour l’implémentation d’encodeur et décodeur temps réel par exemple.
La figure 2 illustre le procédé proposé selon un ou plusieurs modes de réalisation. Ce procédé peut être mis en œuvre par tout dispositif comprenant un processeur et une mémoire, et configuré pour sa mise en œuvre, tel que par exemple, un décodeur vidéo, ou tout équipement configuré pour le décodage d’une séquence vidéo.
A l’étape 11, le dispositif 500 obtient des premières informations à partir de premières données encodées contenues dans le flux binaire. Ce flux binaire peut être encodé selon par exemple les standards de type MPEG, comme le standard HEVC ou le futur standard VVC. Par exemple, les premières informations peuvent être signalisées dans la partie signalisation du flux binaire, par exemple le PPS. Les premières informations encodées dans des premières données peuvent être des instructions à destination du décodeur définissant les modes de gestion permettant la détermination de listes de paramètres de codage selon différentes règles de sélection. Les premières données peuvent être signalisées au niveau de la partie de signalisation du flux binaire par exemple le PPS, ou les « entêtes de tranches » (slice headers). Ce champ PPS peut contenir des premières informations relatives à une ou plusieurs images encodées. Le rattachement de plusieurs images à un seul PPS contenant l’utilisation d’au moins un mode de gestion de listes peut réduire le coût de signalisation global.
À titre d’exemple, le décodeur peut sur décodage des premières données encodées obtenir une instruction d’activation du procédé, par exemple «intra_adaptive_subset_enabled_flag», et sur décodage de l’instruction «intra_adaptive_subset_mode »déterminer le mode de gestion à utiliser. Ce mode de gestion à utiliser peut être celui que l’encodeur a utilisé pour encoder les éléments d’une ou plusieurs images de la séquence d’images.
Selon un exemple, les instructions «intra_adaptive_subset_enabled_flag=1» et «intra_adaptive_subset_mode=2 »,indiquent par la valeur 1 au décodeur de mettre en œuvre le procédé, et d’utiliser le mode de gestion numéro 2 par la valeur 2.
A l’étape 12, le dispositif 500 détermine une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage.
A partir, par exemple, des instructions définies par les premières informations encodées dans les premières données encodées qui peuvent être comprises dans la partie signalisation du flux binaire, le décodeur peut déterminer, selon un mode de gestion, une liste de paramètres de codage sélectionnés parmi une liste prédéfinie de paramètres de codage.
Par exemple, la liste prédéfinie de paramètres de codage peut être une liste de modes de prédiction (intra ou inter). Selon un autre exemple, la liste prédéfinie de paramètres de codage peut-être une liste d’ « offset ».
A l’étape 13, le dispositif obtient des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage.
Ainsi, la liste de paramètres de codage pouvant être incluse strictement dans la liste prédéfinie de paramètre de codage, la liste de paramètres de codages peut contenir un nombre réduit de paramètres de codage. La signalisation d’un paramètre de codage, sélectionné par l’encodeur, parmi la liste déterminée de paramètres de codage peut permettre que les deuxièmes données correspondant à l’encodage de cette signalisation soient encodées sur un nombre de bits réduit.
A l’étape 14, le dispositif détermine un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence.
Ainsi, la détermination d’un élément d’une image restituée effectuée avec un paramètre de codage contenu dans une liste restreinte de paramètres de codage peut permettre une optimisation du coût de signalisation, mais tout en maintenant des paramètres de codage pertinents dans une ou plusieurs listes de paramètres de codage.
L’utilisation d’une ou plusieurs listes de paramètres de codage pour la détermination d’éléments d’une image restituée peut être conditionnée par les caractéristiques d’encodage d’élément de l’image. Les caractéristiques d’encodage peuvent être la taille des éléments, le type d’encodage intra et/ou inter, le pas de quantification, etc. Les caractéristiques d’encodage relatives aux éléments d’une ou plusieurs images peuvent être incluses dans les premières informations. Lors de l’encodage des éléments de l’image, l’encodeur peut encoder le paramètre de codage sélectionné permettant la détermination de l’élément de l’image reconstitué par le décodeur,
Lors du décodage des premières données, le décodeur peut obtenir les caractéristiques d’encodage des éléments d’image, et ainsi déterminer les listes de paramètres de codage propres à ces caractéristiques d’encodage d’éléments d’image. En fonction de leurs caractéristiques d’encodage, les éléments d’images encodés peuvent être déterminés sur la base d’une ou plusieurs listes de paramètres d’encodage répondant à ces caractéristiques.
Par exemple, si la caractéristique d’encodage est la taille en pixels de l’élément. Lors de l’encodage d’une image, une première liste déterminée de paramètres de codage peut être utilisée pour encoder un élément ayant une taille inférieure ou égale à une première valeur. Une deuxième liste déterminée de paramètre de codage peut être utilisée pour encoder un élément ayant une taille d’éléments supérieure à cette première valeur.
Il peut être aussi possible de définir une plage de valeurs de taille pour chaque liste de paramètres de codage. Par exemple, une première liste de paramètres de codage peut être utilisée pour des tailles d’éléments de l’image de 16x16 pixels, et la deuxième liste utilisée pour des tailles d’éléments de cette même image supérieures à 32x32 pixels.
Les caractéristiques d’encodage d’éléments d’image peuvent comprendre des caractéristiques chromatiques ou des caractéristiques de luminosité d’un élément. En effet, les pixels de chaque élément d’une image peuvent être décomposés en deux composantes. Une première composante relative aux caractéristiques de luminosité est dite « luma » et peut définir la luminosité du pixel. Une deuxième composante relative aux caractéristiques chromatique dit « chroma » peut définir la couleur du pixel, classiquement elle est constituée de deux composantes chroma U et chroma V. Par exemple, pour une même image, une première liste déterminée de paramètres de codage peut être utilisée exclusivement pour les composantes luma, et une deuxième liste déterminée de paramètres de codage peut être utilisée exclusivement pour les composantes chroma.
Ainsi pour un élément d’image, le choix d’un paramètre de codage, par exemple un mode de prédiction, que ce soit pour l’encodage ou décodage de l’élément de cette image est effectué selon une première liste pour les composantes chroma et une deuxième liste pour les composantes luma.
Les caractéristiques d’encodage d’éléments d’image peuvent comprendre des pas de quantification.
Les caractéristiques d’encodage d’éléments d’image peuvent comprendre le type d’encodage de l’élément ou le type d’encodage de l’image à encoder au sein d'un « group of picture » (GOP). Une première liste déterminée de paramètres de codage peut être utilisée exclusivement pour l’encodage d’images de type intra, c’est-à-dire pour lesquelles les éléments sont encodés en intra. Une deuxième liste déterminée de paramètres de codage peut être utilisée pour l’encodage exclusivement d’images de type prédictif (P), c’est-à-dire pour lesquelles les éléments peuvent être encodés en intra et en inter. Une troisième liste peut être utilisée pour l’encodage d’image de type bi-prédictif (B), c’est-à-dire pour lesquelles les éléments peuvent être encodés en intra et en inter utilisant plusieurs images de références.
Selon un autre exemple, une même liste déterminée de paramètres de codage peut être utilisée pour l’encodage d’un même type d’encodage d’éléments d’image ne se trouvant pas dans les mêmes GOP. Par exemple, une même liste de paramètres de codage utilisée pour deux images intra situées respectivement dans deux GOP séparés.
En effet, lors de l’encodage de séquence vidéo, dans les schémas de compression actuels par exemple de type MPEG, les images traitées selon un ou plusieurs types de traitement associés à des paramètres de codage respectifs sont encodées au sein de groupement d’images ou « group of picture » (GOP). Le GOP définit l’ordre dans lequel peuvent être disposées les images à prédiction intra (spatiale) et les images à prédiction inter (temporelle). Les GOP sont des éléments clés dans la compression d’une séquence vidéo, puisqu’ils permettent de grouper les images dépendantes des unes des autres.
Chaque GOP peut contenir, suivant le type de structure du GOP, une succession d’images encodées de type intra, prédictif, et bidirectionnel, et la première image d’un GOP est généralement une image de type intra afin de permettre de démarrer le décodage du GOP. Lors du décodage d’un GOP d’une séquence vidéo, chaque image est générée à partir des images encodées dans ce GOP.
Les figures 3a et 3b illustrent des exemples de deux structures classiques d’ensemble d’images ou GOP (« group of pictures » en anglais) constituant une séquence vidéo à encoder.
La première structure est une structure de type IP, soit une alternance d’images de type intra et d’images de type prédictif. Des images de type intra sont placées régulièrement, par exemple toutes les 4 images dans le cas présent, afin de rafraîchir la prédiction et de permettre d’accéder au flux notamment. Ainsi, selon cet exemple, l’image de type prédictif 401 est prédite, selon la prédiction inter, à partir des données d’image de l’image de type intra 400, par l’intermédiaire d’une compensation de mouvement signalée par des informations de mouvements basées par exemple sur un vecteur de mouvement et une image de référence.
La seconde structure de GOP représentée est une structure IBP, soit une alternance d’images de type intra (I), d’images de type prédictif (P), et d’images de type bidirectionnel (B). Ainsi dans ce type de structure, l’image de type prédictif 411 est prédite à partir des données d’image de l’image de type intra 410, et l’image de type bidirectionnel 420 est prédite à partir des données d’image des images de type intra 412 et de type prédictif 413, par l’intermédiaire, comme précédemment, d’une compensation de mouvement. Ce type de structure a l’avantage de permettre que les images de type bidirectionnel (B) peuvent utiliser une prédiction inter venant de deux images de directions temporelles opposées et ainsi améliorer l’efficacité de cette prédiction, et par conséquent l’efficacité de compression des données vidéo.
Selon un autre exemple non représenté, un GOP peut présenter une structure de type pyramidale, où chaque image du GOP est définie en plus par un niveau hiérarchique ou level ou temporal_id en anglais.
Lors du décodage du GOP, le décodeur décode les premières données dans la partie signalisation, par exemple le PPS (« picture parameter set ») du flux binaire, afin d’obtenir les premières informations lui permettant de connaitre les caractéristiques d’encodage des éléments de l’image de la séquence d’images, par exemple la structure de GOP comportant une alternance d’image de type intra, de type prédictif, ou de type bidirectionnel.
Une première liste de paramètres de codage déterminée peut être utilisée uniquement pour l’encodage ou décodage d’une ou plusieurs images de type intra, et pour une taille d’éléments supérieure à une valeur définie. Une deuxième liste de paramètres de codage déterminée peut être utilisée pour des images de type P ou B.
Il est possible qu’un même paramètre de codage appartienne à plusieurs listes de paramètres de codage.
La figure 4a présente un décodeur mettant en œuvre le procédé sur la base d’un standard de compression de type MPEG, par exemple HEVC ou le futur standard VVC.
Sur réception d’un flux binaire 506 généré par un encodeur mettant en œuvre le procédé, le décodeur 500 décode des premières données relatives à des premières informations, par exemple des instructions correspondant à un ou plusieurs modes de gestion pour la détermination d’une ou plusieurs listes de paramètres de codage. Ces instructions définies par exemple dans le PPS ou le « slice headers » peuvent être utilisées pour la détermination d’éléments d’une image, ou pour un ensemble d’images de la séquence d’images, par exemple un GOP ou des images présentant les mêmes caractéristiques d’encodage d’éléments d’images.
Ainsi, à partir des instructions définies dans les premières informations, le décodeur 500 détermine une ou plusieurs listes de paramètres de codage sur la base d’une ou plusieurs listes prédéfinies de paramètres de codage que le décodeur possède dans sa mémoire. Ces listes déterminées de paramètres de codage sont identiques à celles que l’encodeur a déterminé pour l’encodage des éléments d’images de la séquence d’image. En effet, à partir des premières informations, le décodeur peut déduire le paramétrage de l’encodeur, et ainsi les différents modes de gestion qui peuvent être utilisés.
Lorsque le décodeur décode un élément, il détermine les caractéristiques d’encodage de cet élément pour en déduire la liste déterminée à utiliser parmi les listes déterminées. Ensuite il décode les deuxièmes données relatives aux deuxièmes informations. Ces deuxièmes informations renseignent sur l’indice du paramètre de codage à utiliser parmi la liste déterminée de paramètres de codage à utiliser pour la détermination de l’élément à décoder. Ce processus peut être répété pour tous les éléments des images de la séquence d’images afin de générer 507 en sortie une séquence d’images.
Dans le cas où les paramètres de codage sont des modes de prédiction intra, pour une image à décoder, à partir des premières données encodées dans le flux binaire 506, le décodeur détermine une ou plusieurs listes de modes de prédiction intra qui sont identiques à celles utilisées pour l’encodage de cette image. Une liste peut être déterminée pour être utilisée pour la détermination d’éléments d’images encodées selon des caractéristiques de type intra, c’est-à-dire des éléments d’une image de type intra, et pour les éléments de taille 16x16 pixels, alors un élément encodé selon ces caractéristiques, c’est-à-dire encodé dans une image de type intra (ou image intra) et ayant une taille de pixels de 16x16 pixels, peut alors être prédit (déterminé) sur la base de cette liste de modes de prédiction. À partir des deuxièmes informations encodées le décodeur identifie l’indice du paramètre de codage de la liste déterminée à utiliser pour le décodage de l’élément à décoder.
La figure 4b illustre une mise en œuvre du procédé dans un ou plusieurs modes de réalisation du côté de l’encodeur. Ainsi, un encodeur 501 reçoit une séquence d’images 502 à encoder. L’encodeur reçoit de plus des données d’entrée 503 permettant le paramétrage de l’encodage. Ces données d’entrée peuvent contenir des instructions, qui peuvent signaler, entre autres, la mise en œuvre du procédé, le mode de gestion à utiliser, les caractéristiques d’encodage d’éléments d’images, et/ou l’utilisation des listes de paramètres de codage en fonction des caractéristiques d’encodage.
Au cours du processus d’encodage, l’encodeur 501 peut générer ensuite un flux binaire comprenant les éléments d’images encodés 504. Le flux binaire 504 peut comprendre aussi les données d’entrée ayant servi pour l’encodage des éléments d’images et qui peuvent permettre au décodeur de correctement les décoder. Ces données d’entrée peuvent être encodées dans les premières données situées dans la partie signalisation du flux binaire, par exemple PPS.
De plus, les indices des paramètres de codage utilisés pour l’encodage des éléments d’image peuvent être signalisés par encodage dans les deuxièmes données situées dans la partie signalisation du flux binaire 504.
L’obtention d’un élément prédictif au moyen du paramètre de codage optimal ou pertinent permet de calculer comme précédemment décrit au calcul d’un résidu, qui peut être ensuite transformé, par exemple par DCT, puis quantifié selon un pas de quantification. Après la quantification, les données issues de l’encodage peuvent être encodées dans le flux binaire 504 dit « bitstream ».
La figure 5 illustre, un exemple de mode de gestion mise en œuvre par le procédé pour la détermination d’un élément d’une image en cours d’encodage ou de décodage. Ainsi, lorsque le mode de gestion est un mode de gestion dit « explicit », le décodeur 500 détermine, à partir des instructions contenues dans les premières informations définissant ce mode de gestion, une ou plusieurs listes de paramètres de codage. Les instructions peuvent par exemple lister explicitement un premier ensemble d’indices de paramètres de codage. Une deuxième liste peut lister explicitement un deuxième ensemble d’indices de paramètres de codage. Une troisième liste peut lister explicitement un troisième ensemble d’indices de paramètres de codage, etc. Les instructions peuvent, de plus, spécifier des caractéristiques d’encodage d’éléments pour lesquelles ces listes prédéfinies d’indices de paramètres de codage doivent être utilisées.
Sur lecture des instructions définissant le premier ensemble d’indices de paramètres de codage, et à partir de la liste prédéfinie 600 de paramètres de codage LPcomportant N-1 paramètres de codage, le décodeur 500 détermine 603 la première liste LI_E1 par sélection des paramètres de codage selon les indices définis dans le premier ensemble d’indices. Ici, 3 indices de paramètres de codage sont définis dans les instructions pour la première liste. Les indices peuvent se référer à la liste prédéfinie LP600. Par exemple l’indice 3 pour le paramètre de codage p3, l’indice 2 pour le paramètre de codage p2, et l’indice 5 pour le paramètre de codage p5. Ainsi, la première liste indexée LI_E1 601 peut être déterminée 603 et comportant un premier indice 0 correspondant au paramètre de codage p3, un indice 1 correspondant au paramètre de codage p2, et un indice 2 correspondant au paramètre de codage p5.
En fonction des instructions comprises dans les premières informations, le décodeur 500 peut déterminer 603 une deuxième liste indexée de paramètres de codage LI_E2 604 sur la base de la liste prédéfinie LP600. Par exemple, les instructions peuvent définir un deuxième ensemble d’indices de paramètres de codage comportant 5 paramètres de codages p3, p4, p7, p8, p10associés respectivement aux indices 3, 4, 7, 8 et 10 dans la liste prédéfinie de paramètres de codage. À partir de ces instructions, le décodeur 500 peut déterminer une liste indexée LI_E2 comportant les paramètres de codage p3, p4, p7, p8, p10associés respectivement aux indices 0, 1, 2, 3, 4.
L’utilisation de la première et/ou deuxième liste pour la détermination des éléments de l’image à restituer peut être fonction des caractéristiques d’encodage des éléments de l’image qui peuvent être signalisés dans les instructions comprises dans les premières informations. Par exemple, la première liste LI_E1 peut être utilisée pour la détermination d’éléments encodés en intra (prédiction spatiale), et la deuxième liste LI_E2 peut être utilisée pour la détermination d’éléments encodés en inter (prédiction temporelle) (notamment par exemple lorsque les paramètres de codages sont des valeurs de décalage dites « offset »).
La détermination d’une multitude de listes déterminées de paramètres de codage peut permettre, en contraignant leur utilisation aux caractéristiques d’encodage d’éléments d’images, une grande adaptabilité des paramètres de codage possibles pour l’encodage des éléments d’une image d’une séquence d’images tout en maintenant un faible coût de signalisation.
La figure 6a illustre, un exemple de mode de gestion de paramètres de codage par « Décimation ». Le décodeur 500 détermine au moins une liste indexée 702 en sélectionnant des paramètres de codage dans les listes préfinies de paramètres de codage 700 (par exemple une liste de 67 modes de prédiction intra).
A partir des informations comprises dans les premières informations, le décodeur 500 obtient une information du fait que le mode de gestion dit « décimation » est activé et les valeurs des paramètres de décalage k de sélection et du facteur de décimation n. Comme indiqué précédemment ces informations permettent au décodeur 500 de déterminer une liste de paramètres de codage par sélection des indices k+n.m dans une liste prédéfinie de paramètre de codage. Les informations peuvent aussi comprendre en plus ou en remplacement de k et n, un niveau hiérarchique de l’image à décoder dans la structure du GOP défini par un nombre entier L. Dans le cas de la figure 6a, la valeur de n est égale à 2 et la valeur de k est égale à 1.
Ainsi le décodeur 500 détermine la liste LI_D1 indexée selon une nouvelle indexation 702 et où chaque indice de cette liste LI_D1 est associé à un paramètre de codage obtenu suivant la sélection d’un paramètre de codage sur deux dans la liste prédéfinie de paramètre de codage 700.
Ensuite lors du décodage des éléments de l’image, le décodeur 500 peut utiliser les listes déterminées par décimation en fonction des caractéristiques d’encodages de l’élément en cours de décodage. Par exemple, une première liste 702 peut être utilisée exclusivement pour le décodage d’éléments ayant un certain niveau de luminosité et compris dans des images de type intra. Une deuxième liste indexée (non représentée) peut être utilisée exclusivement pour le décodage d’éléments ayant une taille d'éléments supérieures à une valeur (par exemple supérieure à 8x8 pixels) compris dans des images de type B ou de type P.
Lorsque les premières informations comprennent un niveau hiérarchique L, la décimation n’est réalisée que pour les images en dessous (ou au-dessus) d’un certain niveau hiérarchique. Il est également possible de définir plusieurs niveaux hiérarchiques avec pour chaque niveau des valeurs spécifiques de k et n. Lorsque la valeur L est comprise dans les premières informations les valeurs k et n peuvent être implicites, c’est-à-dire que sur la base de la valeur L le décodeur 500 déduit un couple k,n sans que ceux-ci soient compris dans les premières informations.
La figure 6b illustre des niveaux hiérarchiques dans une structure de GOP comportant 19 images 760, 761, 762. La structure du GOP comporte ici plusieurs niveaux hiérarchiques L0 à L5.
Pour chaque valeur du niveau hiérarchique L, la sélection par décimation peut prévoir des valeurs différentes de k et n (par exemple les couple (1 ; 2), (1 ; 4) et (1 ; 8)). Les listes déterminées sont ensuite utilisées pour le décodage des éléments de chaque image du GOP en fonction du niveau hiérarchique L1 à L5 de l’image dans lequel se trouve l’élément à décoder (par exemple la liste obtenue avec le couple (1 ;2) peut être utilisée pour les images de niveaux hiérarchiques L3 à L5, la liste obtenue avec le couple (1 ;4) peut être utilisée pour les images de niveau hiérarchique L2 et la liste obtenue avec le couple (1 ;8) peut être utilisée pour les images de niveau hiérarchique L1, la liste prédéfinie étant utilisée pour les images de niveau hiérarchique L0.
L’utilisation des listes obtenues par décimation peut être faite uniquement pour le décodage d’images d’un même type. Par exemple, en référence à la figure 6b, seules les images de type B 762 peuvent être décodées sur la base de listes obtenue par décimation. Si l’on considère que l’image 760 est une image de type intra et que l’image 761 est une image de type prédictif.
Suivant les premières informations, la décimation peut être effectuée sur une partie seulement de la liste prédéfinie. Par exemple, lorsque les paramètres de codages sont des modes de prédiction intra, la décimation peut être effectuée uniquement sur les modes angulaires. Les premières informations peuvent alors contenir une information supplémentaire par exemple les indices des paramètres de codage à conserver avant d’effectuer la décimation. Il est également possible de définir une valeur de k suffisante pour épargner les premiers paramètres de codage de la liste prédéterminée.
Par exemple, la première liste LI_D1 déterminée comprend alors 35 modes de prédiction. En effet, cette première liste comprend 2 modes non angulaires, à savoir DC et Planar, pour 65 modes angulaires. La liste LI_D1 comprend alors les deux modes non angulaires et les modes angulaires issus de la sélection par décimation, soit après sélection un total de 33 modes angulaires.
La figure 7 illustre, un exemple d’un autre mode de gestion mis en œuvre par le procédé. Ainsi, lorsque le mode de gestion est un mode de gestion par « Histogramme », le décodeur 500 détermine 850 au moins une liste indexée 810 ou 870 en fonction d’un niveau de fréquences d’utilisation des paramètres de codage de la liste prédéfinie de paramètres de codage. Cette fréquence d’utilisation peut être par exemple représentative de l’utilisation d’un paramètre de codage pour la détermination des éléments d’images précédentes et/ou de l’image en cours de décodage. Selon un exemple, la fréquence d’utilisation pour chaque paramètre de codage d’une liste prédéfinie peut être représentée sous la forme d’un histogramme.
Ainsi, en référence à la figure 7, un histogramme 800 peut être défini par une abscisse 840 de paramètres de codage, et selon une ordonnée 830 indiquant la fréquence d’utilisation, par exemple en pourcentage.
La liste de paramètres de codage peut être déterminée à partir d’une sélection de paramètres de codage présentant une fréquence d’utilisation obéissant à des règles de sélection.
Les règles de sélection pour ce mode de gestion peuvent être définies par exemple par un facteur h de sélection, et/ou un seuil S de sélection. Ces paramètres de sélection peuvent être compris dans les premières informations permettant au décodeur 500 de définir le mode gestion.
Ainsi, les règles de sélection peuvent être la sélection des h paramètres de codage parmi les paramètres de codage de l’histogramme (h un nombre entier positif) présentant des fréquences d’utilisation les plus élevées. La liste déterminée de paramètres de codage peut par exemple comprendre un classement par ordre décroissant ou croissant de la fréquence d’utilisation. Par exemple, selon l’histogramme 800, lorsque le facteur h est égale à 3, la liste LI_H1 810 de paramètre de codage déterminée 850 comporte les trois paramètres de codage p10, p9, et p6présentant les fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie. Cette liste est réordonnée de sorte que l’indice 0 est associé au paramètre de codage p10, l’indice 1 est associé au paramètre de codage p9et l’indice 2 est associé au paramètre de codage p6.
Les premières informations peuvent alors comprendre une information sur le fait que le mode de gestion dit « histogramme » est activé et le facteur h.
Les règles de sélection peuvent également être la sélection des paramètres de codage présentant des fréquences d’utilisation supérieures à un seuil « S » 820. La liste déterminée de paramètres de codage peut par exemple comprendre un classement par ordre décroissant ou croissant de la fréquence d’utilisation. Par exemple, selon l’histogramme 800, avec le seuil S 820, l’on détermine 860 la liste LI_H2 870 de paramètres de codage qui comporte les paramètres de codage p6, p7, p9, p10et p12présentant les fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie. Cette liste est réordonnée de sorte que l’indice 0 est associé au paramètre de codage p10, l’indice 1 est associé au paramètre de codage p9, l’indice 2 est associé au paramètre de codage p6, l’indice 3 est associé au paramètre de codage p7, l’indice 4 est associé au paramètre de codage p12.
Les premières informations peuvent alors comprendre une information sur le fait que le mode de gestion dit « histogramme » est activé et le seuil « S » de sélection.
Il peut être possible de combiner les paramètres de sélection. Ainsi suivant les instructions définies dans le paramétrage du mode de gestion « histogramme », il peut être possible, par exemple, d’appliquer un seuil de sélection suivi d’un facteur de sélection.
La figure 8 illustre un exemple d’un autre mode de gestion mise en œuvre par le procédé. Lorsque le mode de gestion est un mode de gestion dit par exemple « groupe », le décodeur 500 détermine 901 au moins une liste de paramètres de codage indexé 902 comportant un ou plusieurs paramètres de codage dits primaires entourés de paramètres de codage dits secondaires selon l’ensemble , où i(p)ksont les indices des paramètres de codage primaires et (facteur de décalage) sont des entiers strictement positifs spécifiés par exemple dans les instructions du mode de gestion dit « groupe » comprises dans les premières informations.
Par exemple, dans la figure 8, les premières informations contiennent trois paramètres de codage primaires (p2, p7, et pi) et un facteur de décalage (d) de 1. Sur la base de ces instructions le décodeur 500 détermine la liste 902. Celle-ci contient les paramètres de codage primaires explicitement signalisés et les paramètres de codage secondaires qui sont alors p1, p3, p6, p8, pi-1et pi+1.
La figure 9 illustre le procédé proposé selon un ou plusieurs modes de réalisation. Ce procédé peut être mis en œuvre par tout dispositif comprenant un processeur et une mémoire, et configuré pour sa mise en œuvre, tel que par exemple, un encodeur vidéo 501, ou tout équipement configuré pour l’encodage d’une séquence vidéo.
A l’étape 17, le dispositif 501 détermine un paramétrage d’encodage pour une image de la séquence d’images (séquence vidéo). Par exemple, le paramétrage d’encodage peut être des données d’entrée de l’encodage, comme par exemple, des instructions précisant les modes de gestion à utiliser, les caractéristiques d’encodage d’éléments, et/ou les modes de gestion à utiliser en fonction des caractéristiques d’encodage.
A l’étape 18, le dispositif 501 détermine une liste de paramètres de codage. La détermination de la liste de paramètres de codage peut s’effectuer selon l’une des méthodes précédemment indiquées, par exemple, par « décimation », par « histogramme », par sélection explicite ou encore par « groupe ». Ces différentes méthodes peuvent également être combinées, c’est-à-dire qu’une première méthode (parmi ses méthodes) est appliquée pour sélectionner à partir de la liste prédéfinie de paramètres de codage une première liste de paramètres de codage et une deuxième méthode (parmi ses méthodes) est appliquée pour sélectionner à partir de cette première liste de paramètres de codage une deuxième liste de paramètres de codage.
A l’étape 19, le dispositif 501 obtient un flux binaire comprenant des premières informations ainsi que des données encodées représentatives des éléments de l’image.
Les premières informations peuvent par exemple indiquer le paramétrage utilisé pour l’encodage de l’image de la séquence d’images.
Des deuxièmes informations peuvent être comprises dans les données encodées représentatives des éléments. Ces deuxièmes informations indiquent le paramètre de codage utilisé parmi la liste déterminée pour l’obtention d’un élément de l’image.
La figure 10 illustre un exemple d’architecture d’un dispositif de décodage, et un exemple d’architecture d’un dispositif d’encodage d’une séquence vidéo pour la mise en œuvre du procédé proposé.
Le dispositif 500 comprend un contrôleur 902, couplé de manière opérationnelle à une interface d’entrée 901, à une interface de sortie 906 et à une mémoire 903, qui pilote un module de gestion de paramètres de codage 905 et une unité de décodage 904 pour le décodage d’images d’une séquence vidéo.
L’interface d’entrée 901 est configurée pour recevoir en entrée un flux binaire correspondant à une séquence d’images encodées, selon le procédé par exemple, dans un flux binaire.
Le contrôleur 902 est configuré pour piloter le module de gestion de paramètres de codage 905 et l’unité de décodage 904 pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé proposé.
Le module de gestion de paramètres de codage 905 peut être configuré pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé de détermination et d’utilisation de listes de paramètres de codage proposé. En particulier, il peut être configuré pour recevoir sur l’interface d’entrée un flux binaire encodé selon le procédé et comprenant des premières et deuxièmes données encodées. Sur décodage de ce flux binaire, le mode de gestion peut être configuré pour obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire, pour déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage. Le module de gestion de paramètres de codage 905, peut en outre, être configuré, pour obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage. La mémoire 903 peut être configurée pour stocker des informations signalisées dans le flux binaire, comme des premières et deuxièmes informations décodées des premières et deuxièmes données encodées.
L’unité de décodage 904 par l’intermédiaire du module de gestion peut être configurée pour déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen d’un paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence, et dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
Le dispositif 500 peut être configuré pour fournir en sortie 906 un flux de données vidéo décodé, par exemple une séquence d’images.
Le dispositif 500 peut être un ordinateur, un réseau d’ordinateurs, un composant électronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure 10). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 902, amènent ce contrôleur 902 à effectuer ou contrôler les parties interface d’entrée 901, module de gestion de paramètres de codage 905, décodage des images et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrit dans les présentes. Le contrôleur 902 peut être un composant implémentant un processeur ou une unité de calcul pour le décodage d’une ou plusieurs images d’une séquence d’images sur la base d’au moins une liste de paramètres de codage selon le procédé proposé et le contrôle des unités 901, 902, 903, 904, 905, 906 du dispositif 500.
En outre, le dispositif 500 peut être mis en œuvre sous forme logicielle, comme décrit ci-dessus, ou sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gate Array).
Le dispositif 501 comprend un contrôleur 912, couplé de manière opérationnelle à une interface d’entrée 911, à une interface de sortie 916 et à une mémoire 913, qui pilote un module de gestion de paramètres de codage 915 et une unité d’encodage 914 pour l’encodage des images d’une séquence d’images.
L’interface d’entrée 911 est configurée pour recevoir en entrée une séquence d’images correspondant par exemple à une séquence vidéo ou un flux vidéo distribué en direct.
Le contrôleur 912 est configuré pour piloter le module de gestion de paramètres de codage 915 et l’unité d’encodage 914 pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé proposé.
Le module de gestion de paramètres de codage 915 peut être configuré pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé de détermination et utilisation de listes de paramètres de codage proposé. En particulier, il peut être configuré pour, une image de la séquence d’images, déterminer un paramétrage d’encodage, par exemple à partir de l’interface d’entrée. Le module de gestion de paramètres de codage 915, peut en outre, être configuré pour déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage.
L’interface d’entrée est configurée pour recevoir aussi des données d’entrée comportant, par exemple un paramétrage de l’encodage de la séquence d’images, par exemple des instructions, qui peuvent signaler, entre autres, la mise en œuvre du procédé, le mode de gestion à utiliser, les caractéristiques d’encodage d’éléments d’images de la séquence d’images, et la manière dont l’utilisation des listes de paramètres de codage des modes de gestions peut être fonction de ces caractéristiques d’encodage.
La mémoire 913 peut être configurée pour stocker des informations d’entrée, comme les données d’entrées.
L’unité d’encodage 914 peut être configurée pour obtenir un flux binaire vidéo comprenant, des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage , ainsi que des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage, le flux binaire obtenu pouvant être envoyé vers le dispositif 500 par exemple.
Le dispositif 501 peut être un ordinateur, un réseau d’ordinateurs, un composant électronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure 10). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 912, amènent ce contrôleur 912 à effectuer ou contrôler les parties interface d’entrée 911, module de gestion de paramètres de codage 915, encodage des images et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrit dans les présentes. Le contrôleur 912 peut être un composant implémentant un processeur ou une unité de calcul pour l’encodage d’une ou plusieurs images d’une séquence vidéo sur la base d’au moins une liste de paramètres de codage selon le procédé proposé et le contrôle des unités 911, 912, 913, 914, 915, 916 du dispositif 501.
En outre, le dispositif 501 peut être mis en œuvre sous forme logicielle, comme décrit ci-dessus, ou sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gate Array).
Le procédé ne se limite pas aux exemples de modes de réalisation décrits ci-avant, seulement à titre d’exemple, mais elle englobe toutes les variantes que pourra envisager l’homme de l’art dans le cadre des revendications ci-après.

Claims (15)

  1. Procédé de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
    - obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
    - déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
    - obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
    - déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
    dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
  2. Procédé selon la revendication 1, dans lequel la liste de paramètres de codage est déterminée par sélection de paramètres de codage dans la liste prédéfinie de paramètres de codage ou par sélection parmi une pluralité de listes prédéfinies de paramètres de codage.
  3. Procédé selon l’une quelconque des revendications précédentes, dans lequel les premières données encodées et/ou les deuxièmes données encodées sont comprises dans une partie signalisation du flux binaire.
  4. Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste de paramètres de codage est fonction de caractéristiques d’encodage d’éléments de l’image.
  5. Procédé selon la revendication 4, dans lequel les caractéristiques d’encodage d’éléments de l’image comprennent une taille d’élément et/ou un pas de quantification d’élément et/ou un type chromatique d’élément et/ou un type luminosité d’élément et/ou un type d’encodage intra d’élément et/ou un type d’encodage inter d’élément et/ou une taille de transformée et/ou un type de transformée et/ou un type de filtre.
  6. Procédé selon l’une quelconque des revendications précédentes, dans lequel la détermination de la liste de paramètres de codage se fait par sélection dans la liste prédéfinie de paramètres de codage de paramètres de codage spécifiés par les premières informations.
  7. Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage est indexée de 0 à N-1, avec N un nombre de paramètres de codage dans la liste prédéfinie et dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations :
    - des paramètres de codage de la liste prédéfinie d’indices k+n.m, avec n entier strictement positif et k entier positif ou nul et n+k inférieur ou égal à N-1 et m compris entre 0 et la partie entière par défaut de (N-k-1)/n ; et
    - des paramètres de codage de la liste prédéfinie d’indices inférieurs strictement à k’ avec k’ entier positif ou nul inférieur ou égal à k.
  8. Procédé selon la revendication 7 dans lequel n et m sont déterminés en fonction d’un niveau hiérarchique de l’image par rapport aux images de la séquence d’images.
  9. Procédé selon l’une quelconque des revendications précédentes, dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations des paramètres de codage de la liste prédéfinie en fonction de niveaux de fréquences d’utilisation des paramètres de codage de la liste prédéfinie.
  10. Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage est indexée et dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations :
    - de paramètres de codage primaires spécifiés par les premières informations ; et
    - de paramètres de codage secondaires tel qu’un indice de chaque paramètre de codage secondaire est compris dans où i(p)k sont les indices des paramètres de codage primaires et sont des entiers strictement positifs spécifiés par les premières informations.
  11. Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage ou la pluralité de listes prédéfinies sont des listes prédéfinies de modes de prédiction ou des listes prédéfinies de valeurs de décalage de décalage adaptatif d’un filtre.
  12. Procédé d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
    - pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
    - déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
    - obtenir un flux binaire vidéo comprenant :
    -des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
    - des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
  13. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 12, lorsque ce programme est exécuté par un processeur.
  14. Dispositif de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
    - un processeur; et
    - un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
    - obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
    - déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
    - obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
    - déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
    dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
  15. Dispositif d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
    - un processeur; et
    - un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
    - pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
    - déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
    - obtenir un flux binaire vidéo comprenant :
    - des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
    - des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
FR1907069A 2019-06-27 2019-06-27 Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat Active FR3098070B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1907069A FR3098070B1 (fr) 2019-06-27 2019-06-27 Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
US17/620,994 US20220368923A1 (en) 2019-06-27 2020-06-26 Method for encoding and decoding video by signaling of a candidate sub-assembly
PCT/FR2020/051124 WO2020260843A1 (fr) 2019-06-27 2020-06-26 Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat
EP20747051.9A EP3991436A1 (fr) 2019-06-27 2020-06-26 Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907069A FR3098070B1 (fr) 2019-06-27 2019-06-27 Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
FR1907069 2019-06-27

Publications (2)

Publication Number Publication Date
FR3098070A1 true FR3098070A1 (fr) 2021-01-01
FR3098070B1 FR3098070B1 (fr) 2022-02-18

Family

ID=68072760

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1907069A Active FR3098070B1 (fr) 2019-06-27 2019-06-27 Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat

Country Status (4)

Country Link
US (1) US20220368923A1 (fr)
EP (1) EP3991436A1 (fr)
FR (1) FR3098070B1 (fr)
WO (1) WO2020260843A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
US20140294067A1 (en) * 2011-11-01 2014-10-02 Ming Li Method and device for encoding and decoding parameter sets at slice level

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153299A1 (en) * 2005-01-07 2006-07-13 Kabushiki Kaisha Toshiba Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US8588536B2 (en) * 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
US11818343B2 (en) * 2021-03-12 2023-11-14 Tencent America LLC Sample offset with predefined filters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140294067A1 (en) * 2011-11-01 2014-10-02 Ming Li Method and device for encoding and decoding parameter sets at slice level
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BHAT (VITEC) M ET AL: "AHG10/CE3-related: Adaptive coding subset for intra mode", no. JVET-P0638, 2 October 2019 (2019-10-02), XP030217905, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P0638-v1.zip JVET-P0638.docx> [retrieved on 20191002] *
BHAT (VITEC) M ET AL: "AHG10: Adaptive Coding Sub-set for encoder optimization", no. JVET-O0888, 2 July 2019 (2019-07-02), XP030220497, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0888-v1.zip JVET-O0888.docx> [retrieved on 20190702] *

Also Published As

Publication number Publication date
EP3991436A1 (fr) 2022-05-04
WO2020260843A1 (fr) 2020-12-30
FR3098070B1 (fr) 2022-02-18
US20220368923A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
EP3182707B1 (fr) Procédé et support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
EP2985998B1 (fr) Support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
EP3318061B1 (fr) Procede d&#39;encodage d&#39;image et equipement pour la mise en oeuvre du procede
FR2951345A1 (fr) Procede et dispositif de traitement d&#39;une sequence video
FR3008840A1 (fr) Procede et dispositif de decodage d&#39;un train scalable representatif d&#39;une sequence d&#39;images et procede et dispositif de codage correspondants
EP2716045B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR3098070A1 (fr) Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
FR3062010A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;un flux de donnees representatif d&#39;une sequence d&#39;images
EP3815369A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
EP3259909B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR3026592A1 (fr) Procede de transcodage de donnees video a fusion d&#39;unites de codage, programme informatique, module de transcodage et equipement de telecommunications associes
FR2957744A1 (fr) Procede de traitement d&#39;une sequence video et dispositif associe
EP3272122A1 (fr) Codage d&#39;images par quantification vectorielle
WO2020161413A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR3081656A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;un flux de donnees representatif d&#39;au moins une image.
WO2020058593A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR3139260A1 (fr) Lissage hors boucle de codage d’une frontière entre deux zones d’image
EP3854085A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR2927494A1 (fr) Procede de decodage et codage d&#39;une sequence d&#39;images avec compensation de mouvement

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210101

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5