Uitspraak
RECHTBANK Den Haag
1.NETFLIX INTERNATIONAL B.V.,
2. de rechtspersoon naar buitenlands recht
1.De procedure
2.De feiten
https://www.netflix.com/nl/en via verschillende eigen Netflix applicaties die draaien op, bijvoorbeeld, televisies, mobiele telefoons en tablets.
“coderen
”van digitale videobestanden. Dit coderen houdt in het “kleiner” maken van een videobestand zodat voor het streamen daarvan minder netwerkcapaciteit nodig is.
frame rate– varieert bij digitale videobestanden over het algemeen van 24 tot 60 beelden per seconde.
“output bitstream”). De decoder zet de
bitstream, in een omgekeerd proces, weer om in frames die kunnen worden weergegeven op een scherm.
bitstreamen schrijft dus niet het coderingsproces als zodanig voor. Het coderingsproces kan echter wel uit de standaard worden afgeleid. Waar hierna wordt gesproken over “de standaard” of “de HEVC Standaard” wordt op deze versie gedoeld, tenzij anders weergegeven.
frame datanaar een gecomprimeerde
bit stream) conform de standaard worden doorlopen. Het gaat dan in het bijzonder om de volgende stappen in het coderingsproces:
- Partitioning
- Prediction
- Binarisatie
- Entropy Encoding
slice) opgedeeld in sub-eenheden. In H.264/AVC waren dat basiseenheden met een grootte van 16 bij 16 pixels die “macroblocks” werden genoemd. Op de prioriteitsdatum was in de ontwikkeling van HEVC besloten om gebruik te maken van een “coding unit” (CU) met, in tegenstelling tot een macroblock in H.264/AVC, verschillende mogelijke afmetingen (bijvoorbeeld 8x8 pixels of 64x64 pixels).
prediction units”:
coding unit(bijvoorbeeld de bovenste rij en de meest linker kolom) wordt “voorspeld” welke eigenschappen alle overige pixels binnen dat macroblock hebben. Heel simpel gezegd, als alle pixels van de bovenste rij en de meest linker kolom roze zijn, dan zullen de overige pixels dat ook zijn. Een onderdeel van een frame dat middels intra-prediction wordt voorspeld wordt ook wel een “
I-slice” genoemd.
inter-predictionwordt de eigenschap van een pixel voorspeld aan de hand van een of meer andere frames. Dit kan een voorgaand of opvolgend frame zijn (men spreek dat van een
“P-Slice”), maar kan ook plaatsvinden aan de hand van zowel een voorgaand als een opvolgend frame (bidirectionele
“B-slice”).
partitioning) en de voorspellingsmethode die wordt toegepast (
prediction), worden in
syntax elementsweergegeven. Om door de encoder te kunnen worden verstuurd aan de decoder, moeten deze waarden worden omgezet in een serie enen en nullen, oftewel een “
bin string”. Het proces waarbij een
syntax elementwordt omgezet in een
bin stringheet binarisatie.
bin stringhoort bij een bepaald
syntax elementwordt veelal bepaald aan de hand van een zogenaamde
binary tree. Een
binary treeis een boomstructuur die zich stap voor stap vertakt in steeds twee verdere knooppunten (
nodes), uitgaande van een wortelknooppunt (
root node). Een voorbeeld van een
binary treezoals die wordt gebruikt bij coderen van videobestanden staat hieronder afgebeeld.
nodein de
binary treekan een bepaalde waarde worden toegekend. Zo wordt er een
code booktot stand gebracht aan de hand waarvan de betekenis van een bepaalde bin string kan worden bepaald (0=A, 10=B, 110=C en 111=D).
binary treekan zijn dat syntax elementen die vaak voorkomen hoog in de boom worden geplaatst terwijl syntax elementen die minder vaak voorkomen lager in de boom worden geplaatst. Daardoor worden de kortste bin strings toegekend aan de meest voorkomende elementen, hetgeen een besparing oplevert op de totale
bitstream.
bin stringsdoor middel van
entropy encoding. Een voorbeeld van een dergelijk entropie-coderingsproces, die ook wordt toegepast in HEVC, is de zgn. “Context Adaptive Binary Arithmetic Coding” (CABAC).
binsvan de bin strings omgezet in een variërend aantal
bitsin de
bit stream. Voor deze procedure is het voldoende om te weten dat het CABAC proces leidt tot een verdere compressie van de bit stream en de laatste stap is in het creëren van de
output bitstream(en derhalve ook, maar dan omgekeerd, de eerste stap in het decoderingsproces).
the method characterised by:
jointly encode) niet meer terug en zijn conclusies 9 en 11 samengevoegd tot de verleende conclusie 6. Conclusie 12 komt terug als conclusie 7.
3.Het geschil in conventie
fair, reasonable and non-discriminatory(FRAND) voorwaarden.
4.De beoordeling in conventie
employing a single binary treeom zowel de
prediction mode, als de
partition modete coderen.
the method characterised by:
single binarytree die zowel de
prediction modeals de
partition modecodeert. De toepassing van deze
single binary treeresulteert in twee van elkaar te onderscheiden “sets” van
bin strings, te weten een eerste
bin string(1 of 0) die duidt op de
prediction modeen een tweede
bin string(bijvoorbeeld 01) waaruit de
partition modevolgt. Een en ander is door professor de With, de door Broadcom ingeschakelde deskundige, in zijn verklaring van 11 juli 2023 als volgt weergegeven:
prediction modeals
partition modein één
bin stringworden gecodeerd. Voldoende is dat de binarisatie van
partition modeafhankelijk is van de
prediction mode
prediction modegebinariseerd met
een fixed length binary codedie gelijk is aan “1” in het geval van intra-predictie en “0” in het geval van inter-predictie. De overeenkomstige
binary treebevat dus aanvankelijk twee takken vanaf de wortelknoop met twee knopen die de CU-voorspellingswijze (de
prediction mode) aangeven.
partition mode, afhankelijk is van de waarde van de toegepaste
prediction mode. De toewijzing van tabel 9-45 komt derhalve overeen met een
binary treemet een wortelknooppunt, van waaruit eerst de beslissing tussen "0" en "1" wordt genomen voor “pred_mode_flag”, om vervolgens
de sub-binary treevoor “part_mode” te starten overeenkomstig tabel 9-45. Afhankelijk van de waarde van part_mode vindt dan een andere binarisatie plaats. Daarom worden beide syntaxelementen, gelet op de bovenstaande kenmerken, gebinariseerd met één binary tree.
prediction modeals
partition modein een
single binary treegezamenlijk worden gecodeerd. Deze wijze van coderen met behulp van een
binary tree, waarin
bin stringsmet variabele lengtes uitkomen, biedt het voordeel dat combinaties die vaak voorkomen een korte
bin stringkrijgen toegewezen (bijvoorbeeld “1” voor inter 2N x 2N), terwijl minder vaak voorkomende combinaties een langere
bin stringkrijgen toegewezen (bijvoorbeeld “00000” voor intra 2Nx2N). Omdat de korte
bin stringsvaker voorkomen, levert dit een besparing op in de
bitstream.
a single binary treemaar juist van twee afzonderlijke
binary treesvoor de
prediction modeen de
partition mode. De binarisatieprocessen van het syntax element voor de
prediction mode(“pred_mode_flag”) en het syntax element voor de
partition mode(“part_mode”) worden in tabel 9-43 van de standaard afzonderlijk van elkaar gespecificeerd.
fixed lengthbinarisatie. Na de binarisatie van dit syntax element overeenkomstig paragraaf 9.3.3.5 (de eerste stap in het CABAC-coderingsproces), wordt de bin voor pred_mode_flag omgezet in bits voor de
output bitstream(de tweede stap in het CABAC-coderingsproces). Daarmee is de codering van het syntax element “pred_mode_flag” voor de prediction mode afgerond. Ieder syntax element wordt (na binarisatie) volgens het CABAC proces separaat door de
arithmetic decoderomgezet in bits. [3]
binary treesuit Tabel 9-45 is gebinariseerd (de eerste stap in het CABAC-coderingsproces), worden de
binsvan de betreffende
bin stringomgezet in
bitsvoor de
output bitsream(de tweede stap in het CABAC-coderingsproces). Daarmee is ook de codering van het syntax element part_mode afgerond.
bin stringwaarin zowel
prediction modeals
partition modegezamenlijk zijn gecodeerd. In het aanvragedocument is, naast de werkwijze van conclusie 6 (conclusie 11 in de aanvrage), ook de werkwijze geclaimd waarbij een
single binary treewordt gebruikt:
single binary tree to jointly encode in a single syntax elementenerzijds en de
binary treetoepassen
to encode in a first syntax elementen
in a second syntax elementanderzijds. Figuur 14 ziet op het eerste alternatief (dat uiteindelijk niet is geclaimd in het octrooi) en niet op het tweede. Dit zal de vakpersoon ook zo begrijpen bij het lezen van het octrooi en de voor hem kenbare verleningsgeschiedenis.
prediction modeen
partition mode, voldoende is om tot de conclusie te komen dat zij onderdeel uitmaken van dezelfde
binary tree. De vakpersoon zal, naar het oordeel van de rechtbank, een
binary treezoals bedoeld in het octrooi beschouwen als (een middel om) een
code book(tot stand te brengen), binaire representaties van de mogelijke waardes van een
syntax element, en niet, zoals Broadcom soms lijkt te willen betogen, als een beslisschema of decoderingsproces. De afhankelijkheidsrelaties tussen verschillende syntaxelementen volgt ook niet uit de binarisatie daarvan, maar uit de syntax, zoals weergegeven in de syntax tabellen (zoals hieronder (nogmaals) afgebeeld) en in het bijzonder het gebruik van
operatorszoals “if” en “else”:
binary trees– is derhalve niet meer dan het weergeven van de uitkomst van het coderingsproces overeenkomstig de syntax in een
bin stringvan enen en nullen zodat er uiteindelijk een bitstream (waarin de bin string verder wordt gecodeerd) kan worden gegenereerd om dataopslag en -communicatie mogelijk te maken.
single binary treeresulteert in een
bin stringdie bestaat uit twee
sets of bin strings, zoals dat ook is verwoord door de deskundige van Broadcom, prof. De With.
prediction modeen de
partition modevolgens de standaard worden gedecodeerd en of daarbij sprake is van de toepassing van een
single binary tree. Om vast te stellen of Netflix de kenmerken van conclusie 6 toepast, zal de rechtbank de relevante stappen voor het (de)coderen van de video bestanden bespreken, zoals die blijken uit de standaard.
prediction mode(MODE_INTRA vs. MODE_INTER) gesignaleerd door middel van het syntax element pred_mode_flag.
partition modewordt gesignaleerd door het syntax element part_mode.
partition modete coderen, is blijkens tabel 9-45, afhankelijk van meerdere factoren:
prediction modeis toegepast)
single binary treevoor het afzonderlijk binariseren van de
prediction modeen de
partition mode.
prediction modewordt afgeleid, wordt gebinariseerd in een enkele
binmet de waarde 1 of 0 (tabel 9-43 in combinatie met onderdeel 9.3.3.5), terwijl part_mode wordt gebinariseerd overeenkomstig tabel 9-45. Prof. [naam 3] heeft verklaard, en dit is niet weersproken, dat deze waarden separaat van elkaar in de volgende coderingsstap met behulp van CABAC worden omgezet in
bitsten behoeve van de
bitstream.
bitstream– de standaard voorziet in het weglaten van pallette_mode_flag en dit gebeurt in de praktijk ook vaak – is dit nog een aanwijzing dat de standaard niet uitgaat van de
single binary treezoals die door Broadcom naar voren is gebracht. Voor de stelling dat de vakpersoon de in de standaard toegepaste binarisaties zal opvatten als een
binary treedie uit meerdere
sub binary treesbestaat, zoals door Broadcom gesteld en geoordeeld door het Landgericht München op 14 september 2023, ziet de rechtbank geen basis.
prediction modeen
partition modeworden gebinariseerd met toepassing van een
single binary treezoals geclaimd in het octrooi. Daarmee is niet komen vast te staan dat Netflix inbreuk maakt op EP 366 zodat de daarmee verband houdende vorderingen van Broadcom worden afgewezen. De reconventionele vorderingen behoeven, gezien hun voorwaardelijke karakter, geen behandeling.