NL1030132C2 - Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren. - Google Patents

Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren. Download PDF

Info

Publication number
NL1030132C2
NL1030132C2 NL1030132A NL1030132A NL1030132C2 NL 1030132 C2 NL1030132 C2 NL 1030132C2 NL 1030132 A NL1030132 A NL 1030132A NL 1030132 A NL1030132 A NL 1030132A NL 1030132 C2 NL1030132 C2 NL 1030132C2
Authority
NL
Netherlands
Prior art keywords
transformation
inverse transformation
input data
inverse
point
Prior art date
Application number
NL1030132A
Other languages
English (en)
Other versions
NL1030132A1 (nl
Inventor
Byung-Cheol Song
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of NL1030132A1 publication Critical patent/NL1030132A1/nl
Application granted granted Critical
Publication of NL1030132C2 publication Critical patent/NL1030132C2/nl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Description

i
Titel: Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren
Deze aanvrage roept de prioriteit in van de Koreaanse octrooiaanvrage nr. 10-2004-0079488, ingediend op 6 oktober 2004 bij het Koreaanse Bureau voor de Intellectuele Eigendom, de inhoud van welke octrooiaanvrage door referentie wordt geacht volledig in de onderhavige 5 aanvrage te zijn opgenomen.
Achtergrond van de uitvinding
De onderhavige uitvinding heeft betrekking op een transformatie 10 en/of inverse transformatie inrichting en, meer in het bijzonder, op een transformatie en/of inverse transformatie werkwijze en inrichting die blokken effectief kunnen transformeren of inverse transformeren, ongeacht de grootte van ingevoerde blokken.
Recent heeft Microsoft Corporation een concept van een bewegend 15 beeld compressie standaard gelanceerd genaamd 'VCl' bij de Society of Motion Picture and Television Engineers (SMPTE), een internationaal standaardisatie lichaam. Momenteel is het onderzoek van VCl onderweg, en vele experts verwachten dat VCl eens wordt aangenomen als een internationale standaard.
20 Van VCl wordt tevens verwacht dat het een leidende bewegend beeld compressie standaard wordt in de nabije toekomst, zoals Motion Picture Experts Group (MPEG)-2, MPEG-4, en H.264, die reeds zijn aangenomen als bewegend beeld compressie standaarden en breed zijn toegepast in verschillende gebieden. VCl is ongeveer 60% minder 25 gecompliceerd dan H.264 en bereikt bijna 80% van de compressie efficiency 103 01 32 " 2 van H.264, hetgeen wordt geacht als een van de meest efficiënte bewegend beeld compressie standaarden in termen van compressie efficiency. Bovendien, van VC1 is tevens bekend dat VC1 een hogere beeldkwaliteit levert dan MPEG-2 of MPEG-4.
5 VC1 voorziet enigszins andere tools dan andere standaarden. In het bijzonder maken MPEG-2 en H.264 gebruik van een voorspellende transformatie compressie methode. In andere woorden, bij MPEG-2 en H.264 worden tijdelijke overbodigheden verwijderd door bewegingsschatting en compensatie, en worden ruimtelijke overbodigheden verwijderd door 10 discrete cosinus transformatie (DCT) (of inverse DCT) en kwantitatief (of inverse kwantisatie).Echter, MPEG-2 en H.264 verschillen van elkaar aangezien MPEG-2 gebruik maakt van een 8x8 DCT (of inverse DCT) methode terwijl H.264 gebruik maakt van een 4x4 integer transformatie methode.
15
Samenvatting van de uitvinding
Additionele aspecten en/of voordelen van de uitvinding zullen voor een deel worden uiteengezet in de volgende beschrijving en zullen voor een 20 deel duidelijk zijn uit de beschrijving, of kunnen worden geleerd door toepassing van de uitvinding.
De onderhavige uitvinding voorziet een transformatie en/of inverse transformatie werkwijze en inrichting die blokken effectief en snel kunnen transformeren of inverse transformeren, ongeacht de groottes van 25 ingevoerde blokken, en kunnen gemakkelijk worden bestuurd.
Volgens een aspect van de onderhavige uitvinding, wordt een transformatie en/of inverse transformatie inrichting voor gebruik in een audio-video codec voorzien. De transformatie en/of inverse transformatie inrichting is voorzien van: verscheidene ROM tabellen, welke worden 30 geraadpleegd tijdens het transformeren en/of inverse transformeren van 10 3 013 2 ~ 3 invoergegevens met het oog op het format of de grootte van de invoergegevens; en een transformatie en/of inverse transformatie eenheid, die één van de ROM tabellen selecteert met het oog op het format of de grootte van de invoergegevens, en die de invoergegevens transformeert en/of 5 inverse transformeert onder raadpleging van de geselecteerde ROM tabel.
In een aspect kan de transformatie en/of inverse transformatie eenheid gelijktijdig een totaal van 2M gegevens parallel verwerken ongeacht het format of de grootte van de invoergegevens, waarin M een integer is. In een aspect kan de transformatie en/of inverse transformatie eenheid gelijktijdig 10 een totaal van 8 gegevens parallel verwerken ongeacht het format of de grootte van de invoergegevens.
De transformatie en/of inverse transformatie inrichting kan zijn voorzien van: een eerste transformatie en/of inverse transformatie eenheid, die een transformatie of inverse transformatie operatie uitvoert op de 15 invoergegevens in een rij-richting; en een tweede transformatie en/of inverse transformatie eenheid, die een transformatie of inverse transformatie operatie uitvoert op de invoergegevens in een kolom-richting.
De transformatie en/of inverse transformatie inrichting kan tevens zijn voorzien van een transponeer operatie eenheid, die een transponeer 20 operatie uitvoert op de invoergegevens die door de eerste transformatie en/of inverse transformatie eenheid, zodat rijen en kolommen van de invoergegevens kunnen worden getransponeerd.
Verder kan de transponeer operatie eenheid een transponeeroperatie uitvoeren op de invoergegevens, welke door de eerste 25 transformatie en/of inverse transformatie eenheid zijn verwerkt, in eenheden van 2Mx2M blokken, of in eenheden van 8x8 blokken.
In het geval dat het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, bijvoorbeeld 8x8 of 8x4, kan de eerste transformatie of inverse transformatie 30 eenheid een 2M-punt (bijv. 8-punt) transformatie of inverse transformatie _ 10 3 01 32 '·______ 4 operatie uitvoert op elke rij van de invoergegevens, die is voorzien van 2M coëfficiënten (bijv. 8 coëfficiënten), waarbij in een ander geval de eerste transformatie of inverse transformatie eenheid een paar van M-punt (bijv.
4-punt) transformatie of inverse transformatie operaties parallel uitvoert op 5 elke rij van de invoergegevens. |
Indien het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, bijvoorbeeld 8x8 of 8x4, kan de tweede transformatie of inverse transformatie eenheid een 2M-punt (bijv. 8-punt) transformatie of inverse 10 transformatie operatie uitvoeren op elke rij van de invoergegevens, die is voorzien van 2M coëfficiënten(bijv. 8 coëfficiënten), waarbij in een ander geval de tweede transformatie of inverse transformatie eenheid een paar van M-punt (bijv. 4-punt) transformatie of inverse transformatie operaties parallel uitvoert op elke kolom van invoergegevens.
15 Het format van de invoergegevens kan een MPEG-2 format of een VC1 format zijn. De grootte van de invoergegevens kan een grootte van 8x8, 8x4, 4x8, of 4x4 zijn. De transformatie of inverse transformatie eenheid kan altijd dezelfde structuur hebben, ongeacht het format of de grootte van de invoergegevens.
20 Volgens een aspect wordt een audio en/of video codec (bijvoorbeeld een audio-video codec) voorzien van een transformatie en/of inverse transformatie inrichting volgens één der conclusies 1-12, waarbij de audio en/of video codec bij voorkeur verscheidene data formats ondersteunt.
Volgens een aspect van de onderhavige uitvinding wordt een audio 25 en/of video codec voorzien, welke is voorzien van een transformatie en/of inverse transformatie inrichting, waarbij de audio en/of video codec verscheidene data formats ondersteunt. De transformatie en/of inverse transformatie inrichting is voorzien van: verscheidene ROM tabellen, welke worden geraadpleegd tijdens het transformeren of inverse transformeren 30 van invoergegevens met het oog op het format of de grootte van de 1030132" 5 invoergegevens; en een transformatie en/of inverse transformatie eenheid, die één van de ROM tabellen selecteert met het oog op het format of de grootte van de invoergegevens, en die de invoergegevens transformeert of inverse transformeert onder raadpleging van de geselecteerde ROM tabel, 5 waarbij de transformatie en/of inverse transformatie eenheid gelijktijdig een totaal van 2M, bijvoorbeeld 8, gegevens parallel verwerkt ongeacht het format of de grootte van de invoergegevens.
Volgens een ander aspect van de uitvinding wordt een transformatie en/of inverse transformatie werkwijze voorzien, die wordt 10 gebruikt in een audio en/of video codec. De transformatie en/of inverse transformatie werkwijze omvat: het selecteren van één van verscheidene ROM tabellen met het oog op het format of de grootte van de invoergegevens; en het transformeren of inverse transformeren van de invoergegevens onder raadpleging van de geselecteerde ROM tabel, waarbij 15 de een totaal van 2M, bijvoorbeeld 8, gegevens parallel verwerkt bij het transformeren of inverse transformeren van de invoergegevens, ongeacht het format of de grootte van de invoergegevens.
Korte beschrijving van de figuren 20
Deze en andere aspecten en voordelen van de uitvinding zullen duidelijk worden uit de volgende beschrijving van uitvoeringsvoorbeelden, onder verwijzing naar de begeleidende figuren, waarin: FIG. 1 een blokdiagram is van een inverse transformatie inrichting 25 volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding; FIG. 2 een gedetailleerd blokdiagram is van een eerste of tweede inverse transformatie eenheid van FIG. 1; FIG. 3 een diagram is dat de werking van een transponeer eenheid van FIG. 1 weergeeft; J 0 3 Oi 32"___ _ 6 FIG. 4 een stroomdiagram is van een inverse transformatie werkwijze volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding; FIG. 5 een diagram is dat de inverse transformatie toont van een 8x8 blok, volgens een uitwerking van de onderhavige uitvinding; 5 FIG. 6 een diagram is dat de inverse transformatie toont van een 8x8 blok, dat een paar van 8x4 blokken omvat, volgens een uitwerking van de onderhavige uitvinding; FIG. 7 een diagram is dat de inverse transformatie toont van een 8x8 blok, dat een paar van 4x8 blokken omvat, volgens een uitwerking van 10 de onderhavige uitvinding; en FIG. 8 een diagram is dat de inverse transformatie toont van een 8x8 blok, omvattende twee paar 4x4 blokken, volgens een uitwerking van de onderhavige uitvinding.
15 Gedetailleerde beschrijving van de voorkeursuitvoeringsvormen.
Thans zal in meer detail worden gerefereerd naar uitvoeringsvormen van de onderhavige uitvinding, waarvan voorbeelden in de begeleidende tekeningen zijn weergegeven, waarin gelijke 20 referentienummers naar gelijke elementen verwijzen. De uitvoeringsvormen worden in het onderstaande beschreven om de onderhavige uitvinding aan de hand van de figuren te verduidelijken.
De onderhavige uitvinding zal nu in meer detail worden beschreven aan de hand van de begeleidende figuren, waarin voorbeelden 25 van de uitvinding worden getoond.
Transformatie en inverse transformatie zijn in hoofdzaak aan elkaar gelijk, behalve dat daarbij verschillende matrices worden toegepast. Derhalve zal de uitvinding, ten behoeve van het gemak van de uiteenzetting, thans in meer detail worden toe gelicht waarbij slechts inverse 30 transformatie wordt beschreven. Echter, duidelijk is, dat de verschillende 103ÖT32' 7 principes die in deze beschrijving worden gegeven met betrekking tot inverse transformatie tevens direct toepasbaar zijn op transformatie.
Een VC1 beeld compressie werkwijze levert vier typen van inverse transformatie, te weten 8x8 inverse transformatie, 8x4 inverse 5 transformatie, 4x8 inverse transformatie en 4x4 inverse transformatie, die van elkaar verschillen in termen van de grootte van de blokken die ze kunnen verwerken.
Elk van de vier typen inverse transformatie gaat gepaard met drie operaties, te weten het uitvoeren van een eerste één-dimensionale (1D) 10 inverse transformatie operatie in een rijrichting, het uitvoeren van een transponeeroperatie, en het uitvoeren van een tweede 1D inverse transformatie operatie in een kolomrichting. Dit type inverse transformatie wordt 2D inverse transformatie genoemd, aangezien een paar van 1D inverse transformaties wordt uitgevoerd in een rijrichting, en vervolgens in 15 een kolomrichting. De transponeeroperatie wordt uitgevoerd onder gebruikmaking van twee groepen van registers tussen de eerste en tweede 1D inverse transformaties.
Figuur 1 toont een blokdiagram van een inverse transformatie-inrichting 1 volgens een uitvoering van de onderhavige uitvinding. Zoals 20 figuur 1 toont, is de inverse transformatie-inrichting 1 voorzien van een eerste inverse transformatie-eenheid 10, die een 1D inverse transformatie operatie uitvoert op invoergegevens in een rijrichting, een transponeeroperatie eenheid 20, die een transponeeroperatie uitvoert onder gebruikmaking van twee groepen registers om kolommen en rijen te 25 transponeren van de invoergegevens, en een tweede inverse transformatie eenheid 30, die een 1D inverse transformatie operatie op de invoergegevens in een kolomrichting uitvoert. De eerste en tweede inverse transformatie-eenheden 10 en 30 hebben dezelfde structuur, behalve dat ze te maken hebben met verschillende groottes van gegevens en verschillende ROM 30 tabellen gebruiken, die verder in meer detail zullen worden beschreven.
1030132' 8
Een VC1 inverse transformatiewerkwijze zal nu worden toegelicht in meer detail. Gedetailleerde beschrijvingen van een matrix die wordt gebruikt voor het uitvoeren van een inverse transformatie operatie op een 8-puntblok en een matrix die wordt gebruikt voor het uitvoeren van een 5 inverse transformatie operatie op een 4-puntblok zal eerst in de volgende paragrafen worden gepresenteerd.
Een matrix Ts die wordt gebruikt voor het uitvoeren van een eerste inverse transformatie operatie op een 8-puntblok in een rijrichting luidt als volgt: 10 aaaaaaaa b d e g -g -e -d -b c f -f -C -c -f f c d ~g -b -e e b g -d — a -a -a a a -a -a a e -b g d -d -g b -e f ~c c -f -f c -c f
g -e d -b b -d e -gJ
'al [12] b 16 c 16 d = 15 e 9 / 6 g 4 waarin l j
Een matrix Tv'e die wordt gebruikt voor het uitvoeren van een 15 tweede inverse transformatie operatie op het 8-puntblok in een kolomrichting luidt als volgt: 1030Ί32"_______ 9 abcdaëfg s 3 j -g -a -E -e -s a e -ƒ ~b ~a g c d j* = a g ~c ~ë' a d -j ~b
8 a -g ~c ë' S ~3 -f F
a -e -f b -a -g c -id a -3 f g ~a b -c ê 3 -E c -3 3 -ë f ~g [«] [6] F 8 c 8 d = 7 ë 4 7 3 g 2
waarbij J
Een correctie matrix Δ die wordt gebruikt bij de tweede inverse 5 transformatie operatie uitgevoerd op het 8-puntblok luidt als volgt: Γ D*o]
DU
DU
A- *
-DU
-DU -DU u- dU
Γ0 °1 0 1 0 o 1¾ 0 0 1 o o o waarbij .
1030132' 10
Een matrix T4 die wordt gebruikt voor het uitvoeren van een eerste inverse transformatie operatie op een 4-punt blok in een rij-inrichting luidt als volgt: 5 k k k k l m -m -l 71 = k -k -k k [m -l l -m μι Γΐ7~ l = 21 [wj 10 waarbij
Een matrix -^V* die wordt gebruikt voor het uitvoeren van een 10 tweede inverse transformatie operatie op het 4-punt blok in een kolomrichting luidt als volgt: \k ï km' T* = k m -k -ï 4 k -m -k ï [ï -l k -m k 8 ï = 11 15 waarbij .
Vergelijkingen die inverse transformatie operaties representeren voor het inverse transformeren van blokken met verschillende groottes onder gebruikmaking van bovengenoemde matrix Te, Δ, T4, en ^ '* zullen in de volgende paragrafen worden toegelicht.
1030132" 11 1) 8x8 Inverse transformatie
Een eerste inverse transformatie operatie wordt uitgevoerd op een 8-puntblok in een rij-inriching onder gebruikmaking van de matrix Te. De 5 eerste inverse transformatie operatie kan worden uitgedrukt onder gebruikmaking van vergelijking (1): Σ\ =(D-T8+4) »3 10 waarbij D een 8-puntblok is dat inverse getransformeerd dient te worden, en Di een 8-puntblok is, dat wordt verkregen als resultaat van het uitvoeren van een eerste inverse transformatie op het 8-puntblok D in een rijrichting onder gebruikmaking van de matrix Te.
Wanneer Di is verkregen, wordt een transponeeroperatie 15 uitgevoerd op het 8-puntblok Di zodat rijen en kolommen van het 8-puntblok Di kunnen worden getransponeerd. Daarna wordt een tweede inverse transformatie operatie uitgevoerd op het getransponeerde 8-puntblok Di in een kolomrichting onder gebruikmaking van de matrices T* and Δ. De tweede inverse transformatie informatie operatie kan 20 worden uitgedrukt met vergelijking (2): R = [7^ · Dl +Δ + 32j» 6 waarbij R een resultaat is van het uitvoeren van een tweede inverse transformatie op het getransponeerde 8-puntblok Di in een kolomrichting onder gebruikmaking van de matrices en Δ.
25 2) 8x4 Inverse Transformatie
Een eerste inverse transformatie operatie wordt uitgevoerd op een 4-punt blok in een rijrichting onder gebruikmaking van de matrix T4. De 1030132' 12 eerste inverse transformatie operatie kan worden uitgedrukt onder gebruikmaking van vergelijking (3): £, = (£>· Γ4+4)»3 waarbij D een 4-puntblok is, dat inverse getransformeerd dient te worden, 5 en Di en 4-puntblok is dat wordt verkregen als een resultaat van het uitvoeren van een eerste inverse transformatie operatie op het 4-puntblok D in een rijrichting onder gebruikmaking van de matrix T4.
Vervolgens wordt een transponeeroperatie uitgevoerd op het 4-puntblok Di zodat rijen en kolommen van het 4-puntblok Di kunnen 10 worden getransponeerd. Vervolgens wordt een tweede inverse transformatie operatie uitgevoerd op het getransponeerde 4-puntblok Di in een kolominrichting onder gebruikmaking van de matrices ^8 * en Δ. De tweede inverse transformatie operatie kan worden uitgedrukt door vergelijking (4): 15 Λ = [7^ Α+Δ + 32]»6 waarin R een resultaat is van het uitvoeren van een tweede inverse transformatie op het getransponeerde 4-puntblok Di in een kolomrichting
• r7~% r Z
onder gebruikmaking van de matrices 18 en Δ.
20 3) 4x8 Inverse Transformatie
Een eerste inverse transformatie operatie wordt uitgevoerd op een 8-puntblok in een rijrichting onder gebruikmaking van de matrix Te. De eerste inverse transformatie operatie kan worden uitgedrukt onder gebruikmaking van vergelijking (5): 25 A = 4) »3 waarin D een 8-puntblok is die inverse getransformeerd dient te worden, en Di een 8-puntblok is verkregen als een resultaat van het 1030132" 13 uitvoeren van een eerste inverse transformatie op het 8-puntblok D in een rijrichting onder gebruikmaking van de matrix Te.
Vervolgens wordt een transponeeroperatie uitgevoerd op het 8-puntblok Di zodat rijen en kolommen van het 8-puntblok Di kunnen worden 5 getransponeerd. Vervolgens wordt een tweede inverse transformatie operatie uitgevoerd op het getransponeerde 8-puntblok Di in een kolomrichting onder gebruikmaking van de matrices ^V* en Δ kunnen worden uitgedrukt via vergelijking (6): R = \rf jD, + Δ + 321» 6
10 L « i J
waarin R een resultaat is van het uitvoeren van een tweede inverse transformatie op het getransponeerde 8-puntblok Di in een kolomrichting onder gebruikmaking van de matrices ^ en Δ.
15 4) 4x4 Inverse Transformatie
Een eerste inverse transformatie operatie wordt uitgevoerd op een 4-puntblok in een rijrichting onder gebruikmaking van de matrix T4. De eerste inverse transformatie operatie kan worden uitgedrukt onder gebruikmaking van vergelijking (7): 20 Σ\ = (DTt +4) »3 waarin D een 4-puntblok is om inverse getransformeerd te worden, en Di een 4-puntblok is verkregen als een resultaat van het uitvoeren van eerste inverse transformatie op het 4-puntblok D in een rijrichting onder 25 gebruikmaking van de matrix T4.
Vervolgens wordt een transponeeroperatie uitgevoerd op het 4-puntblok Di zodat rijen en kolommen van het 4-puntblok Di kunnen worden getransponeerd. Vervolgens wordt een tweede inverse transformatie 1030132"
V
i 14 operatie uitgevoerd op het getransponeerde 4-puntblok Di in een kolomrichting onder gebruikmaking van de matrices en Δ. De tweede inverse transformatie kan worden uitgedrukt onder gebruikmaking van vergelijking (8): R = \r? Α + Δ + 32]» 6
O
waarin R een resultaat is van het uitvoeren van een tweede inverse transformatie op het getransponeerde 4-puntblok Di in een kolomrichting onder gebruikmaking van de matrices en Δ.
De bovenbeschreven inverse transformatie operaties kunnen 10 worden gerealiseerd als hardware op verschillende manieren. Een voorbeeld van dergelijke hardware die is een transformatie inrichting die in staat is om blokken te transponeren die verschillende groottes hebben onder gebruikmaking van ROM tabellen en een multiplexer. De transformatie-inrichting wordt beschreven in de Koreaanse octrooiaanvrage nummer 10-15 2004-55894 ingediend op 19 juli 2004 door dezelfde aanvrager als van de onderhavige uitvinding.
FIG. 2 is een gedetailleerd blokdiagram van de eerste of tweede inverse transformatie-eenheid 10 of 30 van FIG. 1. Zoals FIG. 2 toont, is de eerste of tweede inverse transformatie-eenheid 10 of 30 voorzien van één of 20 meer ROM tabellen, bijvoorbeeld, een groep van 8-punt ROM tabellen, bijvoorbeeld, een groep van 8-punt ROM tabellen 202 en een groep van 4-punt ROM tabellen 202 en een groep van 4-punt ROM tabellen 204, en een inverse transformatieprocessor 206.
Elk van de ROM tabellen van de eerste of tweede inverse 25 transformatie-eenheid 10 of 30 is voorzien van de matrices Te, -^V*, Δ, T4 en
rp fZ
14 nodig voor het inverse transformeren van blokken van verschillende groottes. In het bijzonder is elk van de 8-punt ROM tabellen 202 voorzien van de matrices Te en ^V*, en elke van 4-punt ROM tabellen is voorzien 1030132" 15 van de matrices T4 en ^V". Derhalve, wanneer gegevens in de inverse transformatie-inrichting van FIG. 1 worden ingevoerd, wordt één van de 8-punt ROM tabellen 202 of één van de 4-punt ROM tabellen 204 geselecteerd, gebaseerd op de grootte van de invoergegevens, bijvoorbeeld, of 5 de invoergegevens een grootte van 8x8, 8x4, 4x8, of 4x4 hebben. Vervolgens voert de inverse transformatieprocessor 206 een inverse transformatie operatie uit op de invoergegevens met inachtneming van de geselecteerde ROM tabel.
Op deze manier kan de inverse transformatie inrichting 1 van FIG.
10 1 omgaan met gegevens van verschillende groottes, door eenvoudig gebruik te maken van ROM tabellen zonder hardwarematig te moeten worden aangepast, terwijl een conventionele DCT inrichting, die gebaseerd is op MPEG-2, slechts gegevens van een vaste grootte, bijvoorbeeld, een grootte van 8x8, kan ontvangen en verwerken.
15 De inverse transformatie processor 206 selecteert één van de 8- punttabellen 202 of één van de 4-punt ROM tabellen 204 met inachtneming van de grootte van invoergegevens, en voert vervolgens een inverse transformatie operatie uit op de invoergegevens onder raadpleging van de geselecteerde ROM tabel.
20 Kort gezegd is de eerste of inverse transformatie eenheid 10 of 30 voorzien van de 8-punt ROM tabellen 202 en de 4-punt ROM tabellen 204 om gegevens van verschillende groottes te verwerken, zoals groottes van 8x8, 8x4, 4x8, en 4x4. De inverse transformatieprocessor 206 selecteert één van de 8-punt ROM tabellen 202 of één van de 4-punt ROM tabellen 204 25 naar aanleiding van de grootte van gemultiplexte gegevens die zijn ingevoerd in de eerste of tweede inverse transformatie eenheid 10 of 30. Vervolgens voert de inverse transformatieprocessor 206 een inverse transformatie uit op de ingevoerde gemultiplexte gegevens onder referentie naar de geselecteerde ROM tabel. Op de manier is het mogelijk om een m <5 oi 32" 16 inverse transformatie efficiënt uit te voeren op gegevens, ongeacht de grootte of het type van gegevens, zonder de hardwarestructuur van de inverse transformatie inrichting 1 van FIG. 2 aan te passen.
Bovendien is het mogelijk om 8x8 blokken, die in MPEG zijn 5 gecodeerd, inverse te transformeren, evenals 8x8 blokken die in VC1 zijn gecodeerd, onder gebruikmaking van de inverse transformatie inrichting 1 van FIG. 2. Derhalve is het mogelijk om een multi-format decoder te realiseren onder gebruikmaking van de inverse transformatie inrichting 1 van FIG. 2.
10 Figuur 3 is een diagram dat de werking van de transponeeroperatie eenheid 20 van FIG. 1 toont. Zoals figuren 1 en 3 tonen, transponeert de transponeeroperatie eenheid 20 rijen en kolommen van een blok die een rijrichting eerste inverse transformatie operatie heeft ondergaan, uitgevoerd door de eerste inverse transformatie eenheid 10 als deel van voorbereiding 15 voor het uitvoren van een tweede inverse transformatie operatie op het blok in een kolomrichting. Indien het blok een grootte van 8x8 heeft, voert de transponeereenheid 20 een 8x8 transponeeroperatie uit op het blok. Een voorbeeld van de 8x8 transponeeroperatie wordt getoond in FIG. 3. Indien het blok een grootte heeft van 8x4, 4x8 of 4x4, kan de transponeereenheid 20 20 een transponeeroperatie uitvoeren die compatible is met de grootte van het blok.
De werking van de inverse transformatie inrichting 1 van FIG. 1, boven beschreven onder verwijzing naar FIG. 3 en 4, kan als volgt worden samengevat.
25 1) Inverse Transformatie van 8x8 blok
Een 8-punt inverse transformatie operatie wordt uitgevoerd op een 8x8 blok in een rijrichting, rijen en kolommen van het 8x8 blok worden getransponeerd door een 8x8 transponeeroperatie, en de 8-punt inverse 1030132“ 17 transformatie operatie wordt uitgevoerd op het getransponeerde 8x8 blok in een kolomrichting.
2) Inverse transformatie van een 8x4 blok 5 Een 4-punt inverse transformatie operatie wordt 8 maal uitgevoerd op een 8x4 blok in een rijrichting, rijen en kolommen van het 8x4 blok worden getransponeerd door een 8x4 transponeer operatie, en een 8-punt inverse transformatie operatie wordt 4 keer uitgevoerd op het getransponeerde 8x4 blok in een rijrichting. Een totaal van 2 iteraties van 10 de 4-punt inverse transformatie operatie, de 8x4 transponeeroperatie, en de 8-punt inverse transformatie operatie worden uitgevoerd.
3) Inverse transformatie van een 4x 8 blok.
Een eerste 8-punt inverse transformatie operatie wordt 4 keer 15 uitgevoerd op een 4x8 blok in een rijrichting, rijen en kolommen van het 4x8 blok worden getransponeerd door een 4x8 transponeeroperatie en een tweede 8-punt inverse transformatie operatie wordt 4 keer uitgevoerd op het getransponeerde 4x8 blok in een kolomrichting. Een totaal van twee iteraties van de eerste 8-punt inverse transformatie operatie, de 4x8 20 transponeer operatie en de tweede 8-punt inverse transformatie operatie wordt uitgevoerd.
4) Inverse transformatie van 8x8 blok
Een eerste 4-punt inverse transformatie operatie wordt 4 keer 25 uitgevoerd op een 4x4 blok in een rijrichting, rijen en kolommen van het 4x4 blok worden door een 4x4 transponeeroperatie getransponeerd en een tweede 4-punt inverse transformatie operatie wordt vier keer uitgevoerd op het getransponeerde 4x4 blok in een rijrichting. Een totaal van 4 iteraties van de eerste 4-punt inverse transformatie operatie, de 4x4 transponeer 1030132' 18 operatie en de tweede 4-punt inverse transformatie operatie wordt dan uitgevoerd.
Zoals boven is beschreven, kan het onderhavige uitvoeringsvoorbeeld tot de volgende problemen leiden, zelfs wanneer het 5 blokken van verschillende groottes inverse kan transformeren. In de eerste plaats, in het geval van het verwerken van een 8x4 of 4x8 blok, zijn de proces cyclus van het uitvoeren van een eerste inverse transformatie operatie op het 8x4 of 4x8 blok en de proces cyclus van het uitvoeren van een tweede inverse transformatie op het 8x4 of 4x8 blok niet symmetrisch, 10 en derhalve is de gehele proces cyclus van het inverse transformeren van het 8x4 of 4x8 blok tot aan verdubbeld in vergelijking met de gehele proces cyclus van het inverse transformeren van een 8x8 blok, aangezien, bij het inverse transformeren van een 8x4 of 4x8 een totaal van twee iteraties van de eerste inverse transformatie operatie, een transponeeroperatie, en de 15 tweede inverse transformatie dient te worden uitgevoerd. Ten gevolge van de hardwarestructuur van de inverse transformatie inrichting 1, is de tijd nodig voor het uitvoeren van een 4-punt inverse transformatie operatie hetzelfde als de tijd nodig voor het uitvoeren van 8-punt inverse transformatie operatie. Wegens dezelfde reden is de gehele procescyclus van 20 het inverse transformeren van een 4x4 blok tot aan verviervoudigd ten j opzichte van de gehele procescyclus van een 8x8 blok. In de tweede plaats, bij het onderhavige uitvoeringsvoorbeeld, worden blokken van verschillende groottes getransponeerd door verschillende typen transponeeroperaties, en derhalve is het lastig om de operatie van de transponeereenheid 20 te 25 besturen.
Om deze problemen op te lossen, wordt een inverse transformatie werkwijze voorgesteld waarin een inverse transformatie operatie wordt uitgevoerd in eenheden van 8 gegevens. Bij de inverse transformatie werkwijze wordt een eerste inverse transformatie operatie uitgevoerd in 30 parallel op 8 gegevens, een 8x8 transponeeroperatie wordt eenmalig 10 3 013 2" 19 uitgevoerd op de 8 gegevens, en een tweede inverse transformatie operatie wordt in parallel uitgevoerd op de 8 gegevens. De structuur van een inverse transformatie inrichting die dit type van inverse transformatie werkwijze uitvoert is hetzelfde als de inverse transformatie inrichting 1 van FIG. 2. In 5 andere woorden, de inverse transformatie inrichting, zoals de inverse transformatie inrichting 1 van FIG. 2 is voorzien van een eerste inverse transformatie eenheid, een transponeereenheid, en een tweede inverse transformatie eenheid. Elk van de eerste en tweede transformatie eenheden voert twee 4-punt inverse transformatie operaties of een 8-punt inverse 10 transformatie operatie uit. De transponeer operatie-eenheid voert een 8x8 transponeeroperatie uit ongeacht de grootte van de blokken die daaraan worden toegevoerd. Dit type van inverse transformatie werkwijze zal nu worden beschreven in meer detail onder verwijzing naar FIG. 4.
FIG. 4 is een stroomdiagram van een inverse 15 transformatiewerkwijze volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding. Zoals FIG. 4 toont, worden bij stap 302 8 coëfficiënten gelijktijdig ontvangen in eenheden van 8x8 blokken, ongeacht het type van inverse transformatie die op invoergegevens dient te worden uitgevoerd. Wanneer het type inverse transformatie, dat dient te worden 20 uitgevoerd op de invoergegevens, 8x8 is of 4x8 bij stap 304, wordt een 8-punt inverse transformatie operatie uitgevoerd op de invoergegevens in een rijrichting bij stap 308. Indien het type inverse transformatie dat dient te worden uitgevoerd op de invoergegevens, 8x4 of 4x4 is tijdens stap 304, worden twee 4-punt inverse transformatie operaties gelijktijdig uitgevoerd 25 op de invoergegevens bij stap 306. Op deze manier is het mogelijk om te voorkomen, dat de gehele procescyclus van het inverse transformeren van de invoergegevens onnodig wordt verlengd door het uitvoeren van twee 4-punt inverse transformatie operaties in parallel op de invoergegevens.
Bovendien, het resultaat van het gelijktijdig uitvoeren van twee 4-punt 30 inverse transformatie operaties op de invoergegevens is hetzelfde als een 10 3 013 2 ~ _ 20 resultaat van het uitvoeren van een 8-punt inverse transformatie operatie op de invoergegevens ongeacht de grootte of het type van de inverse transformatie die op de invoergegevens dient te worden uitgevoerd.
Bij stap 310 worden rijen en kolommen van de invoergegevens, die 5 bij stap 306 primair inverse zijn getransformeerd, getransponeerd door een transponeeroperatie. Een voorbeeld van de transponeeroperatie is weergegeven in FIG. 3.
Indien het type inverse transformatie dat dient te worden uitgevoerd op de getransponeerde invoergegevens 8x8 of 8x4 inverse 10 transformatie is bij stap 312, wordt een 8-punt inverse transformatie operatie uitgevoerd op de getransponeerde invoergegevens in een rijrichting bij stap 316. In het andere geval worden twee 4-punt inverse transformatie operaties gelijktijdig uitgevoerd op de getransponeerde invoergegevens in een kolomrichting bij stap 314. Bij stap 314, zoals bij stap 306, worden twee 15 4-punt inverse transformatie operaties gelijktijdig uitgevoerd, hetgeen de gehele procescyclus van het inverse transformeren van de invoergegevens voorkomt. Bij stap 318 worden 8 inverse getransformeerde coëfficiënten uitgevoerd.
FIG.5 is een diagram dat de inverse transformatie van een 8x8 blok 20 toont volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding. Zoals FIG. 5 toont, wordt een eerste 8-punt inverse transformatie uitgevoerd op het 8x8 blok, zodat rijen 1, 2, 3, 4, 5, 6, 7, en 8 van het 8x8 blok achtereenvolgens inverse kunnen worden getransformeerd, zoals is weergegeven in de linkerzijde van FIG. 5. Vervolgens wordt een 8x8 25 transponeeroperatie uitgevoerd op het 8x8 blok, zodat rijen en kolommen van het 8x8 blok kunnen worden getransponeerd, zoals wordt getoond in het midden van FIG. 5. Vervolgens wordt een tweede 8-punt inverse transformatie uitgevoerd op het getransponeerde 8x8 blok, zodat rijen 1, 2, 3, 4, 5, 6, 7, en 8 van het getransponeerde 8x8 blok achtereenvolgens inverse
V
103 0132" _____ 21 kunnen worden getransformeerd, zoals wordt getoond aan de rechterzijde van FIG. 5.
FIG. 6 is een diagram dat de inverse transformatie toont van een 8x8 blok, dat is voorzien van een paar van 8x4 blokken, bijvoorbeeld, eerste 5 en tweede 8x4 blokken, volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding. Zoals FIG. 6 toont, worden twee 4-punt inverse transformatie operaties gelijktijdig uitgevoerd op de eerste en tweede 8x4 blokken zodat rijen 1, 3, 5, 7, 9, 11,13, en 15 in het eerste 8x4 blok achtereenvolgens inverse kunnen worden getransformeerd samen met rijen 10 2, 4, 6, 8, 10, 12, 14, respectievelijk 16, in het tweede 8x4 blok, zoals is weergegeven aan de linkerzijde van FIG. 6. In andere woorden, rijen 1, 3, 5, 7, 9, 11, 13 en 15 in het eerste 8x4 blok worden achtereenvolgens inverse getransformeerd, terwijl rijen 2, 4, 6, 8, 10, 12, 14, en 16 in het tweede 8x4 blok achtereenvolgens inverse worden getransformeerd. Vervolgens wordt 15 een 8x8 transponeeroperatie uitgevoerd op het 8x8 blok, zodat de rijen en kolommen van het 8x8 blok kunnen worden getransponeerd, zoals is weergegeven in het midden van FIG. 6. Vervolgens wordt een 8-punt inverse operatie uitgevoerd op het getransponeerde 8x8 blok, zodat rijen 1, 2, 3, en 4 in de bovenste helft van het getransponeerde 8x8 blok, bijvoorbeeld in het 20 eerste 8x4 blok, achtereenvolgens inverse kunnen worden getransformeerd en dan kunnen rijen 5, 6, 7, en 8 in de lagere helft van het getransponeerde 8x8 blok, bijvoorbeeld in het tweede 8x4 blok, achtereenvolgens inverse worden getransformeerd, zoals is weergegeven in de rechterzijde van FIG. 6.
FIG. 7 is een diagram dat de inverse transformatie toont van een 25 8x8 blok, dat is voorzien van een paar van 4x8 blokken, bijvoorbeeld eerste en tweede 4x8 blokken, volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding. Zoals FIG. 7 toont, wordt een 8-punt inverse operatie uitgevoerd op het 8x8 blok, zodat rijen 1, 2, 3,4, 5, 6 en 8 van het 8x8 blok achtereenvolgens inverse kunnen worden getransformeerd, zoals is 30 weergegeven in de linkerzijde van FIG. 7. Vervolgens wordt een 8x8 T 0 3 0 r 3 2 ~ 22 transponeeroperatie uitgevoerd op het 8x8 blok, zodat de rijen en kolommen van het 8x8 blok kunnen worden getransponeerd, zoals is weergegeven in het midden van FIG. 7. Vervolgens worden twee 4-punt inverse transformatie operaties uitgevoerd op het getransponeerde 8x8 blok, zodat 5 rijen 1, 3, 5 ,7, 9, 11, 13 en 15 in de linkerhelft van het getransponeerde 8x8 blok achtereenvolgens inverse kunnen worden getransformeerd samen met rijen 2, 4, 6, 8, 10, 12, 14 en 16, respectievelijk, in de rechterhelft van het getransponeerde 8x8 blok, zoals is weergegeven in de rechterzijde van FIG.
7.
10 FIG. 8 is een diagram dat de inverse transformatie operatie van een 8x8 blok toont, dat is voorzien van twee paren van 4x4 blokken, volgens een uitvoeringsvoorbeeld van de onderhavige uitvinding. Zoals FIG. 8 toont, worden een eerste paar van 4-punt inverse transformatie operaties uitgevoerd in parallel op de linker en rechterhelften van het 8x8 blok, zodat 15 rijen 1, 3, 5, 7, 9, 11, 13 en 15 in de linkerhelft van het 8x8 blok achtereenvolgens inverse kunnen worden getransformeerd samen met rijen 2, 4, 6, 8, 10, 12, 14, en 16, respectievelijk, in de tweede helft van het 8x8 blok, zoals is weergegeven in de linkerzijde van FIG. 8. In andere woorden, rijen 1, 3, 5, 7, 9, 11, 13, en 15 worden achtereenvolgens inverse 20 getransformeerd door een 4-punt inverse transformatie operatie terwijl rijen 2, 4, 6, 8, 10, 12, 14, en 16 achtereenvolgens inverse worden getransformeerd door een 4-punt inverse transformatie operatie. Vervolgens wordt een 8x8 transponeeroperatie uitgevoerd op het 8x8 blok, zodat rijen en kolommen van het 8x8 blok kunnen worden getransponeerd, zoals is 25 weergegeven in het midden van FIG. 8. Vervolgens wordt een paar van 4-punt inverse transformatie operaties uitgevoerd in parallel op de linker- en rechterhelften van het getransponeerde 8x8 blok, zodat rijen 1, 3, 5, 7, 9, 11, 13 en 15 in de linkerhelft van het getransponeerde 8x8 blok achtereenvolgens inverse kunnen worden getransformeerd samen met rijen 1 0 3 Ö T 3 2 ~ 23 2, 4, 6, 8, 10, 12, 14, en 16 respectievelijk in de rechterhelft van het 8x8 blok, zoals weergegeven in de rechterzijde van FIG. 8.
Een inverse transformatie werkwijze waarin een inverse transformatie operatie wordt uitgevoerd in eenheden van 8 gegevens is 5 boven beschreven. In de inverse transformatie werkwijze wordt een eerste inverse transformatie operatie uitgevoerd parallel op de 8 gegevens, een 8x8 transponeer operatie eenheid wordt uitgevoerd op de 8 gegevens, en een tweede inverse transformatie operatie wordt in parallel uitgevoerd op de 8 gegevens. De hardware structuur van een inverse transformatie inrichting 10 die dit type van inverse transformatie werkwijze uitvoert, is hetzelfde als de inverse transformatie inrichting 1 van FIG. 2. In andere woorden, de inverse transformatie inrichting, zoals de inverse transformatie inrichting 1 van FIG. 2, is voorzien van eerste en tweede inverse transformatie-eenheden en een transponeeroperatie eenheid. Elk van de eerste en tweede 15 inverse transformatie eenheden voert een paar van 4-punt inverse transformatie operaties uit of een 8-punt inverse transformatieoperatie, overwegende de grootte van de blokken die daaraan worden toegevoerd. De transponeeroperatie eenheid voert altijd een 8x8 transponeeroperatie uit, ongeacht de grootte van daaraan toegevoerde blokken.
20 De uitvoeringsvoorbeelden van de onderhavige uitvinding zijn beschreven aan de hand van 8x8 blokken. Echter, de onderhavige uitvinding kan tevens worden toegepast op diverse blokgroottes, anders dan 8x8 blokgroottes.
Zoals boven is beschreven, is het volgens de onderhavige uitvinding 25 mogelijk om gegevens efficiënt inverse te transformeren, ongeacht de grootte of het type van de gegevens. In het bijzonder kan een eerste of tweede inverse transformatie eenheid gelijktijdig een totaal van 8 coëfficiënten bewerken door een inverse transformatie operatie parallel op de gegevens uit te voeren, en een transponeeroperatie eenheid altijd van 30 hetzelfde type transponeeroperatie op de gegevens ongeacht de grootte of J 0 3 0 7 3 2 " 24 type van de gegevens. Op deze manier is het mogelijk om de procescyclus van het inverse transformeren van de gegevens te verkorten en om de complexiteit in termen van de structuur en werking van de transponeeroperatie eenheid te verminderen.
5 Voor de vakman zal duidelijk zijn dat de onderhavige uitvinding niet is beperkt tot de beschreven uitvoeringsvoorbeelden. Diverse wijzigingen zijn mogelijk binnen het raam van de uitvinding zoals is verwoord in de navolgende conclusies.
1030132'

