DE69938372T2 - Method and device for video coding - Google Patents
Method and device for video coding Download PDFInfo
- Publication number
- DE69938372T2 DE69938372T2 DE1999638372 DE69938372T DE69938372T2 DE 69938372 T2 DE69938372 T2 DE 69938372T2 DE 1999638372 DE1999638372 DE 1999638372 DE 69938372 T DE69938372 T DE 69938372T DE 69938372 T2 DE69938372 T2 DE 69938372T2
- Authority
- DE
- Germany
- Prior art keywords
- frame
- region
- coded
- refresh
- intraframe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die vorliegende Erfindung bezieht sich auf einen Videokodierer und ein Videokodierungsverfahren. Genauer bezieht sich die vorliegende Erfindung auf einen Videokodierer und ein Videokodierungsverfahren, wodurch Bildrahmen durch zyklisches Einfügen einer intrarahmen-kodierten Region in jeden der Bildrahmen aufgefrischt werden.The The present invention relates to a video encoder and a Video encoding methods. More specifically, the present invention relates to a video encoder and a video coding method, whereby picture frames by cyclic insertion an intraframe coded region in each of the picture frames become.
Ein Video-Codec (Kodierer/Dekodierer) hat ein Problem, dass wenn Fehler in Bitströmen in Kommunikationskanälen und Speichersystemen gemischt sind, Bilddaten nicht korrekt dekodiert werden können, wobei Verschlechterung der Bildqualität verursacht wird. Mit Übertragungskanälen geringer Bitrate und Funknetzen insbesondere treten Bitfehler und Zellenverlust leicht auf. Es ist deshalb erforderlich, Fehlerwiderstandsfähigkeit zu erhöhen.One Video codec (coder / decoder) has a problem that when error in bitstreams in communication channels and storage systems are mixed, image data is not decoded correctly can be whereby deterioration of image quality is caused. With transmission channels less Bitrate and wireless networks in particular occur bit errors and cell loss easy on. It is therefore required fault resistance to increase.
Es gibt einige Gegenmaßnahmen gegenüber Fehlern. Eine der effektiven Gegenmaßnahmen besteht darin, Bildrahmen durch zyklisches Einfügen in die Bildrahmen einer Bildregion, in der Intrarahmenkodierung durchgeführt wird, aufzufrischen. Eine derartige Bildregion kann unabhängig von anderen Rahmen dekodiert werden und wird somit nicht durch Fehler beeinträchtigt, die in Bitströmen in den anderen Rahmen gemischt sind. Deshalb erlaubt die Verwendung des Auffrischungsverfahrens zum zyklischen Einfügen einer Intrarahmenkodierungs-Bildregion in jeden von Bildrahmen, die Fehlerwiderstandsfähigkeit zu erhöhen.It There are some countermeasures across from Errors. One of the effective countermeasures is image frames by cyclic insertion into the picture frames of an image region in which intraframe coding is performed refresh. Such an image region can be independent of other frames are decoded and thus not by mistake impaired in bitstreams mixed in the other frames. Therefore, the use allows of the refresh method for cyclically inserting an intraframe coding image region in each of image frames to increase the error resistance.
Als ein Auffrischungsverfahren ist ein Verfahren bekannt, das Intraschnitt (intrasclice) genannt wird. Z. B. wird mit MPEG-2-Video (ISO-IEC CD 13818-2) eine Umschaltung zwischen einem Intrarahmenkodierungsmodus (Intra-Modus) und einem Interrahmenkodierungsmodus (Inter-Modus) in Einheiten von 16 × 16 Pixeln (Makroblock) durchgeführt. Z. B. wurde ein auf Intraschnitt basiertes Auffrischungsverfahren vorgeschlagen, durch das von einem Rahmen, der aus vertikalen 30 Makroblöcken und horizontalen 44 Makroblöcken besteht, eine Region bestehend aus zwei Makroblockzeilen (Makroblocklinien) (vertikale zwei Makroblöcke x horizontale 44 Makroblöcke) in dem Intra-Modus kodiert wird, die intrarahmen-kodierte Region um zwei Zeilen jeden Rahmen verschoben wird und 15 Rahmen einen Zyklus bilden.When a refresh method is a method known as intrasection (intrasclice) is called. For example, switching with MPEG-2 video (ISO-IEC CD 13818-2) between an intraframe coding mode (intra mode) and an interframe coding mode (Inter mode) in units of 16 × 16 pixels (macroblock). Z. For example, an intrasection-based refresh method has been proposed, by the one of a frame consisting of vertical 30 macroblocks and horizontal 44 macroblocks a region consisting of two macroblock lines (macroblock lines) (vertical two macroblocks x horizontal 44 macroblocks) in which intra mode is encoded, the intraframe encoded region is shifted by two lines each frame and 15 frames one Make cycle.
In diesem Intraschnittschema wird, wenn eine Suche nach dem Bewegungsvektor durchgeführt wird, der mit einem Makroblock in Verbindung steht, der in einer Region über der intrarahmen-kodierten Region des aktuellen Rahmens vorhanden ist, der zu kodieren ist, der Suchbereich von dem vorherigen Rahmen, der als der Bezugsrahmen dient, eingeschränkt, und die Suche wird nicht von der nicht-aufgefrischten Region durchgeführt.In This intrasection scheme becomes when a search for the motion vector carried out which communicates with a macroblock that is in one Region over the intraframe-coded region of the current frame is present, which is to be coded, the search area of the previous frame, which serves as the frame of reference, restricted, and the search will not performed by the non-refreshed region.
Z. B. wird die Suche nach Bewegungsvektoren für Makroblöcke in dem aktuellen Rahmen so eingeschränkt, dass von Makroblöcken in dem vorherigen Rahmen Makroblöcke in entsprechenden Stellen zu der intrarahmen-kodierten Region in dem aktuellen Rahmen nicht in der Bewegungsvektor-Suchregion enthalten sind. In dem Fall von Intraschnitt, worin die Richtung der Auffrischung von oben nach unten ist, werden deshalb alle Bewegungsvektoren, die von unten nach oben gerichtet sind, eingeschränkt. Derartige Einschränkungen erlauben, dass Rahmen in dem schlechtesten Fall durch den (2 Zyklen – 1)-ten Rahmen von einem Rahmen, worin Fehler aufgetreten sind, vollständig aufgefrischt werden, und erlauben, das Fehlerausbreitung konvergiert.Z. For example, the search for motion vectors for macroblocks in the current frame so limited, that of macroblocks in the previous frame macroblocks in corresponding locations to the intraframe coded region in the current frame is not included in the motion vector search region are. In the case of intrasection, in which the direction of refreshment from top to bottom, therefore all motion vectors, which are directed from bottom to top, restricted. such restrictions allow frames in the worst case by the (2 cycles - 1) th frame from a frame in which errors have occurred, completely refreshed and allow the error propagation to converge.
Angenommen z. B., dass der Zyklus von Intraschnitt vier Rahmen ist und Fehler in dem ganzen Bitstrom in dem ersten Rahmen in einem Zyklus von vier Rahmen aufgetreten sind. In diesem Fall werden bei Kodierung eines Makroblocks in einem eingegebenen Rahmen in dem Inter-Modus nur Makroblöcke, die, von Makroblöcken in dem Bezugsrahmen, vorhanden sind in der gleichen Stelle wie und der Region über diesem Makroblock, der zu kodieren ist in dem eingegebenen Rahmen für die Bewegungsvektorssuche verwendet. Somit konvergiert der Bereich, durch den sich die Effekte von Fehlern ausbreiten, mit der untersten Region in dem Rahmen.Accepted z. For example, the cycle of intrasection is four frames and errors in the whole bit stream in the first frame in a cycle of four Framework have occurred. In this case, when coding a Macroblocks in an input frame in the Inter mode only Macroblocks the, of macroblocks in the frame of reference, exist in the same place as and the region over This macroblock to encode is in the input frame for the Motion vector search used. Thus, the area converges through the effects of errors spread to the lowest region in the frame.
Die Zahl von kodierten Bits in dem Intra-Modus ist zweimal oder mehr größer als die in dem Inter-Modus, wenn die gleichen Quantisierungsparameter verwendet werden. Da es Einschränkungen in Übertragungsraten gibt, ist es erforderlich, dass die Übertragungsrate von Bitströmen auf einen gewissen Wert oder geringer begrenzt wird. Wenn das auf Intraschnitt basierte Auffrischungsschema verwendet wird, ist es deshalb erforderlich, die Zahl von kodierten Bits um den Betrag entsprechend dem Intraschnitt, der einzufügen ist, zu reduzieren, indem Quantisierungsparameter größer als in dem Fall gemacht werden, wo kein Intraschnitt eingefügt wird. Dies bildet jedoch eine ernsthafte Ursache von Verschlechterung von Bildqualität.The Number of coded bits in the intra mode is twice or more greater than in the inter-mode, if the same quantization parameters be used. Because there are restrictions in transfer rates It is necessary that the transmission rate of bitstreams on a certain value or less is limited. If that's on intrasection based refresh scheme is used, it is therefore necessary the number of coded bits by the amount corresponding to the intrasection, to insert is to reduce by adding quantization parameters greater than be made in the case where no intrasection is inserted. This however, is a serious cause of deterioration of image quality.
Wie
in der japanischen ungeprüften
Patentveröffentlichung
Nr.
Die herkömmlichen adaptiven Auffrischungsschemata teilen ein Problem, dass die Bewegung, die intra-kodierte Regionen in einer Szene haben, nicht betrachtet werden.The usual Adaptive refresher schemes share a problem that movement that not to be considered intra-coded regions in a scene.
D. h. die herkömmlichen adaptiven Auffrischungsschemata übernehmen das Prinzip, dass sobald eine Region durch eine intra-kodierte Region aufgefrischt ist, sie nicht aufgefrischt wird, bis eine neue Bewegung, die mit dieser Region in Verbindung steht, erfasst wird. Somit wird, sobald eine Region in dem Intra-Modus kodiert ist, sie eindeutig als eine unbewegte Regionen in diesem Punkt betrachtet und aus dem Auffrischungsbereich ausgeschlossen, bis eine neue Bewegung, die mit dieser Region in Verbindung steht, erfasst wird.D. H. the conventional ones adopt adaptive refresh schemes the principle that once a region is refreshed by an intra-coded region is, she is not refreshed until a new move with that of this region. Thus, as soon as a region in which intra-mode is encoded, it clearly as one immobile regions considered in this point and from the refreshment area ruled out until a new movement with this region in Connection is detected.
Aus
diesem Grund fallen in dem Fall, dass wenn ein Szenenwechsel auftritt
und das Bild nach dem Szenenwechsel unbewegt ist, intra-kodierte
Regionen in dem Szenenwechselrahmen wegen Fehlern während einer Übertragung
zu dem Decoder heraus, Fehlerwiederherstellung wird verzögert, was zu
einem ernsthaften Problem führt.
Dies wird in
In
Danach kommt MBi für eine Auffrischung in Rahmen N + 6 erneut an die Reihe. Es sei denn, es wird in dem Makroblock MBi bis zu diesem Zeitpunkt eine Bewegung erfasst, wird die Auffrischung des Makroblocks in Rahmen N + 6 ebenso übersprungen.After that MBi comes for a refresher in frame N + 6 again. Unless, it will move in macroblock MBi until then The macroblock refresh in frame N + 6 is also skipped.
Somit wird der Makroblock MBi für eine lange Zeit nicht aufgefrischt. Falls der Makroblock MBi in dem Szenenwechselrahmen N + 1 wegen Übertragungsfehlern ausfällt, kann deshalb korrekte Information nach einem Szenenwechsel für Regionen des Makroblocks MBi nicht erhalten werden, sodass das Bild in dem vorherigen Rahmen N vor dem Szenenwechsel angezeigt wird, wie es ist.Consequently is the macroblock MBi for not refreshed for a long time. If the macroblock MBi in the Scene change frame N + 1 due to transmission errors fails, can therefore correct information after a scene change for regions of the macroblock MBi are not preserved, so the image in the previous frame N before the scene change is displayed, like it is.
In
Literaturstelle
In
Literaturstelle
In
Literaturstelle
Wie oben beschrieben, erfordert das herkömmliche auf Intraschnitt basierte Auffrischungsschema, was den Betrag von Kodierung beträchtlich erhöht, Quantisierungsparameter groß zu machen, um Kodierung in der gleichen Rate zu erzielen, wobei sich die Bildqualität verschlechtert.As described above requires the conventional Intraschnitt based Refresh scheme, which considerably increases the amount of coding, quantization parameter big too to achieve coding at the same rate, where the picture quality deteriorated.
Außerdem wird mit den adaptiven Auffrischungsschemata, um nur Bewegungsregionen aufzufrischen, da keine Auffrischung für eine Weile nach einem Szenenwechsel durchgeführt wird, Fehlerwiederherstellung in dem Fall verzögert, dass Fehler in dem Szenenwechselrahmen gemischt sind, wobei die Qualität eines angezeigten Bildes verschlechtert wird.In addition, will with the adaptive refresh schemes to only motion regions refresh, as no refresh for a while after a scene change carried out error recovery is delayed in the event that errors in the scene change frame are mixed, the quality of a displayed image is degraded.
Wenn der Bewegungsvektorsuchbereich eingeschränkt wird, um Fehlerwiederherstellung durch Auffrischung sicherzustellen, können des weiteren korrekte Bewegungsvektoren abhängig von der Bildbewegung nicht gefunden werden, wobei sich die Bildqualität verschlechtert.If the motion vector search area is restricted to error recovery Can ensure refresher furthermore, correct motion vectors are not dependent on image motion are found, whereby the image quality deteriorates.
Es ist ein Ziel der vorliegenden Erfindung, einen Videokodierer und ein Videokodierungsverfahren bereitzustellen, die gestatten, dass die Effekte von Übertragungsfehlern abgeschwächt werden und dadurch die Bildqualität verbessert wird, ohne Erhöhung des Umfangs von Kodierung.It is an object of the present invention, a video encoder and to provide a video encoding method that allows the effects of transmission errors attenuated and thereby the image quality is improved, without increasing the Scope of coding.
Gemäß einem Aspekt der vorliegenden Erfindung wird ein Videokodierer vorgesehen, umfassend: Kodierungsmittel zum selektiven Durchführen eines Intrarahmenkodierungsmodus für Intrarahmenkodierung eines eingegebenen Videosignals, eines Interkodierungsmodus für Interrahmenkodierung und eines nicht-kodierten Modus, worin keine Kodierung durchgeführt wird und der vorherige Rahmen für eine Anzeige verwendet wird; Modusauswahlmittel zum adaptiven Auswählen eines Kodierungsmodus unter den Kodierungsmodi für jede vorbestimmte Region in dem eingegebenen Videosignal; und wobei das Kodierungsmittel ent hält Intrarahmenkodierungsmittel für Intrarahmenkodierung von aufzufrischenden Regionen, die durch ein Auffrischungsbestimmungsmittel bestimmt sind, gekennzeichnet durch: Auffrischungssteuermittel zum Erfassen einer Bewegungsregion von innerhalb eines Rahmens und Einrichten einer intrarahmen-kodierten Region für eine Auffrischung in einem Abschnitt eines Auffrischungsbereiches in dem nächsten Rahmen, der die Bewegungsregion enthält, wobei das Auffrischungssteuermittel enthält Bestimmungsmittel zum Bestimmen, ob jede der intrarahmen-kodierten Regionen, die kodiert sind durch das Kodierungsmittel in dem Intrarahmenkodierungsmodus in dem vorherigen Rahmen, zu einer Bewegungsregion oder einer Stillregion gehört, und das Auffrischungsbestimmungsmittel reagiert auf eine Bestimmung des Bestimmungsmittels zum Einbeziehen von intrarahmen-kodierten Regionen, die zu der Bewegungsregion in dem Auffrischungsbereich gehören, und Ausschließen von intrarahmen-kodierten Regionen, die zu der Stillregion gehören, aus dem Auffrischungsbereich, und das Kodierungsmittel Mittel zum zyklischen Einfügen der intrarahmen-kodierten Regionen in jeden von Bildrahmen gemäß einer vorbestimmten Auffrischungszyklusperiode enthält.According to one Aspect of the present invention, a video encoder is provided, comprising: coding means for selectively performing a Intraframe coding mode for Intra-frame coding of an input video signal, an inter-coding mode for interframe coding and a non-coded mode in which no coding is performed and the previous frame for an ad is used; Mode selection means for adaptively selecting one Encoding mode among the encoding modes for each predetermined region in the input video signal; and wherein the coding agent ent holds Intraframe coding means for Intraframing coding of regions to be refreshed by a Refreshment determining means are determined, characterized by Refresh control means for detecting a movement region of within a frame and setting up an intraframe-coded one Region for a refreshment in a section of a refreshment area in the next Frame containing the motion region, wherein the refresh control means contains Determining means for determining whether each of the intraframe-coded ones Regions coded by the coding means in the intraframe coding mode in the previous frame, to a motion region or a silent region heard, and the refresh determination means responds to a determination the determining means for inclusion of intraframe-coded Regions leading to the motion region in the refresh area belong, and exclusion of intraframe encoded regions belonging to the breastfeeding region the refresh area, and the coding means means for cyclic Insert of the intraframe coded regions in each of image frames according to a predetermined refresh cycle period.
Dieser Videokodierer setzt ein adaptives Auffrischungsschema voraus, das nur eine Bewegungsregion innerhalb eines Rahmens als eine Auffrischungsbereich auswählt und eine intra-kodierte Region in einen Teil des Auffrischungsbereiches einfügt. D. h. eine unbewegte Region wird aus dem Auffrischungsbereich ausgeschlossen. Im Vergleich mit dem normalen Intraschnitt wird somit, da die unbewegte Region nicht aufgefrischt wird, die Zahl von Makroblöcken, die in dem Intra-Modus zu kodieren sind, verringert und bei der gleichen Rate können die Quantisierungsparameter entsprechend klein gemacht werden, was hilft, die Bildqualität zu verbessern.This video encoder requires an adaptive refresh scheme that selects only a motion region within a frame as a refresh area and inserts an intra-coded region into a portion of the refresh area. Ie. a still region is excluded from the refresh area. Thus, in comparison with the normal intrasection, since the unmoved region is not refreshed, the number of Reduces macroblocks to be encoded in the intra mode, and at the same rate, the quantization parameters can be made correspondingly small, which helps to improve the picture quality.
Bei Bestimmung des Auffrischungsbereiches wird ferner, anders als bei der herkömmlichen Auffrischung, die Bewegung der intra-kodierten Region in dem Rahmen berücksichtigt.at Determination of the refresh area is further, unlike the conventional one Refresh, the movement of the intra-coded region in the frame considered.
D. h. es wird eine Untersuchung des Grades von Korrelation zwischen jeder von Bildregionen, die in dem Intra-Modus kodiert sind, und der entsprechenden Bildregion in dem vorherigen Rahmen durchgeführt, und es wird eine Bestimmung davon gemacht, zu welcher einer Bewegungsregion mit Bewegung und einer unbewegten Region ohne Bewegung die Bildregion gehört. Basierend auf dem Ergebnis dieser Bestimmung wird der Auffrischungsbereich bestimmt. In diesem Fall wird die intra-kodierte Region, die zu der Bewegungsregion gehört, in den Auffrischungsbereich in dem nächsten Rahmen aufgenommen, und die intra-kodierte Region, die zu der unbewegten Region gehört, wird aus dem Auffrischungsbereich in dem nächsten Rahmen ausgeschlossen, sodass Fehlerwiederherstellung durch Auffrischung durchgeführt werden kann, selbst wenn die intra-kodierte Region, die zu der Bewegungsregion gehört, durch Fehler während einer Übertragung zu dem Kodierer ausfällt. Durch dynamisches Ändern des Auffrischungsbereiches auf einer Basis Bildregion für Bildregion gemäß dem Vorhandensein oder Fehlen von Bewegung der intra-kodierten Region in dem vorherigen Rahmen wird somit fortgesetzt, eine intra-kodierte Bildregion, falls sie eine Bewegungsregion ist, als den Auffrischungsbereich auszuwählen, bis sie später erneut intra-kodiert und betrachtet wird, zu einer unbewegten Region zu gehören. Somit wird in derartigen Situationen, da es einen Szenenwechselrahmen gibt und das Bild nach dem Szenenwechsel unbewegt ist, ein intra-kodierter Makroblock in dem Szenenwechselrahmen als eine Bewegungsregion behandelt und in einem vorbestimmten Zeitpunkt aufgefrischt, der durch den Auffrischungsbereich bestimmt wird. Selbst wenn ein Intra-Makroblock in dem Szenenwechselrahmen während Übertragung zu dem Decoder ausfällt, kann deshalb Fehlerwiederherstellung basierend auf Auffrischung relativ früh durchgeführt werden.D. H. there will be an investigation of the degree of correlation between each of image regions encoded in the intra-mode, and the corresponding image region in the previous frame, and a determination is made of which of a motion region with motion and a still region without motion the image region belongs. Based on the result of this determination, the refresh area becomes certainly. In this case, the intra-coded region that belongs to belongs to the region of motion, added to the refresh area in the next frame, and the intra-coded region belonging to the non-moving region becomes excluded from the refresh area in the next frame, so that error recovery is done by refreshing can, even if the intra-coded region leading to the motor region belongs, through mistakes during a transfer to the encoder fails. By dynamically changing the Refreshing area on a base picture region for picture region according to the presence or lack of movement of the intra-coded region in the previous one Frame is thus continued, an intra-coded image region if it is a motion region to select as the refresh area until you later again intra-coded and is considered to belong to a still region. Consequently will be in such situations as there is a scene change frame and the image is motionless after the scene change, an intra-coded one Macroblock handled in the scene change frame as a motion region and refreshed at a predetermined time by the Refreshment area is determined. Even if an intra-macroblock in the scene change frame during transmission to the decoder fails, Therefore, error recovery can be based on refreshing relatively early carried out become.
Die vorliegende Erfindung stellt ferner einen Videokodierer bereit, wobei wenn die intrarahmen-kodierten Regionen mehr als eine vorbestimmte Zahl, die zu der Bewegungsrichtung gehören, in einem Rahmen enthalten sind, das Auffrischungssteuermittel bestimmt, dass der Rahmen ein Szenenwechselrahmen ist und wechselt in dem nächsten Rahmen die Stelle, in der eine intrarahmen-kodierte Region für eine Auffrischung eingerichtet ist, um die zyklische Auffrischungsoperation in einem Ende des nächsten Rahmens zu beginnen.The The present invention further provides a video encoder if the intra-frame coded regions are more than a predetermined number, that belong to the direction of movement, are included in a frame that determines refresh control means, that the frame is a scene change frame and changes in that next frame the place where an intraframe-coded region for a refresher is set up to perform the cyclic refresh operation in one End of the next Frame to begin.
Allgemein enthält der Szenenwechselrahmen einen großen Umfang von Kodierung, und daher gibt es eine hohe Wahrscheinlichkeit von Fehlern, die eingemischt sind, vorausgesetzt, dass die Wahrscheinlichkeit des Auftretens eines Fehlers unverändert bleibt. Wenn Fehler eingemischt sind, kann, da Korrelation zwischen aktuellen und vorherigen Rahmen verloren geht, eine Technik, wie Fehlerverdeckung, nicht verwendet werden. Durch Identifizieren eines Szenenwechsels und Beginnen einer Auffrischungsoperation in einem Ende des Rahmens wird es, selbst wenn Fehler in dem Szenenwechsel Rahmen auftreten, möglich, von den Fehlern im schlechtesten Fall in einem Auffrischungszyklus einer vorbestimmten Zahl von Rahmen wiederherzustellen.Generally contains the scene change frame a large amount of coding, and therefore there is a high probability of mistakes being interfered with are, provided that the probability of occurrence an error unchanged remains. If errors are mixed in, there can be correlation between current and previous frame is lost, a technique like Error concealment, not used. By identifying a Scene change and start a refresh operation in one The end of the frame will be, even if errors in the scene change Frame occur, possible, worst case errors in a refresh cycle restore a predetermined number of frames.
Außerdem stellt die vorliegende Erfindung einen Videokodierer bereit, wobei wenn eine Region in dem nächsten Rahmen, die sich in der gleichen Stelle wie die intrarahmen-kodierten Region für eine Auffrischung in dem vorherigen Rahmen befindet, in dem Interkodierungsmodus zu kodieren ist, das Auffrischungssteuermittel ein Sperrmittel zum Sperren einer Bewegungsvektorssuche nur nach Bewegungsvektoren von einer Bewegungsregion in dem vorherigen Rahmen, die durch das Auffri schungssteuermittel bestimmt wird, enthält, wobei die Bewegungsvektoren in Bewegungsvektoren in der Richtung entgegengesetzt zu der Richtung der Auffrischung enthalten sind.It also puts the present invention provides a video encoder, wherein when one region in the next Frames that are in the same place as the intraframe encoded Region for a refresh in the previous frame is in the intercoding mode to be encoded, the refresh control means is a blocking means for Lock a motion vector search only for motion vectors from a movement region in the previous frame provided by the refresh control means is determined contains, where the motion vectors are in motion vectors in the direction are included opposite to the direction of the refreshment.
Um Fehlerwiederherstellung in (2 Zyklen – 1) Malen sicherzustellen, sperrt, wie zuvor beschrieben, das herkömmliche Intraschnittschema die Suche nach Bewegungsvektoren in der Richtung entgegengesetzt zu der Richtung der Auffrischung vollständig. Bei der unbewegten Region gibt es eine geringe Möglichkeit, dass Fehler eingemischt sind. Durch Entfernen der unbewegten Region aus dem Bewegungsvektor-Suchbereich wird somit der Bewegungsvektor-Suchbereich eingeengt, was eine Verbesserung der Bildqualität bewirkt.Around To ensure error recovery in (2 cycles - 1) painting locks as described above, the conventional Intraschnittschema the search for motion vectors in the opposite direction to the direction of refreshment completely. At the unmoved region is there a small possibility that mistakes are mixed. By removing the unmoved region the motion vector search area thus becomes the motion vector search area concentrated, which causes an improvement in image quality.
Diese Zusammenfassung der Erfindung beschreibt nicht notwendigerweise alle notwendigen Merkmale, sodass die Erfindung auch eine Teilkombination dieser beschriebenen Merkmale sein kann.These Summary of the invention does not necessarily describe All the necessary features, so that the invention also a sub-combination this described features can be.
Die Erfindung kann aus der folgenden detaillierten Beschreibung vollständiger verstanden werden, wenn in Verbindung mit den begleitenden Zeichnungen aufgenommen, in denen:The The invention may be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which:
In
Die
andere der geteilten Ausgaben der Quantisierungsschaltung
Eine
Kodierungssteuerschaltung
Die
Modusselektorschaltung
Für Intrarahmenkodierung
wird der Schalter
Kodierungsmodi enthalten einen Intramodus (INTRA) für Intrarahmenkodierung, einen Intermodus (INTER) für Interrahmenkodierung und einen Nicht-Kodierungsmodus (NOT_CODED), worin entsprechende Makroblockinformation in dem vorherigen Rahmen für eine Anzeige verwendet wird wie sie ist. Eine Auswahl wird unter diesen Kodierungsmodi auf einer Basis Makroblock für Makroblock adaptiv durchgeführt. Normalerweise wird der INTRA-Modus in dem Fall ausgewählt, wo es keine Interrahmenkorrelation gibt. Wenn Interrahmenkorrelation für eine Vorhersage eingesetzt werden kann, wird der INTER-Modus ausgewählt. Wenn es keine Änderung in einem Bild gibt und daher Kodierung unnötig ist, wird der Modus NOT_CODED ausgewählt.Encoding modes include an intra-frame coding (INTRA) intra-frame coding mode, an inter-frame encoding INTER mode (INTER), and a non-coding mode (NOT_CODED), wherein corresponding macroblock information is stored in the preceding frame frame is used for an ad as it is. A selection is made adaptive under these coding modes on a macroblock by macroblock basis. Normally, the INTRA mode is selected in the case where there is no interframe correlation. If interframe correlation can be used for a prediction, the INTER mode is selected. If there is no change in an image and therefore coding is unnecessary, the NOT_CODED mode is selected.
Wenn
die Auffrischungsbestimmungsschaltung
Die
Modusauswahlschaltinformation MODE, die einen Kodierungsmodus anzeigt,
der durch die Modusauswahlschaltung
Das heißt die vorliegende Ausführungsform setzt das adaptive Auffrischungsschema voraus, das nur Bewegungsregionen in jedem Rahmen als einen Auffrischungsbereich auswählt. Bei einer Bestimmung des Auffrischungsbereiches wird jedoch, anders als in dem herkömmlichen adaptiven Auffrischungsschema, die Bewegung eines Bildes über Rahmen in jedem Intramakroblock, der in dem INTRA-Modus kodiert ist, betrachtet. In diesem Fall wird für einen Intramakroblock, für den die Bestimmung ist, dass er zu einer Bewegungsregion gehört, seine Region in den Auffrischungsbereich in dem nächsten Rahmen einbezogen, sodass die Auffrischung Wiederherstellung von Fehlern bereitstellen wird, selbst wenn der Makroblock selbst durch Fehler während einer Übertragung zu dem Decoder ausfällt. Ein Intramakroblock, für den die Bestimmung ist, dass er zu einer unbewegten Region gehört, wird aus dem Auffrischungsbereich in dem nächsten Rahmen ausgeschlossen. Auf diese Art und Weise wird der Auffrischungsbereich in dem nächsten Rahmen auf einer Basis Makroblock für Makroblock gemäß dem Vorhandensein oder Fehlen von Bewegung des Bildes in jedem Intramakroblock in dem vorherigen Rahmen dynamisch geändert.The is called the present embodiment sets the adaptive refresher scheme that only motion regions in each frame as a refresh area. at however, a determination of the refresh area will be different than in the conventional one adaptive refresh scheme, the movement of an image over frames in each intramacroblock encoded in the INTRA mode. In this case will be for an intramacroblock, for which is the determination that it belongs to a region of motion, its region included in the refresh area in the next frame so that the refresher will provide recovery from errors, even if the macroblock itself by mistake during a transmission to the decoder fails. An intramacroblock, for the determination is that he belongs to a stationary region, will excluded from the refresh area in the next frame. In this way, the refresh area becomes the next frame on a macroblock basis for Macroblock according to the presence or lack of movement of the image in each intramacroblock in changed dynamically from the previous frame.
Hier stellen i und j Adressen in der vertikalen bzw. horizontalen Richtung in dem Rahmen eines Makroblocks, der zu kodieren ist, dar. V_NMB und H_NMB stellen die Zahlen von Makroblöcken in der vertikalen bzw. horizontalen Richtung in dem Rahmen dar. N ist die Zählung in einem Zähler, die eine Makroblockzeile einer Auffrischungsstelle anzeigt.Here i and j provide addresses in the vertical and horizontal directions, respectively in the frame of a macroblock to be encoded. V_NMB and H_NMB represent the numbers of macroblocks in the vertical and horizontal direction in the frame. N is the count in a counter, which indicates a macroblock line of a refresh location.
Ein zweidimensionales Feld D[i][j] enthält Elemente zum Managen von Auffrischungssteuerinformation, die für jeden Makroblock anzeigt, ob er zu einer Bewegungsregion gehört, die Auffrischung benötigt, oder nicht, auf der Basis der Historie von Bewegungsregionen-/Stillregionenbestimmungen für jeden Makroblock. Die Auffrischungssteuerinformation für einen Makroblock, in dem Umschreiben durchgeführt wurde, nämlich einen Makroblock, für den die Bestimmung Bewegungsregion wegen dem Vorhandensein einer Bildänderung ist, wird auf FALSE (FALSCH) gesetzt. Die Auffrischungssteuerinformation für einen Makroblock, für den die Bestimmung ist, dass es keine Änderung in einem Bild gibt, wird auf TRUE (WAHR) gesetzt.A two-dimensional field D [i] [j] includes elements for managing refresh control information that indicates, for each macroblock, whether or not it belongs to a motion region that needs refresh, based on the history of motion region / silence region determinations for each macroblock , The refresh control information for a macroblock in which rewriting has been performed, namely a macroblock for which the determination is a movement region due to the presence of a picture change, is set to FALSE. The refresh control information rmation for a macroblock for which the determination is that there is no change in an image is set to TRUE.
Das FALSE zeigt an, dass der entsprechende Makroblock gegenwärtig zu einer Bewegungsregion gehört. Es sei denn, das FALSE wird zu dem TRUE umgeschrieben, wird dieser Makroblock in einem spezifischen Rahmen, der durch den Auffrischungszyklus bestimmt wird, aufgefrischt.The FALSE indicates that the corresponding macroblock is currently in use belongs to a movement region. Unless the FALSE is rewritten as TRUE, it will Macroblock in a specific frame, through the refresh cycle is determined, refreshed.
Der
Zähler
SC, der in der Auffrischungsbestimmungsschaltung
Vor einem Start der Kodierung wird zuerst der Zählerwert N, um die Auffrischungsstelle zu finden, auf 0 initialisiert (Schritt S101).In front a start of coding is first the counter value N to the refresh point found initialized to 0 (step S101).
Als Nächstes wird der Zähler SC für eine Szenenwechselbestimmung auf 0 initialisiert, bevor ein eingegebener 1 Rahmen kodiert wird (Schritt S102).When next becomes the counter SC for initializes a scene change determination to 0 before an inputted one 1 frame is coded (step S102).
In Schleife 1 und Schleife 2 werden die Auffrischungsbestimmung und der Kodierungsprozess für jeden Makroblock in dem Rahmen durchgeführt. In Schleife 2, die aus Schritten S104 bis S114 besteht, wird eine Verarbeitung in der gleichen Makroblockzeile in der horizontalen Richtung durchgeführt. Durch Verschachtelung von Schleife 2 innerhalb von Schleife 1, die aus Schritten S103 und S104 besteht, wird die Makroblockzeile, die ein Objekt der Verarbeitung ist, von oben nach unten verschoben, wobei dadurch ein Rahmen in seiner Gesamtheit verarbeitet wird.In Loop 1 and Loop 2, the refresh determination and the encoding process are performed for each macroblock in the frame. In loop 2 consisting of steps S104 to S114, processing in the same macroblock line in the horizontal direction is performed. By interleaving loop 2 within loop 1 consisting of steps S103 and S104, For example, the macroblock line which is an object of processing is shifted from top to bottom, thereby processing a frame in its entirety.
In Schritt S105 wird eine Untersuchung bezüglich dessen durchgeführt, ob zwei Bedingungen erfüllt sind oder nicht: (1) der Rest der Division des Auffrischungszählerwertes N durch die Zahl von Makroblöcken in der vertikalen Richtung, V_NMB, ist gleich Adresse i eines Makroblocks, der gegenwärtig ein Objekt der Kodierung ist; und (2) der Wert des Feldes D[i][j] ist FALSE. Falls der Makroblock, der im Begriff ist kodieren zu werden, zu der Makroblockzeile gehört, die aufzufrischen ist, dann ist N modulo V_NMB gleich i, der Adresse des Makroblocks, der im Begriff ist kodieren zu werden. Falls außerdem der Feldwert D[i][j] FALSE ist, dann wird entschieden, dass der Makroblock, der im Begriff ist kodieren zu werden, zu einer Bewegungsregion gehört, die aufgefrischt werden muss.In Step S105, an inquiry is made as to whether fulfilled two conditions or not: (1) the remainder of the division of the refresh counter value N by the number of macroblocks in the vertical direction, V_NMB, is equal to address i of a macroblock, currently one Object of coding is; and (2) the value of the field is D [i] [j] FALSE. If the macroblock that is about to be encoded belongs to the macroblock line, which is to be refreshed, then N modulo V_NMB is equal to i, the address the macroblock that is about to code. In addition, if the field value D [i] [j] is FALSE, then it is decided that the macroblock, the is about to become encoded, belonging to a movement region that needs to be refreshed.
Falls N modulo V_NMB gleich der Adresse i des Makroblocks ist, der im Begriff ist kodieren zu werden, und der Feldwert D[i][j] FALSE ist, was die Notwendigkeit der Auffrischung anzeigt, dann wird deshalb die Auffrischung bestimmt und die Kodierungsmodusinformation MODE wird zu dem INTRA-Modus umgeschrieben (Schritt S106).If N modulo V_NMB is equal to the address i of the macroblock which is in the Term is to be coded, and the field value D [i] [j] is FALSE, what indicates the need of refresher, then becomes so the refresh is determined and the coding mode information MODE is rewritten to the INTRA mode (step S106).
Nach dem Kodierungsprozess (Schritt S107) wird eine Kodierungsmodusbestimmung durchgeführt (Schritt S108), und dann wird das Feld D[i][j] durch einen Kodierungsmodustyp aktualisiert.To the coding process (step S107) is a coding mode determination carried out (Step S108), and then the field D [i] [j] becomes a coding mode type updated.
Falls
der MODE INTRA ist, dann wird, um zu bestimmen, ob der Makroblock
unbewegt ist, die Summe (SAD) von Absolutwerten von Vorhersageresten
des Makroblocks, für
den der Bewegungsvektor, der sich aus der Bewegungskompensationsschaltung
Falls der MODE INTER ist, wird entschieden, dass es eine Bewegung in dem Makroblock gibt, und dann wird der entspre chende Feldwert D[i][j] auf FALSE gesetzt, was die Notwendigkeit einer Auffrischung anzeigt (Schritt S113).If the MODE INTER is, it is decided that there is a movement in the Macroblock and then the corresponding field value D [i] [j] set to FALSE indicating the need for refresh (Step S113).
Falls der MODE NOT_CODED ist, wird das Feld D[i][j] nicht aktualisiert und die Operation geht zu der nächsten Schleife.If If MODE is NOT_CODED, field D [i] [j] will not be updated and the operation goes to the next Loop.
Als ein Ergebnis wird der Feldwert D[i][j] nur auf TRUE umgeschrieben, wenn ein Makroblock in einer unbewegten Region aufgefrischt wird. D. h. wenn bestimmt wird, dass ein Makroblock, der in dem INTRA-Modus kodiert ist, zu einer Bewegungsregion gehört, oder wenn ein Makroblock in dem INTER-Modus kodiert ist, wird der Feldwert D[i][j] auf FALSE gehalten und es wird fortgesetzt, den Makroblock als einen Auffrischungsbereich auszuwählen, bis der Makroblock in der gleichen Stelle in dem nachfolgenden Rahmen als der Makroblock in dem INTRA-Modus erneut kodiert wird und es bestimmt wird, dass er zu einer unbewegten Region gehört.When a result, the field value D [i] [j] is only rewritten to TRUE, when a macroblock is refreshed in a stationary region. Ie. when it is determined that a macroblock is in the INTRA mode encoded belongs to a motion region, or if a macroblock is encoded in the INTER mode, the field value D [i] [j] becomes FALSE and it continues, the macroblock as a refresh area select until the macroblock is in the same place in the subsequent frame as the macroblock is re-encoded in the INTRA mode and it it is determined that he belongs to a non-moving region.
Nach der Terminierung von Schleife 1 und Schleife 2, d. h. wenn Kodierung für einen Rahmen abgeschlossen ist, wird der Zählerwert SC für eine Szenenwechselbestimmung mit einer Schwelle E verglichen (Schritt S116). Falls SC > E, wird entschieden, dass der Rahmen, für den Kodierung abgeschlossen wurde, nicht ein Szenenwechselrahmen ist, in dem eine Szene wechselt. In diesem Fall wird, um die Auffrischungszeile um eins vorzurücken, (N + 1) durch V_NMB geteilt und der Rest wird als ein neuer Wert für N gesetzt (Schritt S117). Falls andererseits SC nicht größer als E ist, wird entschieden, dass der Rahmen, für den Kodierung abgeschlossen wurde, ein Szenenwechselrahmen ist. In diesem Fall wird N auf 0 zurückgesetzt (Schritt S118), wobei dadurch erlaubt wird, dass die Auffrischungsoperation von oben des nächsten Rahmens neu gestartet wird.To the termination of loop 1 and loop 2, d. H. if coding for one Frame is completed, the counter value SC for a scene change determination with a threshold E (step S116). If SC> E, it is decided that the frame, for the encoding has been completed, not a scene change frame, in which a scene changes. In this case, the refresh line to advance one, (N + 1) is divided by V_NMB and the remainder is considered a new value set for N. (Step S117). On the other hand, if SC is not greater than E, it is decided to that the frame, for the encoding has been completed is a scene change frame. In this case, N is reset to 0 (Step S118), thereby allowing the refresh operation of at the top of the next one Frame is restarted.
In
dem Kodierungsprozess (Schritt S107) sperrt die Bewegungskompensationsschaltung
In
der obigen Beschreibung wird die Auffrischungsoperation basierend
auf horizontalen Makroblockzeilen durchgeführt, wie in
D. h. mit vertikaler Auffrischung werden in Schritt S105 Bestimmungen von (J:N mod H_NMB) und (D[i][j]: FALSE) durchgeführt. Mit anderen Worten wird eine Prüfung bezüglich dessen durchgeführt, ob die zwei Bedingungen beide erfüllt sind: (1) der Rest der Division des Auffrischungszählerwertes, N, durch die Zahl von Makroblöcken in der horizontalen Richtung, H_NMB, ist gleich der Adresse j eines Makroblocks, der im Begriff ist kodiert zu werden; und (2) der entsprechende Feldwert D[i][j] wurde auf FALSE gesetzt. Wenn der Makroblock, der im Begriff ist kodiert zu werden, zu einer Makroblockzeile gehört, die aufzufrischen ist, wird der Rest der Division von N durch H_NMB gleich der Adresse i dieses Makroblocks sein. Wenn der Feldwert D[i][j] auf FALSE gesetzt wurde, bedeutet es, dass der Makroblock zu einer Bewegungsregion gehört, die aufgefrischt werden muss.Ie. with vertical refresher will be in Step S105, determinations of (J: N mod H_NMB) and (D [i] [j]: FALSE) are made. In other words, a check is made as to whether the two conditions are both satisfied: (1) the remainder of the division of the refresh counter value, N, by the number of macroblocks in the horizontal direction, H_NMB, is equal to the address j of a macroblock; which is about to be coded; and (2) the corresponding field value D [i] [j] has been set to FALSE. If the macroblock that is about to be encoded belongs to a macroblock line that is to be refreshed, the remainder of the division of N by H_NMB will be equal to the address i of that macroblock. If the field value D [i] [j] is set to FALSE, it means that the macroblock belongs to a motion region that needs to be refreshed.
Wenn in Schritt S105 N mod H_NMB gleich der Adresse j des Makroblocks ist, der im Begriff ist kodiert zu werden, und außerdem der entsprechende Feldwert D[i][j] FALSE anzeigt, wird somit die Kodierungsmodusinformation MODE zu dem INTRA- Modus umgeschrieben, sodass eine Auffrischungsoperation durchgeführt wird.If in step S105, N mod H_NMB equal to the address j of the macroblock is about to be coded, and also the corresponding field value D [i] [j] indicates FALSE, thus becomes the coding mode information MODE to the INTRA mode rewritten so that a refresh operation is performed.
In
dem obigen Beispiel wird die Auffrischung auf einer Basis einer
horizontalen Zeile oder einer vertikalen Zeile durchgeführt. Alternativ
kann die Auffrischung in Einheiten einer vorgeschriebenen Zahl von
Makroblöcken
durchgeführt
werden, wie in
Genauer
wird der obige Auffrischungsmodus jede horizontale Zeile oder vertikale
Zeile durchgeführt,
die Auffrischung kann aber in Einheiten einer vorbestimmten Zahl
(R × N)
von Makroblöcken durchgeführt werden,
wie in
Deshalb wird in Schritt S106, falls der Wert, der durch Dividieren der Adresse (i × V_NMB + j) des Makroblocks, der zu kodieren ist, durch die vorbestimmte Zahl RN erhalten wird, gleich dem Rest ist, der erhalten wird durch Dividieren des Wertes des Zählers N durch die Zahl ((V_NMB × H_NMB)/RN) von Regionen, die innerhalb des Rahmens aufzufrischen sind, und der Wert des Feldes D[i][j] "FALSE" ist, was die Notwendigkeit der Auffrischung anzeigt, bestimmt, dass die Auffrischung durchgeführt werden muss, und dann wird die Kodierungsmodusinformation MODE zu dem INTRA-Modus umgeschrieben.Therefore in step S106, if the value obtained by dividing the address (i × V_NMB + j) of the macroblock to be encoded by the predetermined one Number RN is equal to the remainder obtained by Divide the value of the counter N is the number ((V_NMB × H_NMB) / RN) of Regions to be refreshed within the framework, and the Value of the field D [i] [j] "FALSE" is what the need the refresh indicates that the refresh must be done, and then the coding mode information MODE becomes the INTRA mode rewritten.
Wie oben beschrieben, wird in dieser Ausführungsform bestimmt, ob ein Makroblock aufzufrischen ist, basierend darauf, ob er umgeschrieben wurde als ein Ergebnis einer Änderung in einem Bild, nachdem es zuletzt aufgefrischt wurde. In diesem Punkt ist die wichtige Sache zu bestimmen, falls ein INTRA-Kodierungsmakroblock einschließlich Makroblöcken, die zuvor aufgefrischt wurde, in dem INTER-Modus kodiert ist, er NOT_CODED wird. Falls er so bestimmt werden kann, gehört der INTRA-Kodierungsmakroblock zu einer unbewegten Region. Selbst wenn er ausfällt, können die Effekte durch Verwenden des entsprechenden Makroblocks in dem unmittelbar vorangehenden Rahmen wie er ist unterdrückt werden. Falls nicht, ist der Makroblock in einer Bewegungsregion vorhanden. Falls er ausfällt, werden somit die Effekte dann ernsthaft. Falls der Makroblock in einer unbewegten Region vorhanden ist und nicht umgeschrieben wurde, muss der aufgefrischt werden.As described above, it is determined in this embodiment whether a MacroBlock is based on whether it has been rewritten as a result of a change in a picture after it was refreshed last. In this point is the important thing to determine if an INTRA encoding macroblock including Macroblocks which was previously refreshed in which INTER mode is encoded, he NOT_CODED. If so, it may include the INTRA encoding macroblock to a stationary region. Even if it fails, the effects can be exploited by using of the corresponding macroblock in the immediately preceding one Frame as he is suppressed become. If not, the macroblock is in a motion region available. If it fails, Thus the effects become serious. If the macroblock is in a non-moving region exists and has not been rewritten, it needs to be refreshed.
In
Deshalb stellt diese Ausführungsform Wiederherstellung von Fehlern in, in dem schlechtesten Fall, einer (2 Zyklen – 1) Zahl von Rahmen sicher.Therefore represents this embodiment Recovering mistakes in, in the worst case, one (2 cycles - 1) Number of frames for sure.
Wenn ein Szenenwechsel in Rahmen N + 1 auftritt, werden im wesentlichen alle Makroblöcke in Rahmen N + 1 in dem INTRA-Modus kodiert. In diesem Fall wird, da jeder INTRA-Makroblock in einer Bewegungsregion vorhanden ist, der entsprechende Feldwert D[i][j] auf FALSE gesetzt, was die Notwendigkeit einer Auffrischung anzeigt. Selbst wenn die Intra-Makroblöcke in Rahmen N + 1 wegen Fehlern während einer Übertragung zu dem Decoder ausfallen, kann somit Fehlerwiederherstellung danach relativ früh durchgeführt werden.If a scene change in frame N + 1 occurs, essentially all macroblocks encoded in frame N + 1 in the INTRA mode. In this case, since every INTRA macroblock is present in a motion region, the corresponding field value D [i] [j] is set to FALSE, reflecting the need a refresh. Even if the intra macroblocks in frame N + 1 due to errors during a transmission Failure of the decoder can thus restore error afterwards relatively early carried out become.
In der vorliegenden Ausführungsform wird, wie zuvor beschrieben, wenn bestimmt wird, dass ein Rahmen ein Szenenwechselrahmen ist, nachdem er kodiert wurde, die Auffrischungsstelle auf den Anfangswert in dem nächsten Rahmen zurückgesetzt, sodass die zyklische Auffrischung oben in dem nächsten Rahmen gestartet wird. In dem Fall der Auffrischung von oben nach unten wird deshalb die Auffrischung in der obersten Makroblockzeile in Rahmen N + 2 folgend dem Szenenwechselrahmen N + 1 gestartet.In the present embodiment as described above, when it is determined that a frame a scene change frame is, after it has been encoded, the refresh point to the initial value in the next one Reset frame so that the cyclic refresh is started up in the next frame. In the case of refreshment from top to bottom, therefore, the Refresh in the top macroblock line in frame N + 2 following the scene change frame N + 1 started.
Allgemein
involviert der Rahmen, in dem ein Szenenwechsel auftritt, eine große Menge
von Kodierung und hat daher eine große Wahrscheinlichkeit, dass
ein Fehler eingemischt ist, unter der gleichen Wahrscheinlichkeit
des Auftretens des Fehlers. In dem Fall, wo Fehler eingemischt sind,
kann eine effektive Technik, wie etwa Verdeckung, wegen dem Fehlen
einer Korrelation mit dem vorherigen Rahmen nicht verwendet werden.
Wenn kein Szenenwechsel besonders betrachtet wird, wird die auf
Auffrischung beruhende Wiederherstellung in dem schiechtesten Fall
eine (2 Zyklen – 1)
Zahl von Rahmen brauchen. Durch Starten der Auffrischung von oben
des Rahmens unmittelbar nach einem Szenenwechsel, wie in dieser
Ausführungsform,
kann jedoch Wiederherstellung in dem schlechtesten Fall in einem
Zyklus durchgeführt
werden, wie in
Wie
zuvor beschrieben, beschränkt
bei einer Suche nach dem Bewegungsvektor, der mit einem Makroblock
in Verbindung steht in einer Region
Für die unbewegte
Region gibt es jedoch wenig Notwendigkeit, Bewegungskompensation
zu sperren, da es eine geringe Möglichkeit
gibt, dass Fehler eingemischt sind. In der vorliegenden Ausführungsform
wird deshalb, um Einschränkungen
in dem Bewegungsvektor-Suchbereich zu erleichtern und dadurch die
Bildqualität
zu verbessern, die Bewegungsvektorsuche mit Bezug auf unbewegte
Regionen (J1 in Rahmen N, j2 in Rahmen N + 1 und J3 in Rahmen N
+ 2) in der Region
Die erste Ausführungsform wurde als Aktualisierung des Feldes D[i][j] auf den Wert TRUE beschrieben, der anzeigt, dass es keine Notwendigkeit einer Auffrischung gibt, sobald wie ein unbewegter INTRA-Makroblock erscheint. Die Bedingungen können strenger gemacht werden, derart, dass falls ein unbewegter INTRA-Makroblock n Mal (n > 1) erscheint, er betrachtet werden kann, zu einer unbewegten Region zu gehören. In diesem Fall kann, selbst wenn ein INTRA-Makroblock in einer Stelle in n fortlaufenden Rahmen ausfällt, Fehlerwiederherstellung durch Auffrischung durchgeführt werden.The first embodiment was written to the value TRUE as the update of the field D [i] [j], indicating that there is no need for a refresher as soon as a stagnant INTRA macroblock appears. The conditions can be stricter, such that if a stagnant INTRA macroblock n times (n> 1) appears, he can be considered to belong to a still region. In This case can, even if an INTRA macroblock in one place in n consecutive frame fails, Error recovery can be done by refreshing.
Obwohl die Ausführungsform im Sinne einer Kodierung auf einer Rahmenbasis beschrieben wurde, ist die vorliegende Erfindung außerdem gleichermaßen auf Kodierung auf einer Feldbasis anwendbar.Even though the embodiment has been described in terms of coding on a framework basis, In addition, the present invention is equally applicable Coding applicable on a field basis.
Als Nächstes wird eine zweite Ausführungsform der vorliegenden Erfindung nachstehend beschrieben.When next becomes a second embodiment of the present invention described below.
Das
Videoübertragungssystem
Das
Videowiederaufbausystem
Bildinformation,
die durch eine Kamera
Bildinformation,
die durch die Kamera
Wie oben beschrieben, können gemäß der vorliegenden Erfindung, durch Implementieren der adaptiven Auffrischungsinformation zum Bestimmen des Auffrischungsbereiches auf der Basis einer Bestimmung, ob eine intra-kodierte Bildregion entweder eine Bewegungsregion oder eine unbewegte Region ist, die Effekte von Übertragungsfehlern ohne Erhöhung des Umfangs von Kodierung verringert werden, wobei somit erlaubt wird, die Bildqualität zu erhöhen. Durch Rücksetzen der Auffrischungsstelle auf die Anfangsstelle in dem Rahmen unmittelbar folgend einem Szenenwechselrahmen kann außerdem frühe Fehlerwiederherstellung in dem Fall des Ausfalls des Szenenwechselrahmens wegen Übertragungsfehlern durchgeführt werden.As described above according to the present Invention by implementing the adaptive refresh information for determining the refresh area based on a determination, whether an intra-coded image region is either a motion region or a still region, the effects of transmission errors without increasing the Scope of coding, thus allowing the picture quality to increase. By reset the refresh point to the starting point in the frame immediately Following a scene change frame may also cause early error recovery in the case of failure of the scene change frame due to transmission errors carried out become.
Claims (17)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01925398A JP3905969B2 (en) | 1998-01-30 | 1998-01-30 | Moving picture coding apparatus and moving picture coding method |
JP1925398 | 1998-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69938372D1 DE69938372D1 (en) | 2008-04-30 |
DE69938372T2 true DE69938372T2 (en) | 2009-04-30 |
Family
ID=11994271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999638372 Expired - Lifetime DE69938372T2 (en) | 1998-01-30 | 1999-01-29 | Method and device for video coding |
Country Status (5)
Country | Link |
---|---|
US (1) | US6259736B1 (en) |
EP (1) | EP0933948B1 (en) |
JP (1) | JP3905969B2 (en) |
KR (1) | KR100323344B1 (en) |
DE (1) | DE69938372T2 (en) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0935396A3 (en) * | 1998-02-09 | 2004-08-11 | Matsushita Electric Industrial Co., Ltd. | Video coding method and apparatus |
GB2347038A (en) * | 1999-02-18 | 2000-08-23 | Nokia Mobile Phones Ltd | A video codec using re-transmission |
US6668016B1 (en) * | 1999-05-11 | 2003-12-23 | Matsushita Electric Industrial Co., Ltd. | Moving image coding method and apparatus, and moving image coding and decoding system |
KR20010053814A (en) * | 1999-12-01 | 2001-07-02 | 윤종용 | Apparatus and method for selecting coding type of a imagecoding system |
FI116819B (en) | 2000-01-21 | 2006-02-28 | Nokia Corp | Procedure for transferring images and an image encoder |
FI117534B (en) | 2000-01-21 | 2006-11-15 | Nokia Corp | A method for filtering digital images and a filter |
KR100677083B1 (en) | 2000-01-27 | 2007-02-01 | 삼성전자주식회사 | Transmission/receipt data processing method for inhibiting error propagation in digital image data communication system and computer-readable medium therefor |
JP4040826B2 (en) * | 2000-06-23 | 2008-01-30 | 株式会社東芝 | Image processing method and image display system |
US7133455B2 (en) * | 2000-12-29 | 2006-11-07 | Intel Corporation | Providing error resilience and concealment for video data |
US7224730B2 (en) * | 2001-03-05 | 2007-05-29 | Intervideo, Inc. | Systems and methods for decoding redundant motion vectors in compressed video bitstreams |
FR2830159A1 (en) * | 2001-09-24 | 2003-03-28 | Thomson Licensing Sa | CODING PROCEDURE ACCORDING TO THE MPEG STANDARD |
US6996183B2 (en) * | 2001-09-26 | 2006-02-07 | Thomson Licensing | Scene cut detection in a video bitstream |
US6766492B2 (en) * | 2001-11-16 | 2004-07-20 | Intel Corporation | Finite state automaton for control of frame error recovery for a universal serial bus video camera |
WO2003045068A2 (en) * | 2001-11-21 | 2003-05-30 | Canon Kabushiki Kaisha | Method and device for determining at least one multimedia data encoding parameter |
US7020203B1 (en) * | 2001-12-21 | 2006-03-28 | Polycom, Inc. | Dynamic intra-coded macroblock refresh interval for video error concealment |
KR100464003B1 (en) * | 2002-01-08 | 2005-01-03 | 엘지전자 주식회사 | Moving picture encoding method |
US7437009B2 (en) * | 2002-01-16 | 2008-10-14 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus, image coding method, and image coding program for coding at least one still frame with still frame coding having a higher quality than normal frame coding of other frames |
US8443383B2 (en) * | 2002-05-03 | 2013-05-14 | Time Warner Cable Enterprises Llc | Use of messages in program signal streams by set-top terminals |
US7908626B2 (en) * | 2002-05-03 | 2011-03-15 | Time Warner Interactive Video Group, Inc. | Network based digital information and entertainment storage and delivery system |
US7610606B2 (en) * | 2002-05-03 | 2009-10-27 | Time Warner Cable, Inc. | Technique for effectively providing various entertainment services through a communications network |
US8312504B2 (en) | 2002-05-03 | 2012-11-13 | Time Warner Cable LLC | Program storage, retrieval and management based on segmentation messages |
US8392952B2 (en) | 2002-05-03 | 2013-03-05 | Time Warner Cable Enterprises Llc | Programming content processing and management system and method |
DE10261501A1 (en) * | 2002-12-23 | 2004-07-15 | Mobotix Ag | Data reduction procedures |
US7949047B2 (en) * | 2003-03-17 | 2011-05-24 | Qualcomm Incorporated | System and method for partial intraframe encoding for wireless multimedia transmission |
US8175154B2 (en) * | 2003-06-03 | 2012-05-08 | General Instrument Corporation | Method for restructuring a group of pictures to provide for random access into the group of pictures |
KR100584422B1 (en) * | 2003-06-04 | 2006-05-26 | 삼성전자주식회사 | Method and device for compressing image data |
US7826526B2 (en) * | 2003-10-20 | 2010-11-02 | Logitech Europe S.A. | Methods and apparatus for encoding and decoding video data |
US8116370B2 (en) | 2003-10-20 | 2012-02-14 | Logitech Europe S.A. | Methods and apparatus for encoding and decoding video data |
US7634146B2 (en) | 2003-10-20 | 2009-12-15 | Logitech Europe S.A. | Methods and apparatus for encoding and decoding video data |
US20050201470A1 (en) * | 2004-03-12 | 2005-09-15 | John Sievers | Intra block walk around refresh for H.264 |
EP1585061A1 (en) * | 2004-04-07 | 2005-10-12 | Deutsche Thomson-Brandt Gmbh | Block adaptive predictive coding |
US7271749B2 (en) * | 2004-09-14 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Context-based denoiser that simultaneously updates probabilities for multiple contexts |
JP5074924B2 (en) * | 2004-09-16 | 2012-11-14 | トムソン ライセンシング | Fast mode decision method and apparatus for interframe |
US7543064B2 (en) * | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
US8116577B2 (en) * | 2005-03-07 | 2012-02-14 | Sony Corporation | Encoding method, encoding device, encoding process program, and recording medium on which encoding process program is recorded |
US9237347B2 (en) * | 2005-03-21 | 2016-01-12 | The Regents Of The University Of California | Systems and methods for video compression for low bit rate and low latency video communications |
US7738468B2 (en) | 2005-03-22 | 2010-06-15 | Logitech Europe S.A. | Method and apparatus for packet traversal of a network address translation device |
CN101176352B (en) * | 2005-05-20 | 2011-01-19 | Nxp股份有限公司 | Video encoder using a refresh map |
DE102005029127A1 (en) * | 2005-06-23 | 2007-04-19 | On Demand Microelectronics Ag | Method and apparatus for optimized predictive video coding |
US9661376B2 (en) | 2005-07-13 | 2017-05-23 | Polycom, Inc. | Video error concealment method |
US8774272B1 (en) | 2005-07-15 | 2014-07-08 | Geo Semiconductor Inc. | Video quality by controlling inter frame encoding according to frame position in GOP |
US20070140353A1 (en) * | 2005-12-19 | 2007-06-21 | Sharp Laboratories Of America, Inc. | Intra prediction skipping in mode selection for video compression |
JP4851911B2 (en) | 2006-10-23 | 2012-01-11 | 富士通株式会社 | Encoding apparatus, encoding program, and encoding method |
JP4799477B2 (en) * | 2007-05-08 | 2011-10-26 | キヤノン株式会社 | Image coding apparatus and image coding method |
JP4834772B2 (en) * | 2007-11-28 | 2011-12-14 | パナソニック株式会社 | Image encoding method and image encoding apparatus |
US20090231439A1 (en) * | 2008-03-14 | 2009-09-17 | Arkady Kopansky | Method for Propagating Data Through a Video Stream |
JP5050964B2 (en) * | 2008-03-31 | 2012-10-17 | 富士通株式会社 | Decoding device, decoding method, and decoding program |
KR100949917B1 (en) * | 2008-05-28 | 2010-03-30 | 한국산업기술대학교산학협력단 | Fast Encoding Method and System Via Adaptive Intra Prediction |
KR20100027384A (en) * | 2008-09-02 | 2010-03-11 | 삼성전자주식회사 | Method and apparatus for determining a prediction mode |
CN101677406B (en) * | 2008-09-19 | 2011-04-20 | 华为技术有限公司 | Method and apparatus for video encoding and decoding |
JP5347849B2 (en) * | 2009-09-01 | 2013-11-20 | ソニー株式会社 | Image encoding apparatus, image receiving apparatus, image encoding method, and image receiving method |
TWI412282B (en) * | 2009-11-17 | 2013-10-11 | Univ Nat Cheng Kung | Video decoding method and apparatus for concealment of transmission errors |
US20110317762A1 (en) * | 2010-06-29 | 2011-12-29 | Texas Instruments Incorporated | Video encoder and packetizer with improved bandwidth utilization |
EP2536143B1 (en) * | 2011-06-16 | 2015-01-14 | Axis AB | Method and a digital video encoder system for encoding digital video data |
JP2014200074A (en) * | 2013-03-15 | 2014-10-23 | 株式会社リコー | Distribution control system, distribution control method, and program |
JP2015173404A (en) * | 2014-03-12 | 2015-10-01 | 富士通株式会社 | Video image encoding device, video image encoding method, and video image encoding computer program |
CN105405155A (en) * | 2015-10-21 | 2016-03-16 | 努比亚技术有限公司 | Information processing method and mobile terminal |
JP2017103744A (en) * | 2015-12-04 | 2017-06-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Image decoding method, image encoding method, image decoding device, image encoding device and image encoding and decoding device |
JP6081037B1 (en) | 2016-03-29 | 2017-02-15 | 三菱電機株式会社 | Image receiving and reproducing apparatus, image generating and transmitting apparatus, display system, image receiving and reproducing method, image generating and transmitting method, image receiving and reproducing program, and image generating and transmitting program |
RU2699676C1 (en) | 2016-04-19 | 2019-09-09 | Мицубиси Электрик Корпорейшн | Image processing device, an image processing method and an image processing program |
FR3051309A1 (en) * | 2016-05-10 | 2017-11-17 | Bcom | METHODS AND DEVICES FOR ENCODING AND DECODING A DATA STREAM REPRESENTATIVE OF AT LEAST ONE IMAGE |
JP6907888B2 (en) * | 2017-10-30 | 2021-07-21 | 富士通株式会社 | Information processing system, information processing device and information processing program |
EP3809700B1 (en) * | 2019-10-16 | 2022-02-16 | Axis AB | Periodic intra refresh pattern for video encoding |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2589020B1 (en) | 1985-10-22 | 1987-11-20 | Eude Gerard | TRANSFORMATION HYBRID CODING METHOD FOR TRANSMITTING IMAGE SIGNALS |
US5057916A (en) | 1990-11-16 | 1991-10-15 | General Instrument Corporation | Method and apparatus for refreshing motion compensated sequential video images |
KR0166725B1 (en) * | 1993-06-30 | 1999-03-20 | 김광호 | Forced intra-frame coding method |
US5805223A (en) * | 1994-05-25 | 1998-09-08 | Canon Kk | Image encoding apparatus having an intrapicture encoding mode and interpicture encoding mode |
US5812198A (en) * | 1994-05-30 | 1998-09-22 | Ntt Mobile Communications Network, Inc. | Video coding decoding apparatus |
JP3157101B2 (en) | 1996-03-08 | 2001-04-16 | 沖電気工業株式会社 | Image encoding method and image encoding device |
JP3823275B2 (en) * | 1996-06-10 | 2006-09-20 | 富士通株式会社 | Video encoding device |
-
1998
- 1998-01-30 JP JP01925398A patent/JP3905969B2/en not_active Expired - Fee Related
-
1999
- 1999-01-28 US US09/238,885 patent/US6259736B1/en not_active Expired - Lifetime
- 1999-01-29 EP EP19990300670 patent/EP0933948B1/en not_active Expired - Lifetime
- 1999-01-29 DE DE1999638372 patent/DE69938372T2/en not_active Expired - Lifetime
- 1999-01-29 KR KR1019990002859A patent/KR100323344B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0933948A3 (en) | 2000-11-29 |
JP3905969B2 (en) | 2007-04-18 |
DE69938372D1 (en) | 2008-04-30 |
EP0933948A2 (en) | 1999-08-04 |
KR100323344B1 (en) | 2002-02-19 |
KR19990068201A (en) | 1999-08-25 |
EP0933948B1 (en) | 2008-03-19 |
JPH11220733A (en) | 1999-08-10 |
US6259736B1 (en) | 2001-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69938372T2 (en) | Method and device for video coding | |
DE69637343T2 (en) | Video encoding and decoding device | |
DE69620160T2 (en) | Image encoding device and image decoding device | |
DE69839100T2 (en) | Improved video coding using adaptive block parameters for coded / uncoded blocks | |
DE69617901T2 (en) | Moving image decoding method and device for detecting contaminated regions | |
DE69225642T2 (en) | Image coding and transmission system | |
DE69810670T2 (en) | Computational degradation process in an audio-visual compression system | |
DE60028942T2 (en) | VIDEO CODING | |
DE69817460T2 (en) | Image sequence decoding method | |
DE60027955T2 (en) | Method and apparatus for context-based inter / intra coding mode selection | |
DE69724673T2 (en) | Video decoding device for decoding shape and texture signals using inter / intra modes | |
DE69525009T2 (en) | Method for differential coding of motion vectors with mean value prediction | |
DE60220106T2 (en) | Method and device for reducing interference in decoded images with postfiltering | |
DE69435000T2 (en) | Picture coding device | |
DE69928010T2 (en) | INCREASED VIDEO PLAYBACK FREQUENCY IN VIDEO APPLICATIONS | |
DE60023576T2 (en) | Method and apparatus for moving picture data transcoding | |
DE69529137T2 (en) | Scene change adaptive image encoder | |
DE69813911T2 (en) | METHOD FOR DETERMINING MOTION VECTOR FIELDS WITH LOCAL MOTION ESTIMATION | |
DE69635369T2 (en) | The video coding apparatus | |
DE602005005321T2 (en) | METHOD AND DEVICE FOR COORDINATING AN IMAGE SEQUENCE USING PREVIEWED AND NOT PREPARED PICTURES, WHICH INCLUDE MULTIPLE MACRO BLOCKS | |
DE69816875T2 (en) | SEQUENCE ADAPTIVE BIT ASSIGNMENT FOR CODING IMAGES | |
DE102010025816A1 (en) | Methods and systems for estimating motion based on reconstructed reference frames at a video decoder | |
DE69527584T2 (en) | Video coding device | |
DE60312960T2 (en) | Encoding method and decoding method for moving pictures | |
DE69712836T2 (en) | DEVICE AND METHOD FOR VIDEO SIGNAL ENCODING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |