Bundesgerichtshof (Bundesrepublik Deutschland, )
Urteil vom 2024-09-17, Aktenzeichen X ZR 82/23
ECLI: ECLI:DE:BGH:2024:170924UXZR82.23.0

Tenor:
(Nichtigkeitsklage gegen ein europäisches Patent über die Bildcodierung mit geringer Verzögerung - Slice-Segmente)
Auf die Berufung der Beklagten wird das Urteil des 2. Senats (Nichtigkeitssenats) des Bundespatentgerichts vom 17. Februar 2023 abgeändert.
Die Klage wird abgewiesen.
Die Klägerin trägt die Kosten des Rechtsstreits.
Von Rechts wegen

Tatbestand:
Die Beklagte ist Inhaberin des mit Wirkung für die Bundesrepublik Deutschland erteilten europäischen Patents 2 842 318 (Streitpatents), das am 15. April 2013 unter Inanspruchnahme zweier US-amerikanischer Prioritäten vom 13. April 2012 und 29. Juni 2012 angemeldet wurde und die Bildcodierung mit geringer Verzögerung betrifft.
Patentanspruch 1, auf den neun Ansprüche zurückbezogen sind, lautet in der Verfahrenssprache:
Decoder for reconstructing a picture (10) from a datastream (12) into which the picture is coded in units of slices (14) into which the picture (10) is partitioned, wherein the decoder is configured to decode the slices (14) from the datastream (12) in accordance with a slice order (16) and the decoder is responsive to a syntax element portion (18) within a current slice of the slices, so as to decode the current slice in accordance with one of at least two modes (20, 22), andin accordance with a first (20) of the at least two modes, decode the current slice from the datastream (12) using context adaptive entropy decoding (24) including a derivation of contexts across slice boundaries, a continuous update of symbol probabilities of the contexts and an initialization (38, 40) of the symbol probabilities depending on saved states of symbol probabilities of a previously decoded slice, and predictive decoding across the slice boundaries, and in accordance with a second (22) of the at least two modes, decode the current slice from the datastream (12) using context adaptive entropy decoding with restricting the derivation of the contexts so as to not cross the slice boundaries, a continuous update of symbol probabilities of the contexts and an initialization of the symbol probabilities independent on any previously decoded slice, and predictive decoding with restricting the predictive decoding so as to not cross the slice boundaries,wherein the picture (10) is partitioned in coding blocks (32) arranged in rows and columns and having a raster scan order (36) defined among each other, and the decoder is configured to associate each slice (14) with a continuous subset of the coding blocks (32) in the raster scan order (36) so that the subsets follow each other along the raster scan order (36) in accordance with the slice order, and wherein the decoder is configured to save symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to a second coding block (32) in a row in accordance with the raster scan order (36), and,in initializing the symbol probabilities for the context adaptive entropy decoding of the current slice in accordance with the first mode, check as to whether a first coding block of the continuous subset of coding blocks (32) associated with the current slice is a first coding block (32) in a row in accordance with the raster scan order, and, if so, initialize (40) the symbol probabilities for the context adaptive entropy decoding of the current slice depending on the saved symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to a second coding block in a row in accordance with the raster scan order (36), and, if not, initialize (38) the symbol probabilities for the context adaptive entropy decoding of the current slice depending on symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to the end of the previously decoded slice.
Anspruch 15, auf den ein Anspruch zurückbezogen ist, schützt ein Verfahren mit korrespondierenden Merkmalen.
Die Klägerin hat die Nichtigerklärung des Streitpatents im Umfang der Patentansprüche 1 und 15 begehrt und geltend gemacht, der angegriffene Gegenstand sei nicht patentfähig. Die Beklagte hat das Streitpatent in der erteilten Fassung und mit fünf Hilfsanträgen in geänderten Fassungen verteidigt. Das Patentgericht hat das Streitpatent im angegriffenen Umfang für nichtig erklärt.
Dagegen richtet sich die Berufung der Beklagten, die das Streitpatent weiterhin in der erteilten Fassung und hilfsweise mit vier Hilfsanträgen aus erster Instanz verteidigt. Die Klägerin hat im Berufungsverfahren keine Stellungnahme abgegeben. In der mündlichen Verhandlung war sie nicht vertreten.

Entscheidungsgründe:
Die zulässige Berufung, über die der Senat trotz Abwesenheit der Klägerin in der mündlichen Verhandlung durch streitiges Urteil zu entscheiden hat (§ 118 Abs. 4 Satz 1 PatG; BGH, Urteil vom 30. April 1996 - X ZR 114/92, GRUR 1996, 757 - Tracheotomiegerät), ist begründet und führt zur Abweisung der Klage.
I. Das Streitpatent betrifft eine Bildcodierung mit geringer Verzögerung.
1. Nach der Beschreibung des Streitpatents sahen die im Stand der Technik bekannten Codierverfahren nach den Standards H.264/AVC und H.265/HEVC eine parallele Verarbeitung von Bilddaten vor. Dabei würden Bilder in Stücke (slices) aufgeteilt, die aus einer beliebigen Anzahl von aufeinanderfolgenden Bildblöcken (bei H.264: Macroblocks; bei H.265: Coding Tree Units) bestünden.
H.264 sehe nur normale (regular) Slices vor. Dies ermögliche nur eine geringe Kompression, weil solche Slices die Abhängigkeiten für Entropiedecodierung und Prädiktion durchbrächen (Abs. 4), d.h. Daten aus anderen Slices für keine der beiden genannten Codierungsarten herangezogen werden könnten.
Der H.265-Standard sehe drei weitere Ansätze vor: So genannte Entropie-Slices schlössen zwar eine Entropiedecodierung über die Grenzen von Slices hinweg aus, ermöglichten aber eine Prädiktionscodierung (Abs. 5). Bei der Wellenfrontparallelverarbeitung (Wavefront Parallel Processing - WPP) würden die Bildpartitionen zeilenverschachtelt decodiert, so dass Entropiedecodierung und Prädiktion aufgrund von Daten aus anderen Partitionen möglich seien (Abs. 7). Ferner sei eine Partitionierung in Kacheln (tiles) möglich, bei der zusätzlich eine Aufteilung durch Spalten (columns) erfolge. Diese erlaubten weder eine Prädiktionscodierung noch eine Entropiecodierung, hätten aber den Vorteil, dass nicht jede Kachel einen Daten-Header aufweisen müsse (Abs. 8).
Auch diese zusätzlichen Ansätze ermöglichten jedoch keine hohe Komprimierungsleistung und keine geringe Ende-zu-Ende-Verzögerung (Abs. 11).
2. Das Streitpatent betrifft vor diesem Hintergrund das technische Problem, eine Codierung und Decodierung mit gesteigerter Kompressionseffizienz und geringer Verzögerung bereitzustellen.
3. Zur Lösung schlägt das Streitpatent in Patentanspruch 1 einen Decodierer vor, dessen Merkmale sich wie folgt gliedern lassen:
1.1
Decoder for reconstructing a picture (10) from a datastream (12) into which the picture is coded in units of slices (14) into which the picture (10) is partitioned,
Ein Decodierer zum Rekonstruieren eines Bildes (10) aus einem Datenstrom (12), in den das Bild in Einheiten von Slices (14) codiert ist, in die das Bild (10) partitioniert ist,
1.2
wherein the decoder is configured to decode the slices (14) from the datastream (12) in accordance with a slice order (16) and
wobei der Decodierer dazu ausgebildet ist, die Slices (14) gemäß einer Slice-Reihenfolge (16) aus dem Datenstrom (12) zu decodieren, und
1.3
the decoder is responsive to a syntax element portion (18) within a current slice of the slices, so as to decode the current slice in accordance with one of at least two modes (20, 22), and
der Decodierer auf einen Syntaxelementabschnitt (18) innerhalb eines aktuellen Slices anspricht, um dieses gemäß einem von zumindest zwei Modi (20, 22) aus dem Datenstrom (12) zu decodieren, und zwar
1.3.1a
in accordance with a first (20) of the at least two modes, decode the current slice from the datastream (12) using context adaptive entropy decoding (24) including a derivation of contexts across slice boundaries, a continuous update of symbol probabilities of the contexts and an initialization (38, 40) of the symbol probabilities depending on saved states of symbol probabilities of a previously decoded slice,
gemäß einem ersten (20) der zumindest zwei Modi unter Verwendung von kontextadaptiver Entropiedecodierung (24) einschließlich einer Ableitung von Kontexten über Slice-Grenzen hinweg, einer fortlaufenden Aktualisierung von Symbolwahrscheinlichkeiten der Kontexte und einer Initialisierung (38, 40) der Symbolwahrscheinlichkeiten abhängig von gespeicherten Zuständen von Symbolwahrscheinlichkeiten eines zuvor decodierten Slices
1.3.1b
and predictive decoding across the slice boundaries, and
sowie prädiktiver Decodierung über die Slice-Grenzen hinweg und
1.3.2a
in accordance with a second (22) of the at least two modes, decode the current slice from the datastream (12) using context adaptive entropy decoding with restricting the derivation of the contexts so as to not cross the slice boundaries, a continuous update of symbol probabilities of the contexts and an initialization of the symbol probabilities independent on any previously decoded slice, and
gemäß einem zweiten (22) der zumindest zwei Modi unter Verwendung von kontextadaptiver Entropiedecodierung mit einem Beschränken der Ableitung der Kontexte, um die Slice-Grenzen nicht zu überschreiten, einer fortlaufenden Aktualisierung von Symbolwahrscheinlichkeiten der Kontexte und einer Initialisierung der Symbolwahrscheinlichkeiten unabhängig von jeglichem zuvor decodierten Slice
1.3.2b
predictive decoding with restricting the predictive decoding so as to not cross the slice boundaries,
sowie prädiktiver Decodierung mit einem Beschränken der prädiktiven Decodierung, um die Slice-Grenzen nicht zu überschreiten,
1.4
wherein the picture (10) is partitioned in coding blocks (32) arranged in rows and columns and having a raster scan order (36) defined among each other, and
wobei das Bild (10) in Codierblöcke (32) partitioniert ist, die in Zeilen und Spalten angeordnet sind und eine untereinander definierte Rasterabtastreihenfolge (36) aufweisen, und
1.5
the decoder is configured to associate each slice (14) with a continuous subset of the coding blocks (32) in the raster scan order (36) so that the subsets follow each other along the raster scan order (36) in accordance with the slice order, and
der Decodierer dazu ausgebildet ist, jedes Slice (14) einem fortlaufenden Teilsatz der Codierblöcke (32) in der Rasterabtastreihenfolge (36) zuzuordnen, so dass die Teil-sätze einander entlang der Rasterabtastreihenfolge (36) gemäß der Slice-Reihenfolge folgen, und
1.6
wherein the decoder is configured to save symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to a second coding block (32) in a row in accordance with the raster scan order (36),
wobei der Decodierer dazu ausgebildet ist, Symbolwahrscheinlichkeiten, wie bei einer kontextadaptiven Entropiedecodierung des zuvor decodierten Slices bis zu einem zweiten Codierblock (32) in einer Zeile gemäß der Rasterabtastreihenfolge (36) erhalten, zu speichern, und
1.6.1
and, in initializing the symbol probabilities for the context adaptive entropy decoding of the current slice in accordance with the first mode, check as to whether a first coding block of the continuous subset of coding blocks (32) associated with the current slice is a first coding block (32) in a row in accordance with the raster scan order, and,
bei einem Initialisieren der Symbolwahrscheinlichkeiten für die kontextadaptive Entropiedecodierung des aktuellen Slices gemäß dem ersten Modus zu überprüfen, ob ein erster Codierblock des fortlaufenden Teilsatzes von Codierblöcken (32), der dem aktuellen Slice zugeordnet ist, ein erster Codierblock (32) in einer Zeile gemäß der Rasterabtastreihenfolge ist, und,
1.6.2
if so, initialize (40) the symbol probabilities for the context adaptive entropy decoding of the current slice depending on the saved symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to a second coding block in a row in accordance with the raster scan order (36), and,
falls dies zutrifft, die Symbolwahrscheinlichkeiten für die kontextadaptive Entropiedecodierung des aktuellen Slices abhängig von den gespeicherten Symbolwahrscheinlichkeiten, wie bei der kontextadaptiven Entropiedecodierung des zuvor decodierten Slices bis zu einem zweiten Codierblock in einer Zeile gemäß der Rasterabtastreihenfolge (36) erhalten, zu initialisieren (40), und,
1.6.3
if not, initialize (38) the symbol probabilities for the context adaptive entropy decoding of the current slice depending on symbol probabilities as obtained in context adaptive entropy decoding the previously decoded slice up to the end of the previously decoded slice.
falls dies nicht zutrifft, die Symbolwahrscheinlichkeiten für die kontextadaptive Entropiedecodierung des aktuellen Slices abhängig von Symbolwahrscheinlichkeiten, wie bei der kontextadaptiven Entropiedecodierung des zuvor decodierten Slices bis zu dem Ende des zuvor decodierten Slices erhalten, zu initialisieren (38).
4. Einige Merkmale bedürfen der näheren Erläuterung.
a) Wie das Patentgericht im Ansatz zu Recht angenommen hat, ist ein Slice im Sinne von Merkmal 1.1 ein Strukturelement, mit dem ein Bild in verschiedene Einheiten unterteilt werden kann.
Dieses Verständnis ergibt sich aus dem Wortlaut des Merkmals und den damit übereinstimmenden Angaben in der Beschreibung, wonach der Decodierer aus einem Datenstrom ein Bild rekonstruiert, das in Einheiten von Slices partitioniert wurde (Abs. 124).
b) Patentanspruch 1 legt nicht fest, dass die Slices in Übereinstimmung mit einem der in der Beschreibung angeführten Standards zu bilden sind.
aa) Aus Merkmal 1.4, wonach das Bild in Codierblöcke partitioniert ist, die in Zeilen und Spalten angeordnet sind und eine definierte Rasterabtastreihenfolge aufweisen, und aus Merkmal 1.5, wonach der Decodierer in der Lage ist, jedes Slice einem fortlaufenden Teilsatz der Codierblöcke in der Rasterabtastreihenfolge zuzuordnen, ergibt sich allerdings, dass ein Slice aus einer Sequenz von Codierblöcken besteht, die aufeinanderfolgenden Bereichen des abgetasteten Bildes entsprechen.
Daraus folgt jedoch nicht, dass die Codierblöcke entsprechend den Standards H.264 oder H.265 gebildet werden müssen. Patentanspruch 1 nimmt auf diese Standards nicht Bezug.
bb) Dieses Verständnis steht in Einklang mit der Beschreibung des Streitpatents.
Nach der Beschreibung sieht der Standard H.265 vor, die Abtastwerte in Einheiten von Codierbaumblöcken (coding treeblocks, CTB) zu verarbeiten und weiter aufzuteilen, bis ein Blatt (leaf) erreicht ist. Ein solches Blatt wird als Codierblock bezeichnet (Abs. 46, 48, 50; Fig. 9).
Nach dem Streitpatent kann ein Codierblock demgegenüber auch aus einem vollständigen Codierbaumblock bestehen (Abs. 130, 144, Fig. 25).
c) Patentanspruch 1 gibt auch nicht vor, an welcher Stelle ein neues Slice beginnen muss.
aa) In den Figuren 14, 18 und 20 und 25 und den darauf bezogenen Ausführungen in der Beschreibung (Abs. 91-94, Abs. 99 S. 12 Z. 4-13, Abs. 99 S. 12 Z. 19-23) werden allerdings Slices dargestellt, die jeweils einer Zeile des abgetasteten Bildes entsprechen. In den Figuren 24 und 25 und den darauf bezogenen Ausführungen (Abs. 124 f., Abs. 127-130) werden Slices dargestellt, die jeweils einer halben Zeile entsprechen.
Hierbei handelt es sich jedoch um Ausführungsbeispiele. Die darin gewählte Einteilung hat in Patentanspruch 1 keinen Niederschlag gefunden.
bb) Nach der Merkmalsgruppe 1.6 hängt die Bestimmung der Symbolwahrscheinlichkeiten, die für Slice-übergreifende Entropiedecodierung eingesetzt werden, davon ab, ob ein erster Codierblock des aktuellen Slices ein erster Codierblock in einer Zeile gemäß der Rasterabtastreihenfolge ist, also dem Beginn einer Zeile des abgetasteten Bildes entspricht.
Dies spricht dafür, dass die Einteilung der Slices nicht mit der Einteilung des abgetasteten Bildes in Zeilen oder Spalten übereinstimmen muss. Wenn eine solche Übereinstimmung zwingend wäre, bedürfte es der in Merkmal 1.6 vorgesehenen Überprüfung nicht.
d) Von grundlegender Bedeutung ist die in Merkmalsgruppe 1.3 vorgesehene Differenzierung zwischen Slices, die eine die Grenzen überschreitende Prädiktions- und Entropiedecodierung ermöglichen, und Slices, die keine dieser beiden Möglichkeiten bieten.
aa) Nach der Beschreibung des Streitpatents kann die Ende-zu-Ende-Verzögerung bei einer Parallelverarbeitung deutlich reduziert werden, wenn die Beschränkung auf Slices, die vollständig oder zumindest hinsichtlich der Entropie unabhängig von anderen Slices codiert und decodiert werden, aufgegeben wird und stattdessen Slices mit unterschiedlichen Modi eingesetzt werden.
Als hierfür geeignete Vorgehensweise benennt die Beschreibung die Unterscheidung zwischen normalen oder unabhängigen Slices, die keine Abhängigkeiten über Slice-Grenzen hinweg ermöglichen, und abhängigen Slices, die solche Abhängigkeiten ermöglichen (Abs. 15).
bb) Patentanspruch 1 greift diese Differenzierung in Merkmalsgruppe 1.3 auf und konkretisiert sie dahin, dass in einem ersten Modus sowohl eine Entropie- als auch eine Prädiktionsdecodierung über Slice-Grenzen hinweg möglich sein muss, während in einem zweiten Modus beide Arten der Decodierung nur innerhalb der Slice-Grenzen stattfinden dürfen.
(1) Der in den Merkmalen 1.3.2a und 1.3.2b spezifizierte zweite Modus, bei dem eine Überschreitung von Slice-Grenzen ausgeschlossen ist, kann mit Hilfe der aus den Standards H.264 und H.265 bekannten normalen Slices realisiert werden. Eine Festlegung auf einen dieser Standards enthält Patentanspruch 1 jedoch auch insoweit nicht.
Die im Standard H.265 vorgesehenen Slices, bei denen eine grenzüberschreitende Decodierung nur hinsichtlich der Entropiedecodierung ausgeschlossen ist, genügen den insoweit einschlägigen Anforderungen hingegen nicht. Nach den Merkmalen 1.3.2a und 1.3.2b muss sowohl die Prädiktions- als auch die Entropiecodierung innerhalb der Slice-Grenzen erfolgen.
(2) Der in den Merkmalen 1.3.1a und 1.3.1b spezifizierte erste Modus sieht demgegenüber für beide Arten der Decodierung eine Überschreitung von Slice-Grenzen vor.
(a) Bei der kontextadaptiven Entropiedecodierung kann die in Merkmal 1.3.1a definierte Anforderung dadurch erfüllt werden, dass der Decoder Informationen verwendet, die aus anderen Slices stammen.
In welchem Umfang dies geschieht, wie viele andere Slices berücksichtigt werden und wo diese angeordnet sind, ist in Patentanspruch 1 nicht festgelegt. Demgemäß reicht es aus, wenn Informationen aus einem einzigen anderen Slice herangezogen werden.
Insbesondere ist nicht abschließend vorgegeben, wie der Kontext ausgewählt wird. Bei einem in der Beschreibung geschilderten Ausführungsbeispiel wird zwar der räumliche Nachbarbereich des aktuellen Bildabschnitts ausgewählt (Figur 25 mit Bezugszeichen 34; Abs. 132, 134, 137). Diese Ausgestaltung hat in Patentanspruch 1 aber keinen Niederschlag gefunden.
(aa) Dieses Verständnis steht in Einklang mit der Beschreibung des in Figur 20 dargestellten Ausführungsbeispiels.
Danach kann es zur Verbesserung der Robustheit vorteilhaft sein, normale Slices (RS) als Anker zu verwenden, auf die abhängige Slices (DS) folgen, die im ersten Modus decodiert werden. Das normale Slice durchbricht dabei Abhängigkeiten zu vorhergehenden Slices (Abs. 99 S. 12 Z. 20-22).
Bei dieser Ausgestaltung kann jedenfalls das erste abhängige Slice nur auf Daten des ihm unmittelbar vorangehenden normalen Slices zurückgreifen. Bei nachfolgenden abhängigen Slices können hingegen die Daten mehrerer Vorgänger verwendet werden.
(bb) Das aufgezeigte Verständnis steht ferner in Einklang mit Merkmalsgruppe 1.6.
Nach Merkmalsgruppe 1.6 muss der Decodierer in der Lage sein, bei der kontextadaptiven Entropiedecodierung eines Slices dieselben Symbolwahrscheinlichkeiten heranzuziehen wie bei dem zuvor decodierten Slice. In Abhängigkeit von dem in Merkmal 1.6.1 definierten Kriterium ist hierfür nur ein Teilbereich des vorherigen Slices maßgeblich (Merkmal 1.6.2) oder das vorherige Slice in seiner Gesamtheit (Merkmal 1.6.3).
Dies bestätigt, dass es bei einer Slice-Grenzen überschreitenden Decodierung ausreicht, Werte aus einem einzigen vorhergehenden Slice heranzuziehen.
(b) Bei der prädiktiven Decodierung kann die in Merkmal 1.3.1b normierte Anforderung zum Beispiel dadurch erfüllt werden, dass Abtastwerte innerhalb des aktuellen Slices auf der Basis von bereits rekonstruierten Abtastwerten eines in Slice-Reihenfolge vorausgehenden Slices vorhergesagt werden oder dass die Prädiktion von Codierparametern über mehrere Slices hinweg einheitlich erfolgt (Abs. 125, 133).
Auch insoweit enthält Patentanspruch 1 keine Vorgabe zur Anzahl der Slices oder zum Umfang der Parameter, die in die Prädiktion einbezogen werden.
cc) Zur Unterscheidung der unterschiedlichen Modi sieht Merkmal 1.3 ein Syntaxelement vor, aus dem sich ergibt, ob das Slice nach dem ersten oder dem zweiten Modus zu decodieren ist.
Wie dieses Syntaxelement ausgestaltet ist, lässt Patentanspruch 1 offen.
Nach der Beschreibung kann sich dieses Syntaxelement bei abhängigen Slices auf einen Parameter beschränken, der den Slice-Typ anzeigt (Abs. 153, Fig. 16 bei Bezugszeichen 100). Ausreichend ist sogar, ein abhängiges Slice dadurch zu kennzeichnen, dass es keinen diesbezüglichen Syntaxabschnitt aufweist (Fig. 21 bei Bezugszeichen 102).
e) Im Ansatz zu Recht ist das Patentgericht davon ausgegangen, dass ein Slice im Sinne von Patentanspruch 1 ein Segment einer größeren Einheit sein kann, die ebenfalls als Slice angesehen werden kann.
aa) Bei einem in der Beschreibung des Streitpatents geschilderten Ausführungsbeispiel werden Slices in leicht abgewandelter Begriffsbildung (a slightly different wording) als Abschnitte definiert, die aus einem unabhängigen Slice im Sinne der vorangehenden Ausführungsbeispiele und gegebenenfalls einem oder mehreren abhängigen Slices in diesem Sinne bestehen. Diese Bestandteile werden als Slice-Segmente bezeichnet (Abs. 154, 156).
Bei dieser Ausführungsform übernehmen abhängige Slice-Segmente Daten aus anderen Segmenten nicht nur, um Entropiekontexte schneller anzupassen und eine bessere räumliche Prädiktion zu ermöglichen. Vielmehr leiten sie auch einen Teil der Header-Syntax von einem vorangegangenen Slice ab. Unabhängige Slice-Segmente sind nach diesem Verständnis dadurch definiert, dass ihre Header-Syntax vollständig einstellbar ist (Abs. 154, 156).
bb) Dieses Ausführungsbeispiel verwirklicht alle Merkmale von Patentanspruch 1.
Dies ergibt sich daraus, dass die bei diesem Beispiel als Slice-Segmente bezeichneten Untereinheiten als Slice im Sinne von Merkmal 1.1 angesehen werden können und alle Anforderungen der übrigen Merkmale verwirklichen.
Dass diese Slice-Segmente nicht dieselbe Struktur haben wie die aus den Standards H.264 und H.265 bekannten Slices, ist unerheblich, weil Patentanspruch 1 nicht auf einen dieser Standards festgelegt ist.
cc) Entgegen der Auffassung des Patentgerichts führen die Ausführungen zu dem abgewandelten Ausführungsbeispiel nicht zu einer Änderung des Bedeutungsgehalts von Patentanspruch 1.
(1) Zu Recht ist das Patentgericht davon ausgegangen, dass die Merkmale 1.3.1a und 1.3.1b für den ersten Modus eine Berücksichtigung von Daten aus vorangegangenen Slices auch dann zulassen, wenn dazwischen ein unabhängiges Slice angeordnet ist.
Wie bereits oben dargelegt wurde und das Patentgericht zutreffend angenommen hat, kommt bei dem in Figur 20 dargestellten Ausführungsbeispiel den unabhängigen Slices eine Ankerfunktion in dem Sinne zu, dass nachfolgende abhängige Slices nicht auf Daten von Slices zurückgreifen können, die vor dem Anker-Slice decodiert worden sind.
Wie das Patentgericht ebenfalls zutreffend angenommen hat, ist eine solche Ausgestaltung jedoch nicht zwingend.
Bei dem in Figur 20 dargestellten Ausführungsbeispiel ergibt sich die beschriebene Ankerfunktion nach den Feststellungen des Patentgerichts aus dem Umstand, dass das unabhängige Slice einer gesamten Zeile des abgetasteten Bildes entspricht. Wie bereits oben dargelegt wurde, gibt Patentanspruch 1 eine solche Einteilung der Slices nicht zwingend vor.
(2) Selbst wenn mit dem Patentgericht unterstellt wird, dass bei übergeordneten Slices im Sinne der abgewandelten Begriffsbildung ein Rückgriff auf Slice-Segmente, die dem ersten Segment des aktuellen Slices vorangegangen sind, generell ausgeschlossen ist, führt dies weder zu einem erweiterten noch zu einem abgewandelten Verständnis von Patentanspruch 1.
(a) Auch unter dieser Prämisse sind die Merkmale 1.3.1a und 1.3.1b bei der abgewandelten Ausführungsform schon auf der Grundlage des aus der ersten Ausführungsform abgeleiteten Verständnisses erfüllt.
Wie oben dargelegt wurde, geben diese Merkmale eine Ankerfunktion eines unabhängigen Slices zwar nicht vor; sie schließen eine solche Funktion aber auch nicht aus.
Die genannten Merkmale geben zudem nicht vor, dass diese Funktion nur auf bestimmte Art und Weise verwirklicht werden darf, etwa durch eine Einteilung der Slices entsprechend den einzelnen Zeilen des abgetasteten Bildes.
Vor diesem Hintergrund stellt sich die zweite Ausführungsform lediglich als weiteres Ausführungsbeispiel dar, das - wenn auch mit teilweise anderen Mitteln - alle Merkmale verwirklicht, die Patentanspruch 1 vor dem Hintergrund der ersten Ausführungsform vorschreibt.
(b) Die Berücksichtigung der zweiten Ausführungsform führt auch nicht dazu, dass die Merkmale von Patentanspruch 1 in sonstigen Beziehungen anders auszulegen sind als vor dem Hintergrund der ersten Ausführungsform.
Dabei kann unterstellt werden, dass zur Kennzeichnung eines unabhängigen Slice-Segments im Sinne der zweiten Ausführungsform besondere Syntaxelemente erforderlich sind, die bei der ersten Ausführungsform nicht benötigt werden. Daraus ergäbe sich schon deshalb kein abweichendes Verständnis des Patentanspruchs, weil Merkmal 1.3 nicht vorgibt, wie die Syntaxelemente im Einzelnen ausgestaltet sind, und insbesondere nicht ausschließt, ein besonderes Syntaxelement einzusetzen, das eine Ankerfunktion im oben dargestellten Sinne anzeigt.
(3) Eine Änderung des Bedeutungsgehalts ergibt sich auch nicht daraus, dass die abgewandelte Ausführungsform zusätzlich zur Slice-übergreifenden Übernahme von Daten für die Entropie- und die prädiktive Decodierung auch die Übernahme von Teilen der Header-Syntax des unabhängigen Slice-Segments vorsieht.
Diese Funktion mag für die aus den Standards H.264 und H.265 bekannten Slices nicht bekannt gewesen sein. Sie ist durch Patentanspruch 1 jedoch auch bei alleiniger Berücksichtigung der ersten Ausführungsform nicht ausgeschlossen. Wie bereits oben erwähnt wurde, weist die Beschreibung schon im Zusammenhang mit der ersten Ausführungsform darauf hin, dass abhängige Slices keinen vollständigen Syntaxabschnitt aufweisen müssen, sondern Syntaxelemente aus dem vorangehenden unabhängigen Slice übernehmen können und dass es sogar ausreicht, ein abhängiges Slice dadurch zu kennzeichnen, dass es keinen diesbezüglichen Syntaxabschnitt aufweist (Abs. 153).
(4) Vor diesem Hintergrund ergibt sich aus Beschreibung der zweiten Ausführungsform kein abweichendes Verständnis von Patentanspruch 1.
Die in Patentanspruch 1 vorgesehenen Merkmale sind vielmehr bei beiden Ausführungsformen in grundsätzlich gleicher Weise verwirklicht. Die zweite Ausführungsform weist zwar zusätzliche Funktionen auf. Diese treten aber neben die im Patentanspruch vorgesehenen Merkmale und haben keine Auswirkungen auf deren Bedeutungsgehalt.
5. Patentanspruch 15 kleidet die in Patentanspruch 1 für die Vorrichtung definierten Funktionen in Verfahrensschritte. Dieser Anspruch unterliegt derselben Beurteilung wie Patentanspruch 1.
II. Das Patentgericht hat seine Entscheidung im Wesentlichen wie folgt begründet:
Das Streitpatent nehme die Prioritäten nicht wirksam in Anspruch.
Aus den Prioritätsunterlagen (US 61/624098, 1NK6; US 61/666185, 1NK7) habe der Fachmann, ein Hochschul-Absolvent aus dem Bereich der Informationstechnik, Informatik oder Elektrotechnik mit mehrjähriger Berufserfahrung auf dem Gebiet der Entwicklung von digitaler Videocodierung und -decodierung, nicht die Lehre entnehmen können, herkömmliche Slices in unabhängige und abhängige Slice-Segmente zu unterteilen und diese Segmente als kleinste Einheiten für die Video-Paketierung zu verwenden.
1NK6 lehre lediglich, dass in einer ganz bestimmten geometrischen Konstellation gemäß Figur 13 ein unabhängiges Slice als Anker zur Brechung der Abhängigkeit zu den früheren Slices fungieren könne. Es fehle jedoch an einer Offenbarung, dass eine Gruppe aus einem unabhängigen Slice und darauffolgenden abhängigen Slices für beliebige geometrische Anordnungen eine logische Einheit bilde. Ebenso wenig sei offenbart, dass diese Gruppe die Eigenschaften eines herkömmlichen Slices habe, das Prädiktions- und Entropiedecodierung an seinen Grenzen immer breche.
Infolgedessen handele es sich bei der neunten Version der Eingabe für den High Efficiency Video Coding (HEVC)-Standard (JCTVC-K1003§v13), die bei dem 11. Treffen des Joint Collaboration Team – Video Coding vom 10. bis 19. Oktober 2012 in Shanghai vorgestellt und am 18. Dezember 2012 veröffentlicht wurde (2NK4), um maßgeblichen Stand der Technik. Diese Entgegenhaltung nehme den Gegenstand der Patentansprüche 1 und 15 vollständig vorweg.
Auch der Gegenstand der Hilfsanträge könne die Patentfähigkeit gegenüber 2NK4 nicht begründen.
III. Diese Beurteilung hält der Überprüfung im Berufungsverfahren nicht stand.
1. Das Streitpatent nimmt zu Recht die Priorität der Anmeldung 1NK6 in Anspruch.
a) Gemäß Art. 87 Abs. 1 EPÜ kann bei der Anmeldung eines europäischen Patents die Priorität einer vorangegangenen Anmeldung in Anspruch genommen werden, wenn diese dieselbe Erfindung betrifft.
Diese Voraussetzung ist nach der Rechtsprechung des Senats erfüllt, wenn die mit der späteren Anmeldung beanspruchte Merkmalskombination in der früheren Anmeldung in ihrer Gesamtheit als zu der angemeldeten Erfindung gehörend offenbart ist. Der dafür maßgebliche Offenbarungsgehalt der ersten Anmeldung ist nicht auf die darin formulierten Ansprüche beschränkt; er ist vielmehr aus der Gesamtheit der Anmeldeunterlagen zu ermitteln.
Für die Beurteilung der identischen Offenbarung gelten die Prinzipien der Neuheitsprüfung. Danach ist erforderlich, dass die im Anspruch bezeichnete technische Lehre der Voranmeldung unmittelbar und eindeutig als mögliche Ausführungsform der Erfindung zu entnehmen ist (BGH, Urteil vom 11. Dezember 2014 - X ZR 107/12, GRUR 2014, 542 Rn. 20 f. - Kommunikationskanal).
b) Die danach maßgeblichen Voraussetzungen sind im Streitfall erfüllt.
aa) Wie auch das Patentgericht angenommen hat, offenbart 1NK6 einen Decoder, der Slices im Sinne der Merkmale 1.1 und 1.2 und hierbei in Abhängigkeit von Syntaxelementen im Sinne von Merkmal 1.3 zwei Modi anwendet, von denen der erste eine Entropiedecodierung und eine prädiktive Decodierung über Slice-Grenzen hinweg ermöglicht, während der zweite Modus keine dieser beiden Möglichkeiten bietet.
Bei dem in Figur 13 von 1NK6 dargestellten Ausführungsbeispiel - das dem Beispiel in Figur 20 des Streitpatents entspricht - kommt den unabhängigen Slices zudem eine Anker-Funktion zu, weil sie einer gesamten Zeile des abgetasteten Bildes entsprechen. Diese Ausgestaltung ist jedoch nicht zwingend vorgeschrieben. 1NK6 lässt vielmehr ebenso wie das Streitpatent offen, nach welchen Kriterien die Einteilung der Slices erfolgt.
1NK6 offenbart ferner, dass ein abhängiges Slice keinen vollständigen Syntaxelementabschnitt aufweisen muss, sondern einzelne Syntaxelemente aus einem vorangehenden unabhängigen Slice abgeleitet werden können (S. 24 Abs. 1).
Wie auch das Patentgericht im Ansatz zutreffend gesehen hat, entsprechen die Festlegungen in dem mit "Summarizing" überschriebenen Abschnitt 2.1.3, die nach Form und Inhalt einem Patentanspruch nachgebildet sind, im Wesentlichen den Merkmalen von Patentanspruch 1.
bb) Vor diesem Hintergrund ist entgegen der Auffassung des Patentgerichts unerheblich, dass der Begriff des Slice-Segments und die im Zusammenhang damit im Streitpatent offenbarte zweite Ausführungsform in 1NK6 keine Erwähnung findet.
Diese Abweichung wäre allerdings von Bedeutung, wenn sich aus den Ausführungen zur zweiten Ausführungsform ein abweichendes Verständnis der in 1NK6 offenbarten Merkmale ergäbe oder wenn Merkmale von Patentanspruch 1 nur durch diese Ausführungsform offenbart wären.
Wie bereits oben dargelegt wurde, führt die Berücksichtigung der zweiten Ausführungsform im Streitfall jedoch nicht zu einem abweichenden Verständnis von Patentanspruch 1. Da 1NK6 alle Merkmale dieses Anspruchs als zur Erfindung gehörend offenbart, geht der Gegenstand des Streitpatents mithin nicht über den Gegenstand von 1NK6 hinaus.
Dass das Streitpatent im Zusammenhang mit der zweiten Ausführungsform zusätzliche Funktionen offenbart, die sich aus 1NK6 nicht ergeben, ist für die Beurteilung des Streitfalls unerheblich, weil Patentanspruch 1 diese Funktionen nicht vorsieht und 1NK6 ihre Verwirklichung weder ausdrücklich noch konkludent ausschließt.
2. Folglich gehört die vor dem Prioritätsdatum veröffentlichte Entgegenhaltung 2NK4 nicht zum Stand der Technik.
IV. Die Entscheidung des Patentgerichts stellt sich nicht aus anderen Gründen als im Ergebnis richtig dar (§ 119 Abs. 1 PatG).
1. Der Gegenstand von Patentanspruch 1 ist durch den Standardisierungsbeitrag mit dem Titel "Wavefront Parallel Processing for HEVC Encoding and Decoding" (JCTVC-F274) für das sechste Treffen des JCT-VC vom 14. bis 22. Juli 2011 in Turin (1NK9) weder offenbart noch nahegelegt.
a) 1NK9 betrifft ein Verfahren zur parallelen Videocodierung und -decodierung mit HEVC.
aa) Nach dem Standard HEVC wird ein Bild zeilen- und spaltenweise in größte Codiereinheiten (Largest Coding Units - LCUs) partitioniert, die in einer Rasterabtastreihenfolge verarbeitet werden (Abschn. 2).
Um eine aktuelle Largest Coding Unit zu codieren, müssen die links, links oben, oben und rechts oben gelegenen Units bereits verfügbar sein. Die erste Largest Coding Unit in einer Zeile verwendet die CABAC-Wahrscheinlichkeiten (Context-based Adaptive Binary Arithmetic Coding), die nach der Verarbeitung der letzten Largest Coding Unit der vorherigen Zeile verfügbar sind (Abschn. 2).
Aufgrund der Abhängigkeit der CABAC-Wahrscheinlichkeiten bei der ersten Largest Coding Unit ist es nicht möglich, vor dem Ende einer Zeile die Verarbeitung weiterer Zeilen zu starten (Abschn. 3, Fig. 2).
Eine Lösung, bei der die CABAC-Wahrscheinlichkeiten am Anfang jeder Zeile neu initialisiert werden, wie dies bei Entropie-Slices in der HEVC Referenzsoftware HM3.0 erfolgt, geht mit einem großen Leistungsverlust einher (Abschn. 3, Fig. 2). Um die Leistungseinbußen zu verringern, muss vermieden werden, dass die bereits gewonnenen Wahrscheinlichkeiten verloren gehen.
bb) Daher schlägt 1NK9 vor, die CABAC-Wahrscheinlichkeiten der ersten Largest Coding Unit jeder Zeile mit den Wahrscheinlichkeiten zu initialisieren, die nach der Verarbeitung der zweiten Largest Coding Unit der oberen Zeile erhalten wurden (Abschn. 4).
Dies kann ohne Änderung der Wellenfrontstruktur durchgeführt werden, da die zweite Largest Coding Unit der oberen Zeile immer verfügbar ist. Es ist lediglich ein zusätzlicher Wahrscheinlichkeitspuffer erforderlich. Wenn die Verarbeitung der zweiten Largest Coding Unit einer Zeile abgeschlossen ist, müssen die CABAC-Wahrscheinlichkeiten in den Puffer geschrieben werden, die sodann bei der Verarbeitung der ersten Largest Coding Unit der Zeile abgerufen werden können (Abschn. 4).
cc) Zur Signalisierung wird ein Picture Parameter Set verwendet, das die Syntaxelemente entropy_coding_synchro und num_substreams_minus1 umfasst (Abschn. 9, S. 10).
Das Syntaxelement entropy_coding_synchro gibt an, ob ein spezifischer Synchronisations- und Speicherprozess für Kontextvariablen vor dem Decodieren des ersten Macroblocks einer Zeile von Macroblöcken aufgerufen wird (Abschn. 9 S. 12). Beträgt dessen Wert beispielsweise 2, erfolgt die Initialisierung der CABAC-Wahrscheinlichkeiten der ersten Largest Coding Unit einer jeweiligen Zeile mit den gespeicherten Wahrscheinlichkeiten der zweiten Largest Coding Unit aus der vorhergehenden Zeile.
Ist der Wert dieses Syntaxelements ungleich 0, wird zugleich das Syntaxelement num_substreams_minus1 verwendet, welches die Anzahl von Substreams bei der parallelen Verarbeitung angibt (Abschn. 9 S. 11 f.).
Diese Anzahl von Substreams wird im Slice-Datenkopf (slice header) durch die Syntaxelemente substream_length_mode und substream_length[i] signalisiert (Abschn. 9 S. 11 f.).
Diese signalisieren eine Tabelle BitStreamTable[i], die Zeiger enthält, welche auf die Anfänge der codierten LCU-Zeilen (Substreams) im Bitstrom zeigen (Anhang S. 14 f.).
b) Damit offenbart 1NK9 die Merkmale 1.1, 1.4 und 1.6.
aa) Nicht offenbart sind jedenfalls die Merkmale 1.6.1, 1.6.2 und 1.6.3.
1NK9 enthält keine Hinweise darauf, dass eine Überprüfung stattfindet, ob es sich bei der aktuellen Largest Coding Unit, die ein erster Codierblock in einem Slice ist, zugleich um die erste Largest Coding Unit einer Zeile handelt.
Dies beruht auf dem Umstand, dass in 1NK9 nicht beschrieben ist, dass ein zu decodierendes Slice innerhalb einer Zeile beginnt. Stattdessen gehen sämtliche Ausführungsbeispiele davon aus, dass der Beginn einer Zeile, sollte diese als Slice verstanden werden, stets die erste Largest Coding Unit der Zeile ist.
Folglich werden auch nicht abhängig von dem Ergebnis dieser Überprüfung gemäß den Merkmalen 1.6.2 und 1.6.3 unterschiedliche Wahrscheinlichkeiten initialisiert. Dass Wahrscheinlichkeiten verwendet werden, wie sie bei der Entropiedecodierung des zuvor decodierten Slices bis zu dem Ende des zuvor decodierten Slices erhalten wurden, lässt sich der 1NK9 im Übrigen ebenso wenig entnehmen.
c) Ausgehend von 1NK9 hat es nicht nahegelegen, zu den Merkmalen 1.6.1, 1.6.2 und 1.6.3 zu gelangen.
Die Überprüfung, ob es sich bei der aktuellen Largest Coding Unit, die ein erster Codierblock in einem Slice ist, zugleich um die erste Largest Coding Unit einer Zeile handelt, wäre nur dann sinnvoll, wenn sich Slices nicht über die gesamte Breite einer Zeile erstreckten. Eine solche Anordnung ist in 1NK9 nicht vorgesehen. Aus der Entgegenhaltung ergeben sich auch keine Hinweise darauf, dass eine solche Anordnung für eine Wellenfrontparallelverarbeitung von Vorteil sein könnte.
2. Aus einer Kombination von 1NK9 mit dem Standardisierungsbeitrag mit dem Titel "AHG4: Low latency CABAC initialization for dependent tiles" (JCTVC-G197) für das siebte Treffen des Joint Collaborative Team on Video Coding in Genf (Schweiz) vom 21. bis 30. November 2011 (1NK11) oder einer Kombination der 1NK9 mit dem Standardisierungsbeitrag mit dem Titel "Generalized slices" (JCTVC-D378) für das vierte Treffen des Joint Collaborative Team in Daegu (Korea) vom 20. bis 28. Januar 2011 (1NK12) ergeben sich keine weitergehenden Anregungen.
a) Wie bereits dargelegt wurde, bestand ausgehend von 1NK9 kein Anlass, für den Fall nach Verbesserungen zu suchen, dass jede Zeile ein Slice bildet oder sich Slices nicht über die gesamte Breite der Zeile erstrecken.
b) Unabhängig davon lassen sich 1NK11 keine Hinweise entnehmen, die zu den Merkmalen 1.6.1 bis 1.6.3 geführt hätten.
aa) 1NK11 betrifft die Entropiedecodierung bei Kacheln.
(1) 1NK11 geht davon aus, dass ein Bild in unabhängige oder abhängige Kacheln partitioniert ist, die aus einer Teilmenge von Largest Coding Units in der Rasterabfolge bestehen und zu Slices orthogonal sind (Abschn. 1, Abs. 1).
Bei unabhängigen Kacheln werden für die Prädiktions- und Entropiedecodierung keine Daten aus einer anderen Kachel benötigt. Wenn CABAC als Entropiedecodierungsmethode verwendet wird, werden die Wahrscheinlichkeiten bei der ersten Largest Coding Unit jeder Kachel neu initialisiert, so dass die Kacheln unabhängig verarbeitet werden können (Abschn. 1, Abs. 2).
Bei abhängigen Kacheln können Daten aus benachbarten Kacheln verwendet werden. Die CABAC-Wahrscheinlichkeiten werden in der Kachelstruktur-Scanreihenfolge mit der letzten Largest Coding Unit der vorhergehenden Kachel aktualisiert.
(2) Zur Verbesserung der Latenz wird vorgeschlagen, die CABAC-Wahrscheinlichkeiten der ersten Largest Coding Unit in jeder Kachel von denen der benachbarten linken Largest Coding Unit zu übernehmen (Abschn. 2 Abs. 1).
Dafür sind zusätzliche Puffer erforderlich. Die Puffer für die vorherige Reihe von Kacheln können aber für die nächste zu verarbeitende Reihe von Kacheln wiederverwendet werden (Abschn. 2 letzter Abs.).
bb) 1NK11 offenbart jedenfalls nicht die Merkmale 1.6.1, 1.6.2 und 1.6.3.
cc) Entgegen der Auffassung der Klägerin kann 1NK11 nicht entnommen werden, dass die Wahrscheinlichkeiten der ersten Largest Coding Unit eines Slices, die nicht die erste Largest Coding Unit einer Zeile ist, mit den Wahrscheinlichkeiten der letzten Largest Coding Unit aus dem vorherigen Slice der gleichen Zeile initialisiert werden sollten.
Die Entgegenhaltung schlägt vor, gerade nicht die letzte Largest Coding Unit der vorherigen Kachel zu verwenden, sondern die einzelnen Zeilen über Kachelgrenzen hinweg zu betrachten.
Anpassungen dieses Lösungsansatzes, die erforderlich wären, um zur Slice-basierten Lehre des Streitpatents zu gelangen (z.B. die Zeilen einer Kachel bilden ein Slice), waren nicht veranlasst.
c) Aus 1NK12 ergeben sich ebenfalls keine weitergehenden Anregungen.
aa) 1NK12 betrifft generalisierte Slices (Generalized Slices - GS).
Die Aufteilung eines Bildes in Slices wirkt sich nach den Ausführungen in 1NK12 negativ auf die Codiereffizienz aus (Abschn. 1, Abs. 1).
Bei der Übertragung eines kodierten Bitstroms über ein paketvermitteltes Netz gilt für Pakete eine maximale Übertragungsgröße (Maximum Transmission Unit - MTU). Wenn ein Paket viel weniger Bits enthält, kann der Datenkopf die Kodiereffizienz erheblich beeinträchtigen. Enthält ein Paket hingegen mehr Bits als die MTU-Größe, fragmentiert das Netz das Paket, was die Fehleranfälligkeit erhöht. Demgegenüber ist die Anpassung eines unabhängig dekodierbaren Slices an die MTU-Größe vorteilhaft, da alle empfangenen Pakete dekodiert werden können (Abschn. 1, Abs. 3).
Die Codiereffizienz kann weiter verbessert werden, wenn General Slices mit vertikalen Slice-Grenzen eingeführt werden, die ein Bild zusätzlich in Spalten aufteilen, die näher an der MTU-Größe liegen (Abschn. 1, Abs. 6). Spaltengrenzen sind ebenfalls Slice-Grenzen (Abschn. 2.3).
Die Decodierreihenfolge wird für General Slices geändert, so dass die Kodierbaumblöcke (CTB) in der Reihenfolge der Rasterabtastung innerhalb der Spalten dekodiert werden und nicht in der Reihenfolge der Rasterabtastung innerhalb des Bildes. Außerdem beginnt der Codierer nach der Codierung des letzten Kodierbaumblocks eines Slices nicht mit der Codierung aller Slices in Spalte 1, gefolgt von allen Slices in Spalte 2. Vielmehr beginnt er mit der Codierung des Slices, dessen erste Kodierbaumblock-Adresse die kleinste aller nicht kodierten Kodierbaumblöcke ist (Abschn. 2.2).
In Experimenten zeigen solche General Slices eine höhere Kodiereffizienz als ein identisch konfigurierter Codierer, der die gleiche Anzahl von Slices in der Scan-Reihenfolge verwendet (Abschn. 5).
bb) Damit sind jedenfalls die Merkmale 1.6.1, 1.6.2 und 1.6.3 nicht offenbart.
cc) Entgegen der Auffassung der Klägerin sind diese Merkmale nicht ohne Weiteres durch die Überlegung nahegelegt, dass die Kodiereffizienz für General Slices besser ist als für Slices, die sich über die gesamte Breite des Bildes erstrecken.
1NK12 stellt ein Konzept von besonderen Slices mit einer speziellen Decodierreihenfolge vor. Daraus folgt nicht, dass die in der Wellenfrontparallelverarbeitung decodierten Largest Coding Units einer Zeile vorteilhafterweise auf zwei oder mehr aufeinander folgende Slices aufzuteilen sind, bei denen je nach Verortung der ersten Largest Coding Unit eines Slices unterschiedliche Wahrscheinlichkeiten verwendet werden.
3. Der Gegenstand von Patentanspruch 1 beruht auch gegenüber dem Standardisierungsbeitrag mit dem Titel "Combined proposal JCTVC-E196 and JCT-VCE409" (JCTVC-E470), das auf dem fünften Treffen der JCT-VC in Genf (Schweiz) vom 16. bis 23. März 2011 eingebracht wurde (2NK1), auf erfinderischer Tätigkeit.
a) 2NK1 ist eine Vorversion von 1NK9. Sie regt an, zwei frühere Beiträge zur Standardisierung JCTVC-E196 (2NK2) und JCT-VCE409 (2NK3) zu kombinieren.
Als Ziel wird angegeben, eine Wellenfrontparallelverarbeitung von Largest Coding Units durchzuführen, ohne dass bereits erfasste Wahrscheinlichkeiten verloren gehen. Daher wird vorgeschlagen, die CABAC-Wahrscheinlichkeiten der ersten Largest Coding Unit jeder Zeile mit den Wahrscheinlichkeiten zu initialisieren, die nach der Verarbeitung der zweiten Largest Coding Unit der vorhergehenden Zeile erhalten wurden. Dafür sind die Wahrscheinlichkeiten in einen zusätzlichen Wahrscheinlichkeitspuffer zu schreiben, wenn die Verarbeitung der zweiten Largest Coding Unit einer Zeile abgeschlossen ist (Abschn. 2; vgl. auch 2NK2).
Weiter wird vorgeschlagen, den Ort der Neuinitialisierungspunkte der CABAC-Wahrscheinlichkeiten im Bitstrom an den Decoder zu senden. Durch die Übermittlung dieser Ortsangaben wird eine parallele Dekodierung ermöglicht, da der Decoder an dem übermittelten Ort in den Bitstrom eintreten und mit der Dekodierung der LCU-Zeile beginnen kann (Abschn. 3; ferner 2NK3 Abschn. 2 Tabellen 2, 3).
Dafür wird die Syntax des Sequenz Parameter Set RBSP angepasst, um anzuzeigen, ob ein Kontext zu Beginn einer Reihe von Largest Coding Units zu initialisieren ist oder nicht und ob diese aus einem Wahrscheinlichkeitspuffer zu entnehmen ist (Abschn. 1, Table 1; ferner 2NK3 Abschn. 2 Tabelle 1). Darüber hinaus soll im Datenkopf des Slices (slice header) angegeben werden, ob Informationen zum Ort der LCU-Zeile übertragen werden (Abschn. 1, Tabellen 2 und 3; ebenso in 2NK3 Abschn. 2).
b) Der Offenbarungsgehalt von 2NK1 geht hinsichtlich der Merkmale 1.6.1, 1.6.2 und 1.6.3 nicht über denjenigen von 1NK9 hinaus.
4. Der Gegenstand von Patentanspruch 1 beruht schließlich gegenüber dem Standardisierungsbeitrag mit dem Titel "Ordered Entropy Slices for Parallel CABAC" (VCEG-AK25), das zum 37. Treffen der Video Coding Experts Group (VCEG) in Yokohama (Japan) vom 15. bis 18. April 2009 eingebracht wurde (2NK5), auf erfinderischer Tätigkeit.
a) In 2NK5 ist beschrieben, dass CABAC aufgrund seiner seriellen Natur ein Hindernis für die Parallelverarbeitung darstellt, so dass verschiedene Vorschläge zur parallelen CABAC unterbreitet worden seien (Abschn. 1, Abs. 1).
Ein Rahmen kann nach den Ausführungen in mehrere Entropie-Slices partitioniert werden, die eine Prädiktion über Slice-Grenzen zulassen und weniger Daten im Datenkopf enthalten als die normalen Slices (Abschn. 1, Abs. 2). Die Verwendung von Entropie-Slices wird durch das Syntaxelement "entropy-slice-flag" angezeigt. Abhängig von diesem wird das Slice entweder als Entropie-Slice oder als reguläres Slice decodiert (Abschn. 2.5, "if(entropy_slice_flag)").
Zur Verbesserung der BD-Rate sowie des Speicher- und Zugriffs-Overhead wird vorgeschlagen, dass auch die CABAC-Kontextbildung über die Grenzen der Entropie-Slices möglich sein soll.
Dabei sollen die Verarbeitungsreihenfolgen von Macroblocks (MBs) in Entropie-Slices nach einem kausalen Kriterium angeordnet sein. Dieses besteht darin, dass bevor ein Macroblock geparst und rekonstruiert wird, die benachbarten Macroblocks links, oben, oben links und oben rechts geparst und rekonstruiert werden müssen (Abschn. 1, letzter Abs.; Abschn. 2.2).
Dafür umfasst ein Entropie-Slice grundsätzlich eine Macroblock-Zeile (H=1), deren Reihenfolge der Rasterscanreihenfolge entspricht. Bei mehreren Macroblock-Zeilen in einem Slice wird eine Zick-Zack-Scan-Reihenfolge empfohlen (Abschn. 2.3, Figur 1).
Bei paralleler Decodierung wird die Decodierung nachfolgender Entropie-Slices mit der Verarbeitungszeit (D) verzögert, die einer vorbestimmten Anzahl von Macroblocks entspricht (Abschn. 2.4). Für die Beispiele in Figur 1 sei D 2, 5 und 9 für H=1, 2 bzw. 3 (Abschn. 2.3).
In der durchgeführten Simulation wurden die Kontextzustände des vorherigen Entropie-Slices nach der Verarbeitung der kleinstmöglichen Anzahl von Macroblocks verwendet, um den Kontext des aktuellen Entropie-Slices zu initialisieren (Abschn. 3). Umfasst ein Entropie-Slice eine Reihe (H=1), werden nachfolgende Entropie-Slices folglich mit den Kontextzuständen initialisiert, wie sie nach Decodierung von zwei Makroblöcken des vorherigen Slices erhalten wurden.
b) 1NK5 offenbart damit die Merkmale 1.1, 1.2, 1.3 bis 1.3.2b, 1.4, 1.5, und 1.6.
Insbesondere ist für den Fachmann selbstverständlich, dass bei einem normalen Slice Prädiktions- und Entropiedecodierung nicht über Slice-Grenzen hinweg erfolgt.
c) Nicht offenbart sind dagegen die Merkmale 1.6.1, 1.6.2 und 1.6.3.
Vor dem Hintergrund, dass sich ein Entropie-Slice gemäß der 2NK5 stets über eine Zeile erstreckt, tritt die Situation, dass ein erster Codierblock des Slices anderweitig verortet ist, nicht auf.
Dementsprechend erübrigt sich eine Überprüfung, ob der erste MB eines Slices auch der erste MB einer Zeile ist, sowie die abhängig davon unterschiedliche Initialisierung der Wahrscheinlichkeiten, die für die Entropiedecodierung verwendet werden.
d) Es lag für den Fachmann auch nicht nahe, ausgehend von 2NK5 zu der Lehre dieser Merkmale zu gelangen. Anhaltspunkte, die Zeilen in mehrere Entropie-Slices aufzuteilen, sind der Entgegenhaltung nicht zu entnehmen.
V. Die Sache ist zur Endentscheidung reif (§ 119 Abs. 5 Satz 2 PatG).
1. Nach der Rechtsprechung des Senats ist eine eigene Sachentscheidung durch den Bundesgerichtshof in der Regel allerdings nicht sachdienlich, wenn das Patentgericht den Stand der Technik unter dem Gesichtspunkt der Patentfähigkeit weder im angefochtenen Urteil noch in dem nach § 83 Abs. 1 PatG erteilten Hinweis bewertet hat. An der Sachdienlichkeit kann es darüber hinaus auch dann fehlen, wenn der nach § 83 Abs. 1 PatG erteilte Hinweis Ausführungen zur Patentfähigkeit enthält, diese aber angesichts der Komplexität der Materie nicht ausreichen, um eine abschließende Entscheidung treffen zu können (BGH, Urteil vom 6. Dezember 2022 - X ZR 47/22, BGHZ 235, 265 = GRUR 2023, 441 Rn. 59 f. - Aminopyridin).
2. Im Streitfall bilden das erstinstanzliche Vorbringen der Parteien und die Ausführungen des Patentgerichts zum Verständnis des Streitpatents jedoch eine ausreichende Grundlage für eine abschließende Beurteilung durch den Senat. Eine solche erscheint insbesondere auch deshalb sachdienlich, weil sich die Klägerin nicht mehr aktiv am Verfahren beteiligt.
3. Das Streitpatent erweist sich aus den oben aufgeführten Gründen als rechtsbeständig.
VI. Die Kostenentscheidung beruht auf § 121 Abs. 2 PatG und § 91 Abs. 1 ZPO.
Bacher
Kober-Dehm
Marx
Rombach
Crummenerl
Sonstiger Langtext
Berichtigungsbeschluss vom 3. Dezember 2024
Das Senatsurteil vom 17. September 2024 wird gemäß § 319 Abs. 1 ZPO dahin berichtigt, dass in Randnummer 93 die Wörter "vor dem Prioritätsdatum" ersetzt werden durch "im Prioritätsintervall".

Rechtsmittelbelehrung:

Zitierte Normen: § 118 Abs. 4 Satz 1 PatG
§ 119 Abs. 1 PatG
§ 119 Abs. 5 Satz 2 PatG
§ 83 Abs. 1 PatG
§ 121 Abs. 2 PatG
§ 91 Abs. 1 ZPO
§ 319 Abs. 1 ZPO

Zitierte Entscheidungen: GRUR 1996, 757
GRUR 2014, 542
BGHZ 235, 265
GRUR 2023, 441
X ZR 114/92
X ZR 107/12
X ZR 47/22