Claims (22)

1. Een transformatie en/of inverse transformatie inrichting voor gebruik in een audio en/of video codec, waarbij de transformatie en/of inverse transformatie inrichting is voorzien van: verscheidene ROM tabellen, welke worden geraadpleegd tijdens het 5 transformeren en/of inverse transformeren van invoergegevens met het oog op het format of de grootte van de invoergegevens; en een transformatie en/of inverse transformatie eenheid, die één van de ROM tabellen selecteert met het oog op het format of de grootte van de invoergegevens, en die de invoergegevens transformeert en/of inverse 10 transformeert onder raadpleging van de geselecteerde ROM tabel, waarbij de transformatie en/of inverse transformatie eenheid gelijktijdig een totaal van 2M gegevens parallel verwerkt ongeacht het format of de grootte van de invoergegevens; waarin M een integer is.
2. De transformatie en/of inverse transformatie inrichting volgens 15 conclusie 1, waarbij de transformatie en/of inverse transformatie inrichting is voorzien van: een eerste transformatie en/of inverse transformatie eenheid, die een transformatie of inverse transformatie operatie uitvoert op de invoergegevens in een rij-richting; en 20 een tweede transformatie en/of inverse transformatie eenheid, die een transformatie of inverse transformatie operatie uitvoert op de invoergegevens in een kolom-richting.
3. De transformatie en/of inverse transformatie inrichting volgens conclusie 2, verder voorzien van een transponeer operatie eenheid, die een 25 transponeer operatie uitvoert op de invoergegevens die door de eerste transformatie en/of inverse transformatie eenheid zijn verwerkt, zodat rijen en kolommen van de invoergegevens kunnen worden getransponeerd. 1030T32'
4. De transformatie en/of inverse transformatie inrichting volgens conclusie 3, waarbij de transponeer operatie eenheid een transponeeroperatie uitvoert op de in voer gegevens, welke door de eerste transformatie en/of inverse transformatie eenheid zijn verwerkt, in 5 eenheden van 2Mx2M blokken.
5. De transformatie en/of inverse transformatie inrichting volgens één der conclusies 2-5, waarbij in het geval dat het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, de eerste transformatie of inverse transformatie eenheid een 10 2M-punt transformatie of inverse transformatie operatie uitvoert op elke rij van de invoergegevens, die is voorzien van 2M coëfficiënten, waarbij in een ander geval de eerste transformatie of inverse transformatie eenheid een paar van M-punt transformatie en/of inverse transformatie operaties parallel uitvoert op elke rij van invoergegevens.
6. De transformatie en/of inverse transformatie inrichting volgens één der conclusies 2-4, waarbij in het geval dat het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, de tweede transformatie of inverse transformatie eenheid een 2M-punt transformatie of inverse transformatie operatie uitvoert op elke rij 20 van de invoergegevens, die is voorzien van 2M coëfficiënten, waarbij in een ander geval de tweede transformatie of inverse transformatie eenheid een paar van M-punt transformatie en/of inverse transformatie operaties parallel uitvoert op elke kolom van invoergegevens.
7. De transformatie en/of inverse transformatie inrichting volgens één 25 der voorgaande conclusies, waarbij het format van de invoergegevens een MPEG-2 format of een VC1 format is.
8. De transformatie en/of inverse transformatie inrichting volgens één der voorgaande conclusies, waarbij de grootte van de invoergegevens een grootte van 8x8, 8x4, 4x8, of 4x4 is. J 0 3 0 T 3 2 ~ _ _
9. De transformatie en/of inverse transformatie inrichting volgens één der voorgaande conclusies, waarbij de transformatie en/of inverse transformatie eenheid altijd dezelfde structuur heeft, ongeacht het format of de grootte van de invoergegevens.
10. De transformatie en/of inverse transformatie inrichting volgens één der voorgaande conclusies, waarin M gelijk is aan 4.
11. De transformatie en/of inverse transformatie inrichting volgens conclusie 4, waarin het 2Mx2M blok een 8x8 blok is.
12. De transformatie en/of inverse transformatie inrichting volgens 10 conclusie 11, waarbij M gelijk is aan 4.
13. Een audio en/of video codec voorzien van een transformatie en/of inverse transformatie inrichting volgens één der voorgaande conclusies, waarbij de audio en/of video codec bij voorkeur verscheidene data formats ondersteunt.
14. Een audio en/of video codec voorzien van een transformatie en/of inverse transformatie inrichting, en die verscheidene data formats ondersteunt, omvattende: verscheidene ROM tabellen, welke worden geraadpleegd tijdens het transformeren en/of inverse transformeren van invoergegevens gebaseerd op 20 het format of de grootte van de invoergegevens; en een transformatie en/of inverse transformatie eenheid, die één van de ROM tabellen selecteert gebaseerd op de grootte van de invoergegevens, en die de invoergegevens transformeert en/of inverse transformeert onder raadpleging van de geselecteerde ROM tabel, waarbij de transformatie en/of inverse 25 transformatie eenheid gelijktijdig een totaal van 2M gegevens parallel verwerkt ongeacht het format of de grootte van de invoergegevens.
15. Een transformatie en/of inverse transformatie werkwijze die wordt gebruikt in een audio en/of video codec, waarbij de transformatie en/of inverse transformatie werkwijze omvat: 1030732" het selecteren van één van verscheidene ROM tabellen met het oog op het format of de grootte van de invoergegevens; en het transformeren en/of inverse transformeren van de invoergegevens onder raadpleging van de geselecteerde ROM tabel, waarbij een totaal van 2M 5 gegevens gelijktijdig parallel wordt verwerkt bij het transformeren of inverse transformeren van de invoergegevens, ongeacht het format of de grootte van de invoergegevens.
16. Een transformatie en/of inverse transformatie werkwijze volgens conclusie 15, waarbij het transformeren en/of inverse transformeren van de 10 invoergegevens omvat: het uitvoeren van eerste transformatie en/of inverse transformatie operatie op de invoergegevens in een rij-richting; en het uitvoeren van een tweede transformatie of inverse transformatie operatie op de invoergegevens in een kolom-richting, waarin de 15 transformatie of inverse transformatie werkwijze verder is voorzien van het uitvoeren van een transponeer operatie op de invoergegevens, zodat rijen en kolommen van de invoergegevens kunnen worden getransponeerd na het uitvoeren van de eerste transformatie of inverse transformatie operatie.
17. Een transformatie en/of inverse transformatie werkwijze volgens 20 conclusie 16, waarbij bij het uitvoeren van de transponeer operatie, een transponeer operatie wordt uitgevoerd in eenheden van 2Mx2M blokken op de invoergegevens, welke bij het uitvoeren van de eerste transformatie en/of inverse transformatie operatie zijn verwerkt.
18. Een transformatie en/of inverse transformatie werkwijze volgens 25 conclusie 16 of 17, waarbij bij het uitvoeren van de eerste transformatie of inverse transformatie operatie, in het geval dat het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, een 2M-punt transformatie of inverse transformatie operatie wordt uitgevoerd op elke rij van de invoergegevens, die is voorzien 30 van 2M coëfficiënten, waarbij in een ander geval een paar van M-punt J0.T0T32" transformatie en/of inverse transformatie operaties parallel wordt uitgevoerd op elke rij van invoergegevens.
19. Een transformatie en/of inverse transformatie werkwijze volgens één der conclusies 16-18, waarbij bij het uitvoeren van de tweede 5 transformatie of inverse transformatie operatie, in het geval dat het type transformatie of inverse transformatie, die op de invoergegevens dient te worden uitgevoerd, 2Mx2M is of 2MxM, een 2M-punt transformatie of inverse transformatie operatie wordt uitgevoerd op elke rij van de I invoer gegevens, die is voorzien van 8 coëfficiënten, waarbij in een ander 10 geval een paar van M-punt transformatie en/of inverse transformatie operaties parallel wordt uitgevoerd op elke kolom van de invoergegevens.
20. Een transformatie en/of inverse transformatie werkwijze volgens één der conclusies 15-19, waarbij het format van de invoergegevens een MPEG-2 format of een VC1 format is. 15
21 Een transformatie en/of inverse transformatie werkwijze volgens één der conclusies 15-20, waarbij de grootte van de invoergegevens een grootte van 8x8, 8x4, 4x8, of 4x4 is.
22 Een transformatie en/of inverse transformatie werkwijze volgens één der conclusies 14-21, waarbij M gelijk is aan 4. 20 10 3 0 τ 3 2 ~__
NL1030132A 2004-10-06 2005-10-06 Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren. NL1030132C2 (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040079488A KR100754167B1 (ko) 2004-10-06 2004-10-06 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치
KR20040079488 2004-10-06

Publications (2)

Publication Number Publication Date
NL1030132A1 NL1030132A1 (nl) 2006-04-10
NL1030132C2 true NL1030132C2 (nl) 2006-05-09

Family

ID=36125635

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1030132A NL1030132C2 (nl) 2004-10-06 2005-10-06 Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren.

Country Status (4)

Country Link
US (1) US20060072846A1 (nl)
KR (1) KR100754167B1 (nl)
CN (1) CN1758758A (nl)
NL (1) NL1030132C2 (nl)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341362B2 (en) * 2008-04-02 2012-12-25 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations
KR101601864B1 (ko) * 2014-02-25 2016-03-10 숭실대학교산학협력단 동영상 코덱의 역변환 방법 및 그 장치
US10356440B2 (en) 2014-10-01 2019-07-16 Qualcomm Incorporated Scalable transform hardware architecture with improved transpose buffer
KR102390407B1 (ko) 2015-03-18 2022-04-25 한화테크윈 주식회사 디코더 및 디코더에서의 역변환 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
EP1065884A1 (en) * 1998-12-14 2001-01-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434808A (en) * 1993-10-29 1995-07-18 Nec Electronics, Inc. Highly parallel discrete cosine transform engine
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US6990506B2 (en) * 2000-12-13 2006-01-24 Sharp Laboratories Of America, Inc. Integer cosine transform matrix for picture coding
KR20060007142A (ko) * 2004-07-19 2006-01-24 삼성전자주식회사 역변환 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
EP1065884A1 (en) * 1998-12-14 2001-01-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AGGOUN A ET AL: "Two-dimensional DCT/IDCT architecture", IEE PROCEEDINGS E. COMPUTERS & DIGITAL TECHNIQUES, INSTITUTION OF ELECTRICAL ENGINEERS. STEVENAGE, GB, vol. 150, no. 1, 20 January 2003 (2003-01-20), pages 2 - 10, XP006019648, ISSN: 0143-7062 *
LIEBSCH W: "Parallel architecture for VLSI implementation of a 2-dimensional discrete cosine transform for image coding", THIRD INTERNATIONAL CONFERENCE ON IMAGE PROCESSING AND ITS APPLICATIONS (CONF. PUBL. NO.307), 1989, pages 609 - 612, XP006517507 *

Also Published As

Publication number Publication date
US20060072846A1 (en) 2006-04-06
CN1758758A (zh) 2006-04-12
KR100754167B1 (ko) 2007-09-03
NL1030132A1 (nl) 2006-04-10
KR20060030639A (ko) 2006-04-11

Similar Documents

Publication Publication Date Title
US6587590B1 (en) Method and system for computing 8×8 DCT/IDCT and a VLSI implementation
NL1030132C2 (nl) Transformatie en/of inverse transformatie werkwijze en inrichting, in staat om blokken van verschillende groottes te transformeren of inverse transformeren.
US7881542B2 (en) Coding apparatus, decoding apparatus, coding method and decoding method
Chen et al. Implementation of H. 264 encoder and decoder on personal computers
US6198772B1 (en) Motion estimation processor for a digital video encoder
EP0673171B1 (en) Video decoder
EP1850598A1 (en) Video coding and decoding with partial parallel processing
EP0955608B1 (en) Method and apparatus for resizing a compressed image
EP1708511B1 (en) Hardware implementation of optimized single inverse quantization engine for a plurality of standards
US7558431B2 (en) Method and system for discrete cosine transforms/inverse discrete cosine transforms based on pipeline architecture
WO2007049150A2 (en) Architecture for microprocessor-based systems including simd processing unit and associated systems and methods
US20110310971A1 (en) AVC I_PCM Data Handling and Inverse Transform in a Video Decoder
WO2010093828A1 (en) Front end processor with extendable data path
KR100270799B1 (ko) 이산코사인변환/역이산코사인변환 프로세서
US5774676A (en) Method and apparatus for decompression of MPEG compressed data in a computer system
JPH09261663A (ja) 多相有限インパルス応答水平フィルタを含むビデオ・デコーダ
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
Dias et al. Unified transform architecture for AVC, AVS, VC-1 and HEVC high-performance codecs
US7372906B2 (en) Compression circuitry for generating an encoded bitstream from a plurality of video frames
Hung et al. Statistical inverse discrete cosine transforms for image compression
JP2005184829A (ja) ビデオ圧縮用低パワー高性能変換コプロセッサ
US6728313B1 (en) Method and apparatus for performing MPEG II dequantization and IDCT
Kammoun et al. An optimized hardware architecture of 4× 4, 8× 8, 16× 16 and 32× 32 inverse transform for HEVC
Boyce et al. An SDTV decoder with HDTV capability: an all-format ATV decoder
US20150245027A1 (en) Inverse transform method and apparatus for video codec

Legal Events

Date Code Title Description
AD1B A search report has been drawn up
PD2B A search report has been drawn up
V1 Lapsed because of non-payment of the annual fee

Effective date: 20100501