DE102015113704A1 - Bildprozessor, Bildverarbeitungssystem mit Bildprozessor, Ein-Chip-System mit Bildverarbeitungssystem und Verfahren zum Betreiben des Bildverarbeitungssystems - Google Patents

Bildprozessor, Bildverarbeitungssystem mit Bildprozessor, Ein-Chip-System mit Bildverarbeitungssystem und Verfahren zum Betreiben des Bildverarbeitungssystems Download PDF

Info

Publication number
DE102015113704A1
DE102015113704A1 DE102015113704.6A DE102015113704A DE102015113704A1 DE 102015113704 A1 DE102015113704 A1 DE 102015113704A1 DE 102015113704 A DE102015113704 A DE 102015113704A DE 102015113704 A1 DE102015113704 A1 DE 102015113704A1
Authority
DE
Germany
Prior art keywords
bits
pixel data
memory
bit
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015113704.6A
Other languages
English (en)
Inventor
Kyung-ah Jeong
Sun-Young Shin
Jin-Hong OH
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
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
Priority claimed from KR1020140109039A external-priority patent/KR102264161B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102015113704A1 publication Critical patent/DE102015113704A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

Es ist ein Bildprozessor vorgesehen. In einigen Beispielen ist der Bildprozessor ein Ein-Chip-System oder ein Teil eines größeren Bildverarbeitungssystems. Der Bildprozessor kann einen Anwendungsprozessor (100, 410, 510), ein Codec-Modul (13, 120, 200, 411, 550, 610, 740) und einen Speichercontroller (130) aufweisen, und in einigen Beispielen kann er auch mit einer Dither-Einheit, einem Anzeigecontroller, einer Anzeige (450, 540, 920) und/oder einem CMOS-Bildsensor arbeiten. Der Bildprozessor verarbeitet, speichert und liest Bilddaten unter Verwendung eines eingebildeten Speichers (14, 150, 200, 440, 530, 750) und/oder eines externen Speichers (EM). Die Bilddaten bestehen aus einer Mehrzahl von Pixeln, von welchem jeder einen ersten und einen zweiten Satz von Bits aufweisen kann, auf welche getrennt oder gleichzeitig bei dem Speicher in einem ersten und zweiten Bereich des Speichers unter Verwendung einer oder mehrerer Adressen zugegriffen werden kann. Der erste Satz von Bits kann den mehr signifikanten Bits jedes Pixels entsprechen, und der zweite Satz von Bits kann den weniger signifikanten Bits entsprechen. In einigen Beispielen kann die Anzahl von Bits in jedem des ersten und zweiten Satzes von Bits gemäß der Breite eines verwendeten Datenbusses und/oder Merkmalen einer Peripherievorrichtung, welche mit dem Bildprozessor verbunden ist, wie beispielsweise einer Anzeige (450, 540, 920) ausgewählt werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht den Vorzug der koreanischen Patentanmeldung 10-2014-0109ß39 , welche am 21. August 2014 beim Koreanischen Amt für Gewerblichen Rechtsschutz (Korean Intellectual Property Office) eingereicht wurde, und der US-Patentanmeldung Nr. 14/820 556, welche am 7. August 2015 beim US-Patentamt eingereicht wurde, deren Offenbarungen hiermit hierin in ihrer Gesamtheit durch Bezugnahme mit eingebunden ist.
  • HINTERGRUND
  • Das erfinderische Konzept bezieht sich auf einen Bildprozessor und genauer auf einen Bildprozessor, ein Bildverarbeitungssystem, welches den Bildprozessor aufweist, ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System), welches das Bildverarbeitungssystem aufweist, und ein Verfahren zum Betreiben des Bildverarbeitungssystems.
  • Mit der Entwicklung und Popularisierung von Hardware, die in der Lage ist, hochauflösende Bilder oder Bilder hoher Qualität abzuspielen und zu speichern, ist es nötig, Signale von Bildern hoher Auflösung oder hoher Qualität effizient zu verarbeiten. Beim Verarbeiten eines Bildsignals kann ein Bildprozessor ein Bildsignal, welches zu verarbeiten ist, empfangen und ein verarbeitetes Bildsignal ausgeben. Das zu verarbeitende Bildsignal oder das verarbeitete Bildsignal kann über einen Systembus gespeichert werden in und gelesen werden aus einem Speicher.
  • Jeder Pixel, welcher in dem Bildsignal enthalten ist, kann Multi-Bit-Pixel-Daten aufweisen, und die Anzahl der übertragenen/empfangenen Bits kann sich abhängig von Signalverarbeitungsmerkmalen ändern. Solch ein Variabel-Bit-Bildsignal muss effizient zwischen Prozessoren übertragen werden.
  • KURZFASSUNG
  • Die Offenbarung sieht einen Bildprozessor vor, welcher effizient ein Variabel-Bit-Bildsignal verarbeitet, ein Bildverarbeitungssystem, welches den Bildprozessor aufweist, ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System), welches den Bildprozessor aufweist, und ein Verfahren zum Betreiben des Bildprozessors und des Bildverarbeitungssystems. In einigen Beispielen kann ein Codec-Modul verwendet werden, um ein Bild, welches durch einen CMOS-Bildsensor (CIS) erzeugt wird, zu kodieren oder zu dekodieren. Das Codec-Modul kann ein kodiertes Bild empfangen und dekodieren, und das dekodierte Bild kann eine Mehrzahl von Pixeln repräsentieren. Jeder der Pixel kann einen Pixelwert haben und jeder Pixelwert kann durch eine Mehrzahl von Bits repräsentiert werden, aufweisend eine Mehrzahl von ersten Bits und eine Mehrzahl von zweiten Bits. Die ersten und zweiten Bits all der Pixel können einen Bildrahmen bzw. Bild-Frame repräsentieren. Der Bildrahmen kann von einem stillstehenden Bild oder einem Teil eines sich bewegenden Bilds sein (beispielsweise ein Videosignal aufweisend).
  • Ein Anwendungsprozessor (AP = Application Processor = Anwendungsprozessor) kann den Speicher und das Lesen (d. h. die Datenzugriffe) der Pixelwerte steuern und ebenso bestimmte Verarbeitungsoperationen auf den Pixelwerten (beispielsweise Kompression, Dithern, Invers-Dithern, Kodieren/Dekodieren und dergleichen). Ein Speichercontroller kann verwendet werden, um auf Befehle durch ein Speichern in und ein Lesen aus einem Speicher der ersten und zweiten Bits jedes Pixelwerts eines Bildes (beispielsweise eines dekodierten Bildes) zu antworten.
  • Die ersten und zweiten Bits jedes Pixelwerts können unterschiedliche Abschnitte eines Pixelwerts repräsentieren. Beispielsweise können die ersten Bits die mehr signifikanten Bits sein und die zweiten Bits können die weniger signifikanten Bits jedes entsprechenden Pixelwerts sein. Der Speichercontroller kann auf nur die ersten Bits des Pixelwerts der Mehrzahl von Pixeln in einer ersten Operation aus einem Speicher zugreifen. In einer zweiten Operation kann der Speichercontroller auf die ersten Bits und die zweiten Bits der Mehrzahl von Pixeln aus dem Speicher zugreifen. Die ersten Bits können gespeichert werden in und nachfolgend gelesen werden aus dem Speicher an Orten, welche durch erste Adressen identifiziert werden, und die zweiten Bits können gespeichert werden in und nachfolgend ausgelesen werden aus dem Speicher an Orten, welche durch zweite Adressen identifiziert werden.
  • Das Codec-Modul kann eine Dither-Operation auf den ersten und zweiten Bits jedes Pixelwerts eines dekodierten Bildes durchführen.
  • Ein Bus kann Pixeldaten zwischen den unterschiedlichen funktionalen (beispielsweise Bildverarbeitungs-)Blöcken eines Anwendungsprozessors übertragen. Der Bus kann konfiguriert sein, um Übertragungen der ersten und zweiten Bits jedes Pixelwerts zu unterstützen, einschließlich einer Verarbeitung auf den ersten und zweiten Bits nach einem beliebigen Signal, welche ihren Wert ändert (beispielsweise nach einer Diterhing-Operation). Der Bus kann eine Datenbreite haben, um M Bits zu unterstützen, welche den ersten Bits vor oder nach der Signalverarbeitung entsprechen können. Die Breite des Busses kann M Bits oder ein Mehrfaches von M sein (beispielsweise kann, wo M = 8, die Busbreite 8, 16, 32, 64, 128 Bit etc. sein) und eine positive ganze Zahl K kann solch ein Mehrfaches repräsentieren. Der Speichercontroller kann den Zugriff auf die ersten Bits von K Pixelwerten in einem einzelnen steuern, parallel von dem Bus, und K kann einen Wert größer als oder gleich 1 haben.
  • Wenn der Speichercontroller in dem Speicher (beispielsweise einem eingebetteten Speicher, welcher in dem SoC eingebettet ist, oder einem externen Speicher weg vom Chip (off-chip)) bei ersten und zweiten Adressen des Speichers die ersten und zweiten Bits der Pixelwerte speichert, können die Adressen verwendet werden, um eine minimal zugreifbare bzw. zugängliche Einheit des Speichers zu identifizieren. Die minimal zugängliche Einheit des Speichers kann M Bits sein, wobei M eine positive ganze Zahl ist. Die Anzahl von N Bits kann ebenso eine positive ganze Zahl sein und weniger als M. Die N Bits können sich auf einen einzelnen Pixelwert beziehen und Controller bzw. Steuerungen des Speichers (beispielsweise eine Speichersteuerung bzw. ein Speichercontroller) können eine Mehrzahl von N Bits (beispielsweise von einer Mehrzahl von Pixeln) kombinieren, um die minimal zugängliche Einheit zu bilden. Die kombinierten Pixel können relativ zu dem Bildrahmen benachbart zueinander sein.
  • Die M Bits können in ersten Orten eines ersten Bereichs eines Speichers gespeichert sein, und die N Bits können in zweiten Orten eines zweiten Bereichs des Speichers gespeichert sein. Die Speicherorte, welche die M und die N Bits enthalten, können mit jeweils der ersten und der zweiten Adresse adressierbar sein.
  • Der CMOS-Bildsensor (CIS) kann ein erstes Bild, welches eine Mehrzahl von ersten Pixelwerten für eine Mehrzahl von Pixeln, welche das erste Bild repräsentieren, aufweist, erzeugen. Jeder der ersten Pixelwerte kann erste Bits und zweite Bits aufweisen. Wo die ersten und zweiten Bits verarbeitet werden, beispielsweise durch ein Codec-Modul, kann ein Ergebnis ein zweiter Pixelwert sein. Die ersten Bits können dem zweiten Pixelwert entsprechen, und die zweiten Bits können dem ersten Pixelwert entsprechen. Das abgetastete erste Bild kann zu einer zentralen Verarbeitungseinheit des Anwendungsprozessors oder einer anderen Vorrichtung für eine nachfolgende Verarbeitung über eine vorkonfigurierte Schnittstelle kommuniziert werden.
  • Der Prozessor oder das Codec-Modul können die Flexibilität haben, um die Anzahl von ersten und zweiten Bits jedes Pixelwerts zu ändern, abhängig von der Breite des Busses. Das Bildverarbeitungs-SoC kann demnach in unterschiedlichen Systemen (beispielsweise in unterschiedlichen Einhausungen und auf unterschiedlichen Boards bzw. Leiterplatten montiert werden) aufgrund dieser Konfigurierbarkeit platziert werden.
  • Bei einem Gelesenwerden aus dem Speicher können die ersten Bits der zweiten Bilddaten und die zweiten Bits der ersten Bilddaten wiederverarbeitet (reprocessed) werden (beispielsweise inverses Dithern) und durch das Codec-Modul wiedergepackt werden, um ein Referenzbild, im Wesentlichen dasselbe wie das originale, dekodierte Bild von dem CIS zu erzeugen.
  • Ein Halbleiter-SoC kann weiterhin einen Anzeigecontroller bzw. eine Anzeigesteuerung und eine Dither-Einheit aufweisen. Die Dither-Einheit kann ein dekodiertes Bild, welches aus einer Mehrzahl von Pixeln besteht dithern, um M geditherte Bits und N ungeditherte Bits für jeden Pixel zu erzeugen, wobei N eine positive ganze Zahl kleiner als M ist. Der Speichercontroller kann in einem Speicher die M geditherten Bits und die N ungeditherten Bits einer Mehrzahl von Pixeln, die dem dekodierten Bild entsprechen, speichern. Ein Bus kann eine Kommunikation zwischen dem Speicher, dem Speichercontroller, dem Codec-Modul und einem Prozessor vorsehen, wobei die Busbreite K×M sein kann, wobei K und M positive ganze Zahlen größer als 1 sind. Der Prozessor, der Codec, der Speichercontroller oder ein anderer funktionaler Block des SoC kann auf Sätze der M geditherten Bits und der N ungeditherten Bits in dem Speicher zugreifen unter Verwendung von Adressen des Speichers. Solche Zugriffe können einen Empfang der M geditherten Bits von K Pixelwerten parallel auf dem Bus aufweisen. Ein Anzeigecontroller kann nur die M geditherten Bits für eine Anzeige vorsehen oder zusätzlich die N ungeditherten Bits einer Mehrzahl von Pixeln. Der Anzeigecontroller kann die M und N Bits für die Anzeige über eine vorbestimmte Schnittstelle vorsehen.
  • Ähnlich zu dem Bildverarbeitungs-SoC von anderen Ausführungsformen kann jede der Adressen des Speichers eine minimal zugängliche Einheit des Speichers identifizieren, wobei die minimal zugängliche Einheit des Speichers beispielsweise M Bits ist. Der Prozessor, der Codec, der Speichercontroller oder andere funktionale Blöcke können ebenso auf die N ungeditherten Bits einer Mehrzahl von Pixeln über den Bus mittels der minimal zugänglichen Einheit des Speichers zugreifen. Der Speicher kann innerhalb desselben Chips wie das Halbleiter-SoC gebildet sein, oder der Speicher kann in (einem) unterschiedlichen Chip(s) gebildet sein.
  • In bestimmten Ausführungsformen des Halbleiter-SoC können einige innere Verarbeitungsblöcke des Codec-Moduls umgangen werden (beispielsweise die Diterhing-Schaltung), derart, dass P unverarbeitete (beispielsweise ungeditherte) Bits und N unverarbeitete Bits für den Speicher für jeden zu speichernden Pixel vorgesehen werden, wobei P eine positive ganze Zahl größer als oder gleich M ist.
  • Das Halbleiter-SoC, welches die Bildverarbeitung durchführt, kann ein Teil eines größeren Bildverarbeitungssystems sein. Das System kann einen CMOS-Bildsensor (CIS) aufweisen, welcher einen Frame bzw. Rahmen von ersten Bilddaten erzeugen kann, welche eine Mehrzahl von Pixeln aufweisen, von welchen jeder einen Pixelwert hat, welcher M erste Bits der ersten Bilddaten und N zweite Bits der ersten Bilddaten aufweist, wobei die M ersten Bits die mehr signifikanten Bits des Pixelwerts sind, und die N zweiten Bits die weniger signifikanten Bits des Pixelwerts sind, verglichen zu den M ersten Bits. Ein Prozessor kann ebenso enthalten sein, welcher eine Signalverarbeitungsoperation auf den ersten Bilddaten durchführen kann, um M dritte Bits von zweiten Bilddaten und N vierte Bits der ersten Bilddaten zu erzeugen. Ein Speichercontroller kann ebenso in dem System enthalten sein, um die M dritten Bits der zweiten Bilddaten und die N vierten Bits der ersten Bilddaten in den Speicher zu speichern. Der Speicher kann extern zu dem SoC sein.
  • Eine Anzeigevorrichtung und eine Anzeigesteuermodul können ebenso in dem System enthalten sein, so dass der Anzeigecontroller wenigstens die M dritten Bits der zweiten Bilddaten für die Anzeigevorrichtung vorsehen kann; abhängig von der Anzeigevorrichtung kann der Anzeigecontroller auch flexibel die N vierten Bits der ersten Bilddaten vorsehen. Die Anzeigevorrichtung kann demnach die M dritten Bits des zweiten Bilds (beispielsweise oder zusätzlich die N vierten Bits der ersten Bilddaten) verarbeiten, um einem Bildschirm bzw. ein Bild gemäß den verarbeiteten zweiten Bilddaten anzuzeigen. Die Anzeigevorrichtung kann eine Farbtiefe/Grauskala mit M vierten Bits pro Pixel implementieren. Das Anzeigesteuermodul kann diese Operation unterstützen durch ein wahlweises bzw. selektives Zugreifen auf einen ersten Bereich des Speichers und ein Vorsehen der M vierten Bits pro Pixel, welche den zweiten Bilddaten in dem ersten Bereich des Speichers entsprechen, für die Anzeigevorrichtung. Ähnlich kann, abhängig von der Anzeigevorrichtung, die Anzeigevorrichtung eine Farbtiefen-/Grau-Skala durch M vierte Bits und N dritte Bits implementieren und demnach kann das Anzeigesteuermodul (M + N) Bits von sowohl einem ersten als auch einem zweiten Bereich des Speichers vorsehen durch jeweils ein Vorsehen erster und zweiter Adressen. Die Anzahl von Bits, welche durch jede der M und N Variablen repräsentiert wird, kann konfigurierbar sein (beispielsweise durch einen Nutzer über einen Prozessor). In unterschiedlichen Ausführungsformen des Bildverarbeitungssystems kann der Anzeigecontroller selektiv M-Bit oder (M + N)-Bit-Bilddaten zu der Anzeigevorrichtung übertragen, flexibel abhängig von dem Typ von Anzeige im System.
  • Die M dritten Bits der zweiten Bilddaten können an ersten Orten des ersten Bereichs des Speichers zugreifbar bzw. zugänglich sein, und die N vierten Bits der ersten Bilddaten können an zweiten Orten eines zweiten Bereichs des Speichers zugänglich sein. Beispielsweise kann der Speichercontroller Pixelwerte der zweiten Bilddaten lesen und für den Prozessor vorsehen, welcher ein Codec-Modul sein kann. Das Codec-Modul kann eine Dither-Operation durchführen, bevor die zweiten Bilddaten in dem Speicher gespeichert werden, und das Codec-Modul kann eine inverse Dither-Operation durchführen nach dem Lesen der zweiten Bilddaten aus dem Speicher. Der Codec kann flexibel auf Pixeln der Bilddaten von variierender Bitbreite operieren.
  • Jeder der ersten Orte kann nur M dritte Bits von nur einem Pixelwert der zweiten Bilddaten bei einer ersten Adresse speichern. Jeder der zweiten Orte kann mehrere Sätze von N vierten Bits von mehreren Pixelwerten der ersten Bilddaten bei einer zweiten Adresse speichern. Controller des Speichers können simultan bzw. gleichzeitig die M dritten Bits der zweiten Bilddaten in die ersten Orte des ersten Bereichs des Speichers speichern, während sie die N vierten Bits der ersten Bilddaten in die zweiten Orte des zweiten Bereichs des Speichers speichern. Jede der ersten Adressen und zweiten Adressen kann eine minimal zugängliche Speichereinheit des Speichers identifizieren.
  • Ein Bus innerhalb des Bildverarbeitungssystems für Datenzugriffe der zweiten Bilddaten (beispielsweise einschließlich N dritte Bits der ersten Bilddaten) kann von einer variablen Bitbreite sein, beispielsweise kann der Bus eine Bitbreite von K×M Bits haben, wobei K eine positive ganze Zahl ist. K kann eine ganze Zahl gleich oder größer als 2 sein. Zugriffe auf den Bus können parallel durchgeführt werden, beispielsweise von K Sätzen von M dritten Bits von entsprechenden M Pixelwerten von zweiten Bilddaten.
  • Bei Datenzugriffen in dem Bildverarbeitungssystem können Pixelwerte eines Frame der ersten Bilddaten und entsprechende eine von Pixelwerten eines Frame der zweiten Bilddaten dieselben sein (beispielsweise können N zweite Bits der ersten Bilddaten im Wesentlichen dieselben sein wie N vierte Bits der ersten Bilddaten).
  • Ein Prozessor des Bildverarbeitungssystems kann die Anzahl von Bits der M und N Variablen hinsichtlich Architekturinformationen des Bildverarbeitungssystems bestimmen, beispielsweise, wo sich die Architekturinformationen auf eine Breite des Busses beziehen. In einigen Ausführungsformen kann M bestimmt werden, um 8 zu sein, und N kann bestimmt werden, um 2 zu sein. M kann ein Mehrfaches von 8 Bits sein.
  • In einigen Ausführungsformen kann das Bildverarbeitungs-SoC einen Anwendungsprozessor aufweisen, welcher ein Codec-Modul aufweisen kann, welches konfiguriert ist, um ein kodiertes Bild zu empfangen und zu dekodieren. Das dekodierte Bild kann repräsentiert sein als eine Mehrzahl von Pixeln, wobei jeder Pixel einen Pixelwert hat, welcher aus einer Mehrzahl von Bits besteht, aufweisend erste Bits und zweite Bits. Das Codec-Modul kann eine Dither-Einheit aufweisen, welche konfiguriert ist, um eine Dither-Operation auf dem dekodierten Bild durchzuführen. Der Speichercontroller kann konfiguriert sein, um von einem Speicher nur auf die ersten Bits von Pixeldaten der Mehrzahl von Pixeln in einer ersten Operation zuzugreifen, und kann konfiguriert sein, um von dem Speicher auf die ersten Bits und die zweiten Bits der Mehrzahl von Pixeln in einer zweiten Operation zuzugreifen. Das SoC kann eine Anzeigeschnittstelle aufweisen, welche konfiguriert ist, um mit einer Anzeige zu kommunizieren, und kann ebenso einen Anzeigecontroller aufweisen, welcher konfiguriert ist, um mit einer Anzeige über die Anzeigeschnittstelle zu kommunizieren. Der Anzeigecontroller kann konfiguriert sein, um zu der Anzeigeschnittstelle in einem ersten Modus eine erste Anzahl der Bits des Pixelwerts jedes der Mehrzahl von Pixeln zu übertragen, und um zu der Anzeigeschnittstelle in einem zweiten Modus eine zweite Anzahl der Bits des Pixelwerts jedes der Mehrzahl von Pixeln zu übertragen.
  • Ein Bildverarbeitungssystem kann ein SoC aufweisen im Wesentlichen wie in den obigen Ausführungsformen konfiguriert. Das Bildverarbeitungssystem kann zusätzlich einen CMOS-Bildsensor, eine Anzeige und einen Speicher aufweisen. Zusätzliche Ausführungsformen können Verfahren zum Betreiben eines Bildprozessors, Verfahren zum Betreiben eines SoC, in welchem sich der Bildprozessor befindet, aufweisen, und noch andere können Verfahren zum Betreiben des Bildverarbeitungssystems aufweisen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen des erfinderischen Konzepts werden deutlicher aus der folgenden detaillierten Beschreibung zusammengenommen mit den beigefügten Zeichnungen verstanden werden, in welchen:
  • 1 ein Blockschaltbild eines Beispiels eines Systems ist, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist;
  • 2 ein Blockschaltbild eines Beispiels ist, in welchem ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts als ein Ein-Chip-System (SoC) implementiert ist;
  • 3 ein Blockschaltbild eines SoC als ein Beispiel des SoC der 2 ist;
  • 4 und 5 Blockschaltbilder eines Beispiels einer Pixeldaten-Übertragungs-/Empfangs-Operation zwischen einem Bildprozessor und einem Speicher sind;
  • 6 ein Blockschaltbild eines Codec-Moduls als einem Beispiel eines Codec-Moduls der 5 ist;
  • 7A und 7B Blockschaltbilder eines Beispiels des Speicherns von Pixeldaten in dem Speicher sind;
  • 8A und 8B Blockschaltbilder eines anderen Beispiels des Speicherns von Pixeldaten in dem Speicher sind;
  • 9A und 9B ein Beispiel von Dither- und Invers-Dither-Operationen veranschaulichen, welche unter Bezugnahme auf 6 beschrieben werden;
  • 10 ein Blockschaltbild eines Beispiels des Übertragens von Daten zwischen dem Speicher und Logikeinheiten ist, welche Signalverarbeitung auf Pixeldaten durchführen;
  • 11 ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer Ausführungsform des erfinderischen Konzepts ist;
  • 12 ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts ist;
  • 13A und 13B Blockschaltbilder eines anderen Beispiels eines Systems sind, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist;
  • 14 ein Blockschaltbild eines anderen Beispiels eines Systems ist, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist;
  • 15 ein Blockschaltbild eines Beispiels eines Codec-Moduls als einem Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts ist;
  • 16 ein Blockschaltbild eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts ist;
  • 17 ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts ist;
  • 18 ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts ist;
  • 19 ein Blockschaltbild einer Anzeigetreiberschaltung ist, welche ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts einsetzt;
  • 20 eine Gesamtstruktur eines Inhalts-Bereitstellungssystems veranschaulicht, welches eine mobile Vorrichtung aufweist, welches ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts einsetzt; und
  • 21 ein Beispiel eines mobilen Datenendgeräts bzw. Terminals veranschaulicht, welches mit einem Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts ausgestattet ist.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Wenn hierin verwendet, schließt der Begriff „und/oder” eine beliebige und alle Kombinationen eines oder mehrerer der zugeordneten aufgelisteten Gegenstände. Ausdrücke wie beispielsweise „wenigstens einer von/” modifizieren, wenn sie einer Liste von Elementen voranstehen, die gesamte Liste von Elementen und modifizieren nicht die individuellen Elemente der Liste.
  • Hierin nachstehend werden Ausführungsformen des erfinderischen Konzepts im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden. Das erfinderische Konzept kann jedoch in vielen unterschiedlichen Formen ausgeführt werden und sollte nicht als auf die Ausführungsformen, welche hierin erläutert sind, beschränkt betrachtet werden. Während das erfinderische Konzept empfänglich für verschiedene Modifikationen und alternative Formen ist, sind spezifische Ausführungsformen davon mittels Beispiel in den Zeichnungen gezeigt und werden hierin im Detail beschrieben werden. Diese beispielhaften Ausführungsformen sind nur diese Beispiele, und viele Implementierungen und Variationen sind möglich, welche die Details, welche hierin vorgesehen sind, nicht benötigen. Es sollte auch betont werden, dass die Offenbarung Details von alternativen Beispielen vorsieht, jedoch solche Listen von Alternativen nicht erschöpfend sind. Weiterhin sollte eine beliebige Konsistenz von einem Detail zwischen verschiedenen Beispielen nicht als ein solches Detail benötigend interpretiert werden – es ist nicht praktikabel, jede mögliche Variation für jedes Merkmal, welches hierin beschrieben ist, aufzulisten. Es sollte verstanden werden, dass das erfinderische Konzept nicht auf die bestimmten Formen, welche beschrieben sind, beschränkt ist und alle Abwandlungen, Äquivalente und Alternativen, welche innerhalb dem Gedanken und dem Umfang des erfinderischen Konzepts fallen, umfasst. Gleiche Bezugszeichen bezeichnen gleiche Elemente über die Beschreibung und die Zeichnungen hinweg. In den Zeichnungen sind die Dimensionen bzw. Abmessungen von Strukturen zur Klarheit des erfinderischen Konzepts erhöht.
  • Es wird verstanden werden, dass, obwohl die Begriffe erster/erste/erstes, zweiter/zweite/zweites, dritter/dritte/drittes etc. hierin verwendet werden können, um verschiedene Elemente, Komponenten bzw. Bestandteile, Bereiche, Schichten und/oder Sektionen zu beschreiben, diese Elemente, Komponenten, Bereiche, Schichten und/oder Sektionen nicht durch diese Begriffe beschränkt werden sollten. Solange der Zusammenhang nichts Anderweitiges anzeigt, werden diese Begriffe nur verwendet, um ein Element, eine Komponente, einen Bereich, eine Schicht oder eine Sektion von einem anderen Element, einer anderen Komponente, einem anderen Bereich, einer anderen Schicht oder Sektion beispielsweise als eine Benennungs-Konvention zu unterscheiden. Demnach könnte ein erstes Element, eine erste Komponente, ein erster Bereich, eine erste Schicht oder eine erste Sektion, welche untenstehend in einer Sektion der Beschreibung diskutiert sind, als ein zweites Element, eine zweite Komponente, ein zweiter Bereich, eine zweite Schicht oder eine zweite Sektion in einer anderen Sektion der Beschreibung oder in den Ansprüchen benannt werden, ohne von den Lehren der vorliegenden Erfindung abzuweichen. Zusätzlich kann in bestimmten Fällen, auch wenn ein Begriff nicht beschrieben wird, unter Verwendung von „erster/erste/erstes”, „zweiter/zweite/zweites” etc. in der Beschreibung auf ihn nach wie vor Bezug genommen werden als „erster/erste/erstes” oder „zweiter/zweite/zweites” in einem Anspruch, um unterschiedliche beanspruchte Elemente voneinander zu unterscheiden.
  • Die Begriffe, welche hierin verwendet werden, sind für den Zweck des Beschreibens beispielhafter Ausführungsformen ausschließlich und sind nicht vorgesehen, um das erfinderische Konzept zu beschränken. Wenn hierin verwendet, sind die Singularformen „einer/eine/eines” und „der/die/das” vorgesehen, um die Pluralformen ebenso zu umfassen, solange der Zusammenhang nicht eindeutig Anderweitiges anzeigt. Es wird verstanden werden, dass Begriffe wie beispielsweise „aufweisen”, „einschließen” bzw. „umfassen” und „haben”, wenn sie hierin verwendet werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten oder Kombinationen davon spezifizieren, jedoch die Anwesenheit oder Hinzufügung eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten oder Kombinationen davon nicht ausschließen.
  • Solange nicht anderweitig definiert, haben alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe), welche hierin verwendet werden, dieselbe Bedeutung, wie sie allgemein durch einen Fachmann, zu dessen Fachgebiet das erfinderische Konzept gehört, verstanden werden. Es wird weiterhin verstanden werden, dass Begriffe, wie beispielsweise diejenigen, welche in herkömmlich verwendeten Wörterbüchern definiert werden, als eine Bedeutung habend interpretiert werden sollten, welche konsistent mit ihrer Bedeutung in dem Zusammenhang des relevanten Fachgebiets ist und nicht in einem idealisierten oder übermäßig formalen Sinne interpretiert werden werden, solange nicht ausdrücklich hierin so definiert. Die Beschreibung kann sich auf Abschnitte der Ausführungsformen als Module, Einheiten, Blöcke etc. beziehen. Es sollte verstanden werden, dass diese Module, Einheiten und Blöcke elektronische Schaltungen sind, welche Prozessoren, Controller bzw. Steuerungen, digitale Signalprozessoren, dedizierte Hardware, welche beispielsweise mit Software konfiguriert sein kann oder nicht konfiguriert sein kann, aufweisen können.
  • 1 ist ein Blockschaltbild eines Beispiels eines Systems, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist. Das System der 1 kann verschiedenen Systemen, welche einen Bildprozessor aufweisen, entsprechen. Beispielsweise kann das System der 1 verschiedenen, mobilen Vorrichtungen wie beispielsweise digitalen Kameras, tragbaren Camcordern und Smart-Telefonen bzw. Smartphones entsprechen. Hierin nachstehend wird angenommen, dass das System der 1 eine mobile Vorrichtung 10 ist. Die Erfindung ist jedoch nicht auf eine mobile Vorrichtung beschränkt.
  • Wie in 1 veranschaulicht ist, kann die mobile Vorrichtung 10 eine zentrale Verarbeitungseinheit (CPU = Central Processing Unit = Zentrale Verarbeitungseinheit) 11, einen Komplementär-Metalloxidhalbleiter(CMOS = Complementary Metaloxyde Semiconductor = Komplementär-Metalloxidhalbleiter)-Bildsensor (CIS) 12, ein Codec-Modul 13, einen Speicher 14 und eine Anzeigevorrichtung 15 aufweisen. Verschiedene funktionale Blöcke, welche in der mobilen Vorrichtung 10 enthalten sind, können Signale miteinander austauschen. 1 veranschaulicht, dass die verschiedenen funktionalen Blöcke einen Bus gemeinsam verwenden bzw. teilen. Ausführungsformen jedoch des erfinderischen Konzepts sind nicht darauf beschränkt und einige funktionale Blöcke können Signale miteinander über eine getrennte Signalleitung (getrennte Signalleitungen) oder getrennte Busse austauschen. Die mobile Vorrichtung 10 kann eine Schnittstelle aufweisen, welche konfiguriert ist, um mit der Anzeigevorrichtung 15 zu kommunizieren, wie beispielsweise einer Touchpad-Anzeige, beispielsweise über eine Mehrzahl von Eingabe-/Ausgabesignalen, welche einem Standard-Anzeigeprotokoll entsprechen und Signaltransceiver aufweisen. Eine Schnittstelle wie beispielsweise diese kann den Bus ergänzen oder anstelle des Busses vorhanden sein. Andere Ausführungsformen der vorliegenden Offenbarung können ebenso solch eine Schnittstelle aufweisen.
  • Das Codec-Modul 13 kann ein Video-Codec-Modul sein, welches Video-Codec-Signale verarbeitet. Obwohl in 1 nicht veranschaulicht, kann die mobile Vorrichtung 10 weiterhin verschiedene andere funktionale Blöcke aufweisen, welche andere Funktionen durchführen. Beispielsweise kann, wenn die mobile Vorrichtung 10 eine Kommunikationsvorrichtung durchführt, die mobile Vorrichtung 10 weiterhin ein Kommunikationsmodul aufweisen. Ebenso kann die mobile Vorrichtung 10 weiterhin ein Leistungsverwaltungsmodul, ein Taktmodul oder eine Graphikverarbeitungseinheit (GPU = Graphic Processing Unit = Graphikverarbeitungseinheit) aufweisen.
  • Auf den Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts kann Bezug genommen werden als verschiedene Module, welche ein Bildsignal empfangen, das Bildsignal verarbeiten und das verarbeitete Ergebnis des Bildsignals vorsehen. Beispielsweise kann unter den Funktionsblöcken, welche in 1 veranschaulicht sind, der (die) funktionale Block (Blöcke), welcher (welche) ein Bildsignal empfangt (empfangen) oder vorsieht (vorsehen) ein Prozessor, beispielsweise ein Bildprozessor sein. Der CIS 12 erzeugt ein Bildsignal und sieht das Bildsignal für andere funktionale Blöcke vor, das Codec-Modul 13 kodiert/dekodiert das Bildsignal, der Speicher 14 speichert das Bildsignal und die Anzeigevorrichtung 15 verarbeitet das Bildsignal und weist eine Anzeige (beispielsweise einen Bildschirm) auf, um ein Bild in Übereinstimmung mit dem verarbeiteten Bildsignal anzuzeigen.
  • Das Codec-Modul 13, andere funktionale Blöcke, welche in 1 veranschaulicht sind, und andere funktionale Blöcke, welche in 1 nicht veranschaulicht sind, können als ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System) implementiert sein und in einem Halbleiterchip integriert sein oder können in mehreren Halbleiterchips implementiert sein, welche verbunden sind, um in Kommunikation miteinander zu sein (beispielsweise innerhalb eines Gehäuses bzw. einer Einhausung und/oder auf einer gedruckten bzw. bedruckten Leiterplatte). Ebenso kann die Vorrichtung oder das System, welches die 1 durchführt, in einem Anwendungsprozessor implementiert sein.
  • Die CPU 11 kann einen Gesamtbetrieb der mobilen Vorrichtung 10 steuern. Beispielsweise kann die CPU 11 Programme ausführen und/oder Daten implementieren, welche in dem Speicher 14 oder einem Speicher, welcher in der CPU 11 eingebettet ist, gespeichert sind. Die CPU 11 kann einen Multi-Kern-Prozessor aufweisen, und der Multi-Kern-Prozessor kann eine Berechnungskomponente sein, welche zwei oder mehr im Wesentlichen unabhängige Prozessoren hat. Der Multi-Kern-Prozessor kann simultan bzw. gleichzeitig eine Mehrzahl von Beschleunigern treiben, und die mobile Vorrichtung 10, welche den Multi-Kern-Prozessor aufweist, kann eine Multi-Beschleunigung durchführen.
  • Der CIS 12 kann eine Pixelanordnung bzw. ein Pixelarray aufweisen und jeder Pixel, welcher in der Pixelanordnung enthalten ist, kann einen Fotosensor aufweisen. Jeder Fotosensor kann ein elektrisches Signal gemäß der Intensität von absorbiertem Licht erzeugen. Der CIS 12 kann eine Umwandlungseinheit (nicht veranschaulicht) aufweisen, welche das elektrische Signal von dem Fotosensor jedes Pixels in digitale Daten umwandelt, um ein Bildsignal zu erzeugen, welches eine Mehrzahl von Pixeldaten aufweist. Dieses Bildsignal, welches durch den CIS 12 aufgenommen wird, kann durch das Codec-Modul 13 kodiert werden.
  • Der Speicher 14 kann verschiedene Programme und ein Betriebssystem (OS = Operating System = Betriebssystem), welches auf den Betrieb bzw. das Treiben der mobilen Vorrichtung 10 bezogen ist, speichern. Der Speicher 14 kann auch ein Bildsignal, welches durch das Codec-Modul 13 zu verarbeiten ist, speichern. Ebenso kann der Speicher 14 ein Bildsignal speichern, welches bereits durch das Codec-Modul 13 verarbeitet ist. Zusätzlich kann das Bildsignal, welches durch den CIS 12 erzeugt wird, für den Speicher 14 vorgesehen sein, und ein Bildsignal, welches in dem Speicher 14 gespeichert ist, kann für die Anzeigevorrichtung 15 vorgesehen sein.
  • Das Codec-Modul 13 kann verschiedene Bildsignale, welche durch die mobile Vorrichtung 10 erzeugt werden, und verschiedene Bildsignale, welche von einer Quelle extern zu der mobilen Vorrichtung 10 vorgesehen werden, kodieren oder dekodieren. Zusätzlich können Bildsignale (wie beispielsweise kodierte Bildsignale) für eine externe Quelle außerhalb der mobilen Vorrichtung 10 vorgesehen werden. Ebenso kann in einem Fall, in dem ein kodiertes Bildsignal von einer externen Quelle empfangen wird, durch ein Dekodieren des kodierten Bildsignals die Anzeigevorrichtung 15 ein Bild anzeigen.
  • Wie obenstehend beschrieben ist, kann das Codec-Modul 13 auf den Speicher 14 zugreifen, um eine Kodier-/Dekodieroperation auf einem Bildsignal durchzuführen. In dem Fall des Verarbeiten eines sich bewegenden Bildes kann ein Bildsignal eine Mehrzahl von Frame-Bildern bzw. Rahmenbildern aufweisen, und jedes der Rahmenbilder kann Pixeldaten aufweisen betreffend eine Mehrzahl von Pixeln (wie beispielsweise diejenigen, welche durch CIS 12 aufgenommen und vorgesehen werden.
  • Die Informationsmenge von Pixeln kann abhängig von dem Typ eines Bildsignals, welches zu verarbeiten ist, variieren. Beispielsweise können die Pixeldaten jedes Pixels aus 8 Bit, 10 Bit oder 12 Bit bestehen. Beispielsweise können Pixeldaten, welche von einer externen Quelle empfangen werden, und Pixeldaten, welche durch verschiedene Implementationen des CIS 12 erzeugt werden, eine unterschiedliche Menge von Bit pro Pixel aufweisen. Beim Entwerfen bzw. Designen des Systembusses zum Übertragen verschiedener Signale kann es vorteilhaft sein, einen Datenbus basierend auf einer Anzahl von Bits der Pixeldaten zu designen bzw. entwerfen. Wenn jedoch die Menge von Informationen eines Pixels (beispielsweise die Anzahl von Bits pro Pixel) variabel ist, kann eine Verschwendung von Bandbreite des Datenbusses oder ein ineffizienter Logikvorgang beim Durchführen eines Speicherzugriffs oder einem anderweitigen Übertragen von Pixeldaten auf dem Datenbus des Systems auftreten.
  • Es sollte festgehalten werden, dass jeder Pixel die Intensität einer einzelnen Farbkomponente bzw. eines einzelnen Farbbestandteiles repräsentieren kann, welcher einen Abschnitt eines Farbpixels eines Farbbildes (oder die Intensität eines einzelnen Pixels eines monochromen Bildes) ausmacht. Ein Farbpixel kann tatsächlich drei unterschiedliche Einzelfarbkomponenten-Pixel, wie beispielsweise ein roter (R) Pixel, ein grüner (G) Pixel und ein blauer (B) Pixel sein, welche, wenn sie zusammen angezeigt werden, durch das menschliche Auge als eine einer breiten Vielfalt von Farben gesehen werden kann, abhängig von der Mischung der Intensitäten von R-, G- und B-Licht, welches von den jeweiligen R-, G-, B-Einzelfarbkomponenten-Pixeln emittiert wird. Die Anzahl von Bits, welcher verwendet wird, um eine Intensität (beispielsweise eine Intensität von Licht, welches auf einer Grauskala von Schwarz zu Weiß repräsentiert wird) für einen Einzelfarbkomponenten-Pixel (beispielsweise die Intensität von R, G, oder B) zu beschreiben oder zu definieren, wird eine Farbtiefe genannt. In den Beispielen, welche hierin beschrieben sind, beziehen sich Pixel und zugeordnete Pixeldaten auf eine Einzelfarbkomponente (beispielsweise eine von R, G oder B) – ob Abtasten, Verarbeiten, Speichern oder Anzeigen – und demnach zeigt die unterschiedliche Anzahl von Bits, welche einen Pixelwert repräsentieren (beispielsweise Intensität) eine unterschiedliche Farbtiefe an (auf den Bereich von Intensitäten kann hierin Bezug genommen werden als eine Grauskala, unabhängig davon, ob das Bild farbig oder monochrom ist). Die Beispiele, welche hierin beschrieben werden, betrachten ebenso ein monochromes (beispielsweise Schwarz und Weiß) Bild, in dem alle Pixel dieselbe Farbe repräsentieren und der Pixelwert repräsentiert die Intensität der Farbe (beispielsweise Schwarz, Weiß oder ein Niveau von Grau). Die Ausführungsformen, welche hierin beschrieben sind, sind auch auf Farbmodelle anders als das RGB-Farbmodell, wie beispielsweise CMY (Cyan, Magenta, Gelb), CMYK (Cyan, Magenta, Gelb, Schwarz), etc. anwendbar.
  • Gemäß einer Ausführungsform des erfinderischen Konzepts werden, wenn ein Bildsignal zwischen den funktionalen Blöcken über den Datenbus übertragen wird, Teile von Multi-Bit-Pixeldaten, welche in jedem Pixel enthalten sind, gemäß einer Busbreite des Datenbusses unterteilt und verwaltet. Beispielsweise werden beim Speichern von Pixeldaten eines Bildsignals in dem Speicher 14 Teile von Pixeldaten jedes Pixels in zwei Datengruppen unterteilt und Teile von Pixeldaten der zwei Datengruppen werden in unterschiedlichen Bereichen des Speichers 14 gespeichert. Ebenso kann eine Bildverarbeitungsoperation in einem Bildsignalzugriff durchgeführt werden, um die Bildverzerrung zu verringern, welche auftreten kann, wenn andere funktionale Blöcke (oder Prozessoren), welche Pixeldaten verwenden, nur Pixeldaten verarbeiten, welche in einem der Bereiche des Speichers 14 gespeichert sind. Die unterteilten Teile jedes Pixels können in einer nachfolgenden Bildverarbeitungsoperation nach dem Lesen aus dem Speicher 14 neu gepackt werden.
  • In einer Ausführungsform kann ein Bildsignal eine Mehrzahl von Pixeln aufweisen und jeder der Pixel kann (M + N)-Bit-Pixeldaten (hierin nachstehend wird auf Daten, welche einen Pixelwert repräsentieren bevor er einer Signalverarbeitungsoperation unterzogen wird, als anfängliche Pixeldaten Bezug genommen werden) aufweisen. Der Bitwert der Pixeldaten kann verschiedentlich definiert sein. Als ein Beispiel können, wenn die Pixeldaten 10-Bit-Daten aufweisen, M Bits als 8 Bit definiert sein und N Bits können als 2 Bits definiert sein.
  • Als ein Beispiel kann in einer Bildverarbeitungsoperation das Codec-Modul 13 ein Bildsignal, welches eine Mehrzahl von Pixeln aufweist empfangen, wobei jeder Pixel durch M + N Bit von Pixeldaten repräsentiert wird. Die N Bit können die wenigsten signifikanten Bits der Pixeldaten sein und die M Bits können die signifikanteren Bits der Pixeldaten sein. Beim Empfangen und Verarbeiten der (M + N)-Bit-Pixel-Daten, kann das Codec-Modul 13 die oberen M-Bit-Pixel-Daten und die unteren N-Bit-Pixel-Daten getrennt verwalten. Die Werte von M und N können bestimmt werden basierend auf der Architektur des Datenbusses des Systems (beispielsweise des Datenbusses, welcher mit dem Codec-Modul 13 verbunden ist und/oder dem internen Datenbus des SoC oder des Anwendungsprozessors). Als ein Beispiel kann die Breite des Datenbusses 8 Bit oder ein Mehrfaches davon sein. Wenn die Pixeldaten 12 Bit haben, kann M Bit auf 8 Bit eingestellt werden und N Bit kann auf 4 Bit eingestellt werden. Als ein Beispiel kann, wenn die Pixeldaten mehr Bits haben, M Bit auf ein Vielfaches von 8 Bit eingestellt werden (beispielsweise 16 Bit). Der Wert von M kann gleich sein zu L quadriert, wobei L eine positive ganze Zahl ist.
  • Als ein Beispiel der Bildverarbeitungsoperation und des Codec-Moduls 13 kann das Codec-Modul 13 eine Signalverarbeitung (beispielsweise eine erste Signalverarbeitung) auf (M + N)-Bit anfänglichen Pixeldaten durchführen, um verarbeitete Pixeldaten zu erzeugen (hierin nachstehend wird auf Daten, welche einen Pixelwert nach der Signalverarbeitungsoperation repräsentieren, Bezug genommen werden als verarbeitete Pixeldaten). Die verarbeiteten Pixeldaten können eine unterschiedliche Menge von Bits haben, verglichen mit den anfänglichen Pixeldaten. Beispielsweise können die verarbeiteten Pixeldaten aus M Bits oder mehr bestehen. In einigen Beispielen können die verarbeiteten Pixeldaten dieselbe Anzahl von Bits wie die anfänglichen Pixeldaten aufweisen, beispielsweise (M + N)-Bit-Daten. In einigen Beispielen können wenigstens einige der Bits der Pixeldaten vor und nach der Verarbeitung dieselben sein (beispielsweise können die N-Bit-Daten jeder der (M + N)-Bit der anfänglichen Pixeldaten und die verarbeiteten Pixeldaten dieselben sein).
  • Beim Speichern von Pixeldaten jedes Pixels eines Bildsignals in dem Speicher 14 können wenigstens einige Bits der anfänglichen Pixeldaten in einem unterschiedlichen Bereich des Speichers 14 verglichen zu anderen Bits der anfänglichen Pixeldaten gespeichert werden. Ähnlich können wenigstens einige Bits der verarbeiteten Pixeldaten in unterschiedlichen Regionen des Speichers 14 verglichen zu anderen Bits der verarbeiteten Pixeldaten gespeichert werden. Als ein Beispiel können die oberen M Bits der anfänglichen Pixeldaten jedes Pixels eines Bildsignals in einem ersten Bereich des Speichers 14 gespeichert werden, und die unteren N Bits der anfänglichen Pixeldaten jedes Pixels des Bildsignals können in einem getrennten zweiten Bereich des Speichers 14 gespeichert werden. Wenn verarbeitete Pixeldaten jedes Pixels 10-Bit-Pixeldaten haben, können die oberen 8-Bits von Pixeldaten der verarbeiteten Pixeldaten jedes Pixels eines verarbeiteten Bildsignals in dem ersten (oder einem dritten) Bereich des Speichers 14 gespeichert werden, und die unteren 2-Bits von Pixeldaten der verarbeiteten Pixeldaten jedes Pixels des verarbeiteten Bildsignals können in dem zweiten (oder einem vierten) Bereich des Speichers 14 gespeichert werden. Hinsichtlich jedes Pixels können 8-Bit verarbeitete Pixeldaten eines Bildsignals nach der Signalverarbeitung und 2-Bit anfängliche Pixeldaten eines Bildsignals (beispielsweise Originalbildsignal, welches durch den CIS 12 vorgesehen wird) vor der Bildverarbeitung in unterschiedlichen Bereichen des Speichers 14 gespeichert werden. Auf die 8-Bit-Daten kann dann in Antwort auf ein oder mehrere Befehle (beispielsweise einen Lesebefehl) zugegriffen werden, und der 8-Bit-Datenzugriff kann gemäß einer ersten Adresse durchgeführt werden. Wo auf die 2-Bit-Daten ebenso zugegriffen wird, kann in Antwort auf einen oder mehrere Befehle eine zweite Adresse verwendet werden.
  • Andere funktionale Blöcke, welche in der mobilen Vorrichtung 10 enthalten sind, können mit Daten von jeweiligen Bereichen des Speichers vorgesehen sein. Beispielsweise können, wenn die Anzeigevorrichtung 15 ein Bild (beispielsweise auf einem Bildschirm) durch ein Implementieren einer Grauskala (oder einer Farbtiefe) gemäß M-Bit-Pixeldaten jedes Pixels anzeigt, die verarbeiteten Pixeldaten, welche in dem ersten Bereich des Speichers 14 gespeichert sind, für die Anzeigevorrichtung 15 vorgesehen sein, ohne die Notwendigkeit, entsprechende N-Bit-Pixeldaten vorzusehen. Auch wenn ein Bildsignal (M + N)-Bit-Pixeldaten pro Pixel aufweist, kann die Anzeigevorrichtung 15 nur M-Bit-Pixeldaten empfangen, welche in dem ersten Bereich des Speichers 14 gespeichert sind und kann demzufolge ein Bild anzeigen. Demzufolge muss, auch wenn die Anzahl von Bits der Pixeldaten des Bildsignals unterschiedlich von der Anzahl der Bits der Pixeldaten zum Implementieren der Grauskala (oder Farbtiefe) der Anzeigevorrichtung 15 ist, auf die zusätzlichen Teile von Pixeldaten nicht zugegriffen werden (auch wenn solche Pixeldaten nicht verworfen werden müssen und im Speicher 14 gespeichert werden können). Ebenso kann der Datenbus effizient verwendet werden, wenn der Datenbus eine Bandbreite gleich M Bits (oder gleich zu einem Mehrfachen von M Bits) hat.
  • Ebenso kann in einer Signalverarbeitungsoperation des Codec-Moduls 13 ein vorangehendes Rahmenbild als ein Referenzbild verwendet werden zum Durchführen einer Bewegungsabschätzung und -Kompensation. In diesem Fall kann das Bildsignal, welches einen vorangehenden Rahmen repräsentiert, welcher in dem Speicher 14 gespeichert ist, für das Codec-Modul 13 vorgesehen sein. Der vorangehende Rahmen, welcher in dem Speicher 14 gespeichert ist, kann M Bits von verarbeiteten Pixeldaten und N Bits von anfänglichen Pixeldaten für jeden Pixel des vorangehenden Rahmens aufweisen. In diesem Beispiel können die M Bits von anfänglichen Pixeldaten für jeden Pixel des vorangehenden Rahmens nach dem Verarbeiten (beispielsweise Dithern) verworfen werden, die N Bits von anfänglichen Pixeldaten jedoch werden im Speicher 14 gespeichert (die M Bits von anfänglichen Pixeldaten müssen nicht verworfen werden und können demnach in dem Speicher gespeichert werden, wenn andere Funktionen oder andere funktionale Blöcke diese so benötigen). Das Codec-Modul 13 kann die M-Bit verarbeiteten Pixeldaten und die N-Bit anfänglichen Pixeldaten, welche aus dem ersten und zweiten Bereich des Speichers 14 gelesen werden, empfangen. Das Codec-Modul 13 kann eine Signalverarbeitung auf den M-Bit verarbeiteten Pixeldaten durchführen. Beispielsweise kann das Codec-Modul 13 eine Signalverarbeitungsoperation (beispielsweise zweite Signalverarbeitung) auf den M-Bit verarbeiteten Pixeldaten durchführen, um die anfänglichen Pixeldaten als ein Originalbildsignal wiederherzustellen. Die wiederhergestellten anfänglichen Pixeldaten können Daten von M Bits oder mehr haben. Beispielsweise können, wenn die wiederhergestellten anfänglichen Pixeldaten eine Größe haben, welche größer als M ist, M-Bit anfängliche Pixeldaten wiederhergestellt werden durch ein Verwerfen der weniger signifikanten Bits bzw. niedriger signifikanten Bits, nachdem die ersten oberen M signifikanten Bits von dem Speicher abgerufen sind. Das Codec-Modul 13 kann ein Originalbildsignal, welches (M + N)-Bit-Pixeldaten pro Pixel hat, als ein Referenzbild durch Kombinieren der wiederhergestellten M-Bit anfänglichen Pixeldaten und der N-Bit anfänglichen Pixeldaten erzeugen, welche aus dem zweiten Bereich des Speichers 14 gelesen werden.
  • Beispielhafte Betriebe des obigen Bildverarbeitungssystems gemäß Ausführungsformen des erfinderischen Konzepts werden untenstehend beschrieben werden.
  • 2 ist ein Blockschaltbild eines Beispiels, in welchem ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts als ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System) 20 implementiert ist, obwohl die Details dieser Ausführungsform auch auf Systeme innerhalb eines einzelnen Halbleitergehäuses bzw. einer einzelnen Halbleitereinhausung (beispielsweise einer Mehrzahl von gestapelten Halbleiterchips innerhalb einer einzelnen Einhausung) anwendbar ist, und Systeme, welche aus mehreren Chips und/oder Einhausungen gebildet sind, welche auf einer gedruckten bzw. bedruckten Leiterplatte montiert sind.
  • Wie in 2 veranschaulicht ist, kann das SoC 20 als das Bildverarbeitungssystem eine Mehrzahl von Intellectual Property (IP = Intellectual Property = Geistiges Eigentum)-Kernen aufweisen. Die Mehrzahl von IP-Kernen sind in dem SoC 20 implementiert, um ihre jeweiligen Funktionen durchzuführen, welche abhängig von der erwünschten Funktion des SoC, wie ausgebildet, variiert. Unter der Mehrzahl von IP-Kernen kann jeder IP-Kern, welcher eine Bildverarbeitung durchführt, einen Prozessor aufweisen.
  • Das SoC 20 weist einen Systembus 27 und IP-Kerne, welche mit dem Systembus 27 verbunden sind, auf. Als ein Beispiel der IP-Kerne kann das SoC 20 eine CPU 21, Master-IP-Kerne 22 und 23 und Slave-IP-Kerne 24 bis 26 aufweisen.
  • Der Systembus 27 kann ein Bus sein, welcher ein Protokoll verwendet, welches einen vorbestimmten Busstandard hat. Beispielsweise kann ein Advanced Microcontroller Bus Architecture(AMBA)-Protokoll einer Advanced RISC Machine (ARM) als der Busstandard verwendet werden. Bustypen des AMBA-Protokolls können aufweisen einen Advanced High-Performance Bus (AHB), Advanced Peripheral Bus (APB), Advanced eXtensible Interface (AXI), AXI4 und AXI Coherence Extensions (ACE). Unter den obigen Bustypen ist AXI ein Schnittstellenprotokoll zwischen IP-Kernen, welches eine Multiple Outstanding Address Function bzw. Mehrfache Offene Adressfunktion und eine Data Interleaving Function bzw. Datenverschachtelungsfunktion vorsieht. Zusätzlich kann der Systembus 27 andere Typen von Protokollen wie beispielse uNetwork von SONICs Inc., Core Connect von IBM und Open Core Protocol von Open Core Protocol International Partnership (OCP-IP) verwenden.
  • Jeder der IP-Kerne, welcher in 2 veranschaulicht ist, kann als ein funktionaler Block implementiert sein, welcher eine bestimmte Operation durchführt, und die IP-Kerne können als die Master-IP-Kerne 22 und 23 oder die Slave-IP-Kerne 24 bis 26 klassifiziert werden abhängig davon, ob sie das Recht haben, den Systembus 27 zu verwendet. Die CPU 21, welche in 2 veranschaulicht ist, kann auch einem Master-IP entsprechen. Zusätzlich können ein Speichersteuermodul, ein digitaler Signalprozessor (DSP = Digital Signal Prozessor = Digitaler Signalprozessor) und ein Codec-Modul als die Master-IP-Kerne 22 und 23 implementiert werden. Die Slave-IP-Kerne 24 bis 26 werden durch die Master-IP-Kerne 22 und 23 gesteuert. Ein Eingabe-/Ausgabemodul und ein eingebetteter Speicher können als die Slave-IP-Kerne implementiert sein. Gemäß der obigen Ausführungsform kann jeder der Master-IP-Kerne 22 und 23 und der Slave-IP-Kerne 24 bis 26 ein Prozessor sein, wie beispielsweise ein Bildprozessor und/oder einen Teil eines Prozessors und/oder eines Bildprozessors bilden.
  • Pixeldaten eines Bildsignals können durch einen Datenbus in dem Systembus 27 übertragen/empfangen werden, und jeder der IP-Kerne, welcher in dem SoC 20 enthalten ist, kann empfangen und/oder vorsehen, um zu übertragen, Pixeldaten über den Datenbus. Die IP-Kerne können Pixeldaten gemäß ihren jeweiligen Funktionen nur empfangen oder vorsehen bzw. bereitstellen. Ebenso können die IP-Kerne Pixeldaten gemäß ihren jeweiligen Funktionen empfangen und vorsehen. 2 veranschaulicht ein Beispiel, in welchem die Master-IP-Kerne 22 und 23 Pixeldaten empfangen und vorsehen, einige der Slave-IP-Kerne 24 bis 26 Pixeldaten nur empfangen, einige der Slave-IP-Kerne 24 bis 26 Pixeldaten nur vorsehen, und andere der Slave-IP-Kerne 24 bis 26 Pixeldaten empfangen und vorsehen.
  • Jeder der Master-IP-Kerne 22 und 23 und der Slave-IP-Kerne 24 bis 26 in dem SoC 20 kann Pixeldaten über den Datenbus übertragen/empfangen. Ebenso kann jeder der Master-IP-Kerne 22 und 23 und der Slave-IP-Kerne 24 bis 26 in dem SoC 20 auf Pixeldaten eines externen Speichers (nicht veranschaulicht), welcher außerhalb des SoC 20 angeordnet ist, zugreifen. Als ein Beispiel kann unter der Steuerung des Speichersteuermoduls in dem SoC 20 jeder der Master-IP-Kerne 22 und 23 und der Slave-IP-Kerne 24 bis 26 in dem SoC 20 Pixeldaten in dem externen Speicher speichern und Pixeldaten von dem externen Speicher empfangen.
  • Gemäß einer Ausführungsform des erfinderischen Konzepts kann jeder der Master-IP-Kerne 22 und 23 und der Slave-IP-Kerne 24 bis 26 Pixeldaten durch ein Unterteilen der Teile von Pixeldaten in wenigstens zwei Gruppen gemäß einer Busbreite des Datenbusses verwalten (beispielsweise um effizient die gesamte Busbreite zu verwenden dadurch, dass wenigstens eine der Gruppen sich auf eine Einheitsanzahl von Bits im Wesentlichen nahe zu der Breite des Busses oder einem Mehrfachen der Breite des Busses beläuft). Wenn die Master-IP-Kerne 22 und 23 und die Slave-IP-Kerne 24 bis 26 auf Pixeldaten des eingebetteten oder externen Speichers zugreifen (beispielsweise Pixeldaten speichern oder lesen), können sie die Teile von Pixeldaten in wenigstens zwei Gruppen gemäß einer Busbreite des Datenbusses, welcher in dem Systembus 27 des SoC 20 enthalten ist, unterteilen und die Teile der Pixeldaten der wenigstens zwei Gruppen getrennt in wenigstens zwei Bereichen des eingebetteten oder externen Speichers speichern. Alternativ können die Pixeldaten in Teile gemäß einer Busbreite eines Busses (beispielsweise des externen Datenbusses) unterteilt werden, welcher verbunden ist, um Pixeldaten zwischen dem SoC und dem externen Speicher zu übertragen. Wenn die Master-IP-Kerne 22 und 23 und die Slave-IP-Kerne 24 bis 26 auf Pixeldaten eines eingebetteten Speichers des SoC zugreifen, können sie im Wesentlichen auf demselben Wege arbeiten.
  • 3 ist ein Blockschaltbild eines SoC als ein Beispiel des SoC 20 der 2. 3 veranschaulicht ebenso einen externen Speicher EM, welcher verbunden sein kann, um mit dem SoC zu kommunizieren. Wie in 3 veranschaulicht ist, kann das SoC 100 eine CPU 110, ein Codec-Modul 120, ein Speichersteuermodul 130, ein Anzeigesteuermodul 140, einen eingebetteten Speicher 150 und ein Eingabe-/Ausgabe(I/O = Input/Output = Eingabe/Ausgabe)-Modul 160 aufweisen. Die obigen Komponenten können über einen Systembus innerhalb des SoC 100 verbunden sein. Das SoC 100 der 3 kann ein Anwendungsprozessor sein, welcher in einer mobilen Vorrichtung oder dergleichen installiert sein kann. Ebenso kann, wie obenstehend beschrieben ist, das SoC 100 gemäß einer Ausführungsform des erfinderischen Konzepts einige der funktionalen Blöcke, welche in 3 veranschaulicht sind, nicht aufweisen, oder kann andere funktionale Blöcke, welche in 3 nicht veranschaulicht sind, aufweisen.
  • Der eingebettete Speicher 150 ist Teil des SoC 100 und kann verschiedene Programme, Befehle und/oder Daten wie der Speicher 14 (externer Speicher) der 1 speichern. Ebenso kann der eingebettete Speicher 150 ein Bildsignal, welches durch das Codec-Modul 120 zu verarbeiten ist (beispielsweise anfängliche Pixeldaten, wie hierin beschrieben) speichern und ein Bildsignal, welches durch das Codec-Moduls 120 verarbeitet ist (beispielsweise verarbeitete Pixeldaten, wie hierin beschrieben). Der eingebettete Speicher 150 kann durch einen flüchtigen Speicher und/oder einen nichtflüchtigen Speicher implementiert sein.
  • Das Speichersteuermodul (beispielsweise Speichercontroller) 130 bildet mit einem externen Speicher EM über eine Schnittstelle des SoC 100 eine Schnittstelle (schematisch mit dem gestrichelten Pfeil). Beispielsweise kann gemäß der Ausführungsform des erfinderischen Konzepts, um ein Bildsignal in dem externen Speicher EM zu speichern, das Speichersteuermodul 130 eine Steuerung derart durchführen, dass Teile von Pixeldaten jedes Pixels getrennt in wenigstens zwei Bereichen des externen Speichers EM gespeichert werden. Ebenso kann das Speichersteuermodul 130 getrennt auf wenigstens zwei Bereiche des externen Speichers EM zugreifen. Demzufolge können einige der funktionalen Blöcke des SoC 100 Pixeldaten eines beliebigen Bereichs mit dem externen Speicher EM austauschen, und andere funktionale Blöcke des SoC 100 können Pixeldaten von zwei oder mehr Bereichen mit dem externen Speicher EM austauschen.
  • Das Anzeigesteuermodul (beispielsweise Anzeigecontroller) 140 kann einen Betrieb einer externen Anzeigevorrichtung (nicht veranschaulicht) steuern. Der Anzeigecontroller kann mit der Anzeigevorrichtung über eine Schnittstelle des SoC 100 kommunizieren. Beispielsweise kann das Anzeigesteuermodul 140 Pixeldaten über das Speichersteuermodul 130 empfangen und die Pixeldaten für die externe Anzeigevorrichtung vorsehen. Das Anzeigesteuermodul 140 kann die Pixeldaten für die externe Anzeigevorrichtung über eine zugeordnete Anzeigevorrichtungsschnittstelle des SoC oder über eine Schnittstelle des SoC 100, welche für den Gebrauch mit anderen Modulen des SoC gemeinsam verwendet wird (beispielsweise ein gemeinsam verwendeter I/O-Port bzw. I/O-Anschluss des SoC 100) vorsehen. Wenn ein Bildsignal (M + N)-Bit-Pixeldaten pro Pixel aufweist und die externe Anzeigevorrichtung einen Bildschirm durch ein Implementieren einer Grauskala/Farbtiefe gemäß M-Bit-Pixeldaten pro Pixel anzeigt, können M-Bit-Daten, welche in einem Bereich (beispielsweise erster Bereich) des externen Speichers EM oder des eingebetteten Speichers 150 gespeichert sind, für die externe Anzeigevorrichtung über das Anzeigesteuermodul 140 vorgesehen werden, und andere Pixeldaten, welche in dem externen Speicher EM oder dem eingebetteten Speicher 150 gespeichert sind, wie beispielsweise N-Bit-Pixeldaten, welche das Bild repräsentieren, müssen nicht zu dem Anzeigesteuermodul 140 und der externen Anzeige gesendet werden. Der Anzeigecontroller kann konfiguriert sein, um Bits des Pixelwerts zu der externen Anzeigevorrichtung über eine Anzeigeschnittstelle des SoC 100 zu übertragen. Beispielsweise kann in einem ersten Modus der Anzeigecontroller 140 nur einen Teil bzw. Abschnitt der Bits des Pixelwerts jedes der Mehrzahl von Pixeln übertragen (kann beispielsweise gerade bzw. nur M Bits von (M + N)-Bit-Pixeldaten für jeden Pixel übertragen). Ähnlich kann der Anzeigecontroller zu der Anzeigeschnittstelle in einem zweiten Modus eine zweite unterschiedliche Anzahl der Bits des Pixelwerts jedes der Mehrzahl von Pixeln übertragen. Beispielsweise kann in dem zweiten Modus der Anzeigecontroller 140 alle der (M + N)-Bit-Pixeldaten für jeden Pixel übertragen. In einigen Ausführungsformen kann das Codec-Modul 120 konfiguriert sein, um die Werte von M und N in Antwort auf das Anzeigesteuermodul 140 zu andern.
  • Gemäß einer Ausführungsform des erfinderischen Konzepts können verschiedene funktionale Blöcke, welche in 3 veranschaulicht sind, welche einen Bildprozessor bilden können, einen Datenzugriff auf den externen Speicher EM oder den eingebetteten Speicher 150 über das Speichersteuermodul 130 steuern. Beispielsweise können M-Bit-Pixeldaten und N-Bit-Pixeldaten in (M + N)-Bit-Pixeldaten gespeichert werden und aus verschiedenen Adressorten des externen Speichers EM oder des eingebetteten Speichers 150 gelesen werden, und jeder Bildprozessor kann eine Adresse erzeugen, welche einen Ort anzeigt, an welchem (M + N)-Bit-Pixeldaten gespeichert oder gelesen werden werden, und die Adresse für das Speichersteuermodul 130 vorsehen. Als ein Beispiel kann das Codec-Modul 120 (M + N)-Bit-Pixeldaten verarbeiten und die verarbeiteten (M + N)-Bit-Pixeldaten für das Speichersteuermodul 130 vorsehen. Ebenso kann das Codec-Modul 120 eine erste Adresse erzeugen, welche eine Position anzeigt, bei welcher M-Bit-Pixeldaten gespeichert oder gelesen werden werden, und eine zweite Adresse, welche eine Position anzeigt, an welcher N-Bit-Pixeldaten gespeichert oder gelesen werden werden und die erste Adresse und die zweite Adresse für das Speichersteuermodul 130 vorsehen. In einigen Ausführungsformen können die erste und die zweite Adresse, wenn sie dekodiert werden, dieselbe Zeilenadresse für die Speicherung der M-Bit-Pixeldaten und N-Bit-Pixeldaten anzeigen, und in anderen Ausführungsformen können die dekodierten Zeilenadressen unterschiedlich sein. Bei einem Lesen aus dem externen Speicher EM oder dem eingebetteten Speicher 150 kann der Codec die M-Bit-Pixeldaten mit den N-Bit-Pixeldaten wieder bzw. neu packen (beispielsweise kombinieren).
  • Die 4 und 5 sind Blockschaltbilder eines Beispiels einer Pixeldaten-Übertragungs-/Empfangsoperation zwischen einem Bildprozessor und einem Speicher. In 4 ist ein Codec-Modul 120 als der Bildprozessor veranschaulicht, die Beschreibung ist jedoch gleichermaßen anwendbar auf einen beliebigen funktionalen Block, welcher auf den Speicher 150 oder einen externen Speicher EM zugreift.
  • Wie in 4 veranschaulicht ist, tauscht das Codec-Modul 120 Pixeldaten mit dem Speicher aus. Beispielsweise kann das Codec-Modul 120 (M + N)-Bit-Pixeldaten jedes Pixels für den Speicher vorsehen. Der Speicher kann der externe Speicher EM oder der eingebettete Speicher 150 sein, welcher in 3 veranschaulicht ist. Hierin nachstehend wird angenommen, dass der Speicher der 4 und 5 der externe Speicher EM ist, die Beschreibung ist jedoch gleichermaßen anwendbar auf den eingebetteten Speicher 150.
  • Der externe Speicher EM kann einen ersten Bereich und einen zweiten Bereich aufweisen. Ebenso wie für (M + N)-Bit-Pixeldaten, welche für den externen Speicher EM vorgesehen sind, können M-Bit-Pixeldaten (beispielsweise verarbeitete Pixeldaten) in dem ersten Bereich des externen Speichers EM gespeichert werden, und N-Bit-Pixeldaten (beispielsweise anfängliche Pixeldaten) können in dem zweiten Bereich des externen Speichers EM gespeichert werden. Auf den ersten Bereich und den zweiten Bereich des externen Speichers EM kann getrennt zugegriffen werden. Demzufolge kann auf den ersten Bereich und den zweiten Bereich des externen Speichers EM zum Austauschen von Signalen mit dem Bildprozessor unter Verwendung von (M + N)-Bit-Pixeldaten zugegriffen werden. Nur auf den ersten Bereich des externen Speichers EM kann zum Austausch von Signalen mit dem Bildprozessor unter Verwendung von M-Bit-Pixeldaten zugegriffen werden.
  • Wie in 5 veranschaulicht ist, kann auf den externen Speicher EM durch eine Mehrzahl von Bildprozessoren zugegriffen werden. Beispielsweise kann, wie in 5 veranschaulicht ist, ein erster Bildprozessor IPD1 Pixeldaten für den externen Speicher EM vorsehen und Pixeldaten von dem externen Speicher EM empfangen. Ebenso kann ein zweiter Bildprozessor IPD2 Pixeldaten von dem externen Speicher EM empfangen. Obwohl getrennt veranschaulicht, können Signalleitungen, welche die Pixeldaten zwischen IPD1 und dem externen Speicher EM übertragen, dieselben sein (beispielsweise ein Datenbus).
  • Der erste Bildprozessor IPD1 kann eine Datenvorseheinheit bzw. Datenbereitstellungseinheit DPU1 und eine Datenempfangseinheit DRU1 aufweisen. Die Datenbereitstellungseinheit DPU1 kann Pixeldaten für den externen Speicher EM vorsehen bzw. bereitstellen, und die Datenempfangseinheit DRU1 kann Pixeldaten von dem externen Speicher EM empfangen. Gemäß der obigen Ausführungsform kann die Datenbereitstellungseinheit DPU1 (M + N)-Bit-Pixeldaten jedes Pixels für den externen Speicher EM bereitstellen bzw. vorsehen. Als ein Beispiel kann, wenn der erste Bildprozessor IPD1 einem Codec-Modul entspricht, die Datenbereitstellungseinheit DPU1 eine Signalverarbeitung auf einem Originalbildsignal durchführen und den externen Speicher EM mit M-Bit verarbeiteten Pixeldaten vorsehen, welche als ein Ergebnis der Signalverarbeitung erzeugt werden, und N-Bit anfänglichen Pixeldaten vor der Signalverarbeitung. Ebenso kann die Datenempfangseinheit DRU1 M-Bit verarbeitete Pixeldaten und N-Bit anfängliche Pixeldaten von dem externen Speicher EM empfangen und ein Originalbildsignal erzeugen (oder wiederherstellen) durch ein Durchführen einer Signalverarbeitungsoperation auf den M-Bit verarbeiteten Pixeldaten und den N-Bit anfänglichen Pixeldaten.
  • Ebenso kann, wie in 5 veranschaulicht ist, der zweite Bildprozessor IPD2 Pixeldaten von dem externen Speicher EM empfangen. Beispielsweise kann der zweite Bildprozessor IPD2 M-Bit-Pixeldaten von dem externen Speicher EM empfangen. Der zweite Bildprozessor IPD2 kann eine Datenempfangseinheit DRU2 aufweisen. Demzufolge kann der zweite Bildprozessor IPD2 selektiv auf den ersten Bereich des externen Speichers EM zugreifen. Wenn der zweite Bildprozessor IPD2 einem Anzeigesteuermodul entspricht und die externe Anzeigevorrichtung eine Farbtiefe/Grauskala durch M-Bit-Pixeldaten pro Pixel implementiert, kann der zweite Bildprozessor IPD2 M-Bit verarbeitete Pixeldaten empfangen, welche in dem ersten Bereich des externen Speichers EM gespeichert werden, und die M-Bit verarbeiteten Pixeldaten für die externe Anzeigevorrichtung vorsehen.
  • Obwohl in 5 nicht veranschaulicht, können andere Bildprozessoren ebenso auf den externen Speicher EM zugreifen. Wenn der Bildprozessor (M + N)-Bit-Pixeldaten pro Pixel verarbeitet, kann der Bildprozessor auf Pixeldaten zugreifen, welche in dem ersten Bereich und dem zweiten Bereich des externen Speichers EM gespeichert sind. Wenn der Bildprozessor M-Bit-Pixeldaten pro Pixel verarbeitet, kann der Bildprozessor selektiv auf Pixeldaten zugreifen, welche in dem ersten Bereich des externen Speichers EM gespeichert sind.
  • 6 ist ein Blockschaltbild eines Codec-Moduls 200 als einem Beispiel des Codec-Moduls 120 der 3 und 4. In 6 sind ein Anzeigesteuermodul 300, ein Speicher und eine Anzeigevorrichtung weiterhin zusätzlich zu dem Codec-Modul 200 veranschaulicht. Ebenso kann der Speicher der 6 der externe Speicher EM oder der eingebettete Speicher 150, welcher in 3 veranschaulicht ist, sein. Es sei festgehalten, dass, während der externe Speicher EM zwischen dem Codec 200 und dem Anzeigecontroller 300 veranschaulicht ist, dies der Fall ist, um den Datenfluss zu veranschaulichen; der Anzeigecontroller 300 und der Codec 200 können Teil derselben Vorrichtung (beispielsweise SoC) sein, wobei der Datenfluss der 6 durch Zugriffe auf den externen Speicher 200 durch die Vorrichtung (beispielsweise SoC) für einen nachfolgenden Transfer zu der Anzeige durch den Anzeigecontroller 300 erreicht wird. Hierin nachstehend wird angenommen, dass der Speicher der 6 der externe Speicher EM ist, die Beschreibung ist jedoch gleichermaßen anwendbar auf einen eingebetteten Speicher wie beispielsweise 150. Ebenso wird angenommen, dass in (M + N)-Bit-Pixeldaten eines Bildsignals M gleich 8 ist und N gleich 2 ist.
  • Das Codec-Modul 200 kann eine Datenbereitstellungseinheit aufweisen, welche Pixeldaten für den externen Speicher EM vorsieht und eine Datenempfangseinheit, welche Pixeldaten von dem externen Speicher EM empfängt. Die Datenbereitstellungseinheit kann eine Dekodiereinheit 210 aufweisen, welche ein kodiertes Bildsignal dekodiert, und eine Dither-Einheit 220, welche ein Dithern auf dem dekodierten Bildsignal (beispielsweise Originalbildsignal) durchführt, welches durch die Dekodiereinheit 210 erzeugt wird. Ebenso kann die Datenempfangseinheit eine Invers-Dither-Einheit 230 aufweisen (oder es kann darauf Bezug genommen werden als eine Rekonstruktionseinheit), welche Pixeldaten durch ein Durchführen eines Invers-Ditherns auf den Pixeldaten, welche von dem externen Speicher EM empfangen werden, wieder herstellt, und einen Referenzbildgenerator bzw. Referenzbilderzeuger 240, welcher ein Referenzbild, welches dem Originalbildsignal entspricht, erzeugt durch ein Verwenden der wiederhergestellten Pixeldaten und der Pixeldaten, welche von dem externen Speicher EM empfangen werden.
  • Die Anzahl von Bits der Pixel, welche in dem Bildverarbeitungssystem verarbeitet werden, muss nicht fixiert sein. Als ein Beispiel kann die Anzahl von Bits der Pixel pro Verarbeitungsblock (beispielsweise pro funktionalem Block) variieren, und die Anzahl von Bits der Pixel kann gemäß Umständen auch innerhalb desselben Verarbeitungsblocks variieren. Beispielsweise kann, wie in 6 veranschaulicht ist, das Codec-Modul 200, welches ein Bildsignal kodiert/dekodiert, eine 10-Bit-Ausgabe pro Pixel vorsehen, und die Anzeigevorrichtung, welche ein Bild unter Verwendung dieser Ausgabe anzeigt, kann nur einen Abschnitt bzw. Teil der Ausgabe des Codec-Moduls 200 (beispielsweise nur 8 Bit von Daten pro Pixel) verarbeiten. Ebenso können Pixeldaten eines Pixels des Bildsignals, welches für das Codec-Modul 200 vorgesehen ist, in verschiedenen Formen wie beispielsweise 8 Bit oder 10 Bit vorgesehen sein.
  • Gemäß einer Ausführungsform des erfinderischen Konzepts werden, wenn einige funktionale Blöcke innerhalb oder außerhalb des Bildverarbeitungssystems 8-Bit-Pixeldaten pro Pixel verwenden und die anderen funktionalen Blöcke 10-Bit-Pixeldaten pro Pixel ausgeben, die Stücke von 10-Bit-Pixeldaten in 8-Bit-Pixeldaten und 2-Bit-Pixeldaten unterteilt und die 8-Bit-Pixeldaten und die Stücke von 2-Bit-Pixeldaten werden in dem externen Speicher EM gespeichert. Der funktionale Block, welcher 8-Bit Daten pro Pixel verwendet, kann 8-Bit-Pixeldaten empfangen, welche in einem Bereich des externen Speichers EM gespeichert sind, ohne einige Bits (beispielsweise 2-Bit)-Daten unter den gelesenen Daten (beispielsweise 10-Bit) zu verwerfen. Beispielsweise können die 8-Bit-Pixeldaten, welche von den 10-Bit-Pixeldaten unterteilt bzw. abgetrennt werden, in dem ersten Bereich des externen Speichers EM gespeichert werden, die 2-Bit-Pixeldaten können in dem zweiten Bereich des externen Speichers EM gespeichert werden, und die 8-Bit-Pixeldaten, welche in dem ersten Bereich des externen Speichers EM gespeichert sind, können für die Anzeigevorrichtung vorgesehen sein, welche der Bildprozessor ist, welcher ein Bildsignal in Einheiten von 8 Bit pro Pixel verarbeitet.
  • Pixeldaten (beispielsweise anfängliche Pixeldaten) des Originalbildsignals, welches von der Dekodiereinheit 210 ausgegeben wird, können für die Dither-Einheit 220 vorgesehen sein. Beispielsweise können 10-Bit anfängliche Pixeldaten pro Pixel für die Dithereinheit 220 vorgesehen sein. Die Dither-Einheit 220 erzeugt verarbeitete Pixeldaten durch ein Durchführen eines Ditherns auf den 10-Bit anfänglichen Pixeldaten durch ein Verwenden einer vorbestimmten Maske. Die geditherten verarbeiteten Pixeldaten können 8-Bit-Pixeldaten sein, welche erzeugt werden durch ein Entfernen der unteren 2-Bit Daten von den 10-Bit-Pixeldaten, beispielsweise erzeugt durch ein Betreiben eines Maskenkoeffizienten auf den 10-Bit anfänglichen Pixeldaten.
  • Die 8-Bit verarbeiteten Pixeldaten und die 2-Bit anfänglichen Pixeldaten können für den externen Speicher EM vorgesehen sein. Ein Speichercontroller (nicht gezeigt) kann Datenübertragungen zu und von dem externen Speicher EM erleichtern. Obwohl 6 ein Beispiel veranschaulicht, in welchem die 8-Bit verarbeiteten Pixeldaten und die 2-Bit anfänglichen Pixeldaten für den externen Speicher EM über die Dither-Einheit 220 vorgesehen sind, sind Ausführungsformen des erfinderischen Konzepts nicht darauf beschränkt. Beispielsweise können 2-Bit anfängliche Pixeldaten direkt für den externen Speicher EM entlang eines externen Weges hinsichtlich der Dither-Einheit 220 vorgesehen sein, und die Dither-Einheit 220 kann 10-Bit anfängliche Pixeldaten der Pixel des Originalbildsignals empfangen, 8-Bit verarbeitete Pixeldaten durch ein Verwenden der 10-Bit anfänglichen Pixeldaten erzeugen und die 8-Bit verarbeiteten Pixeldaten für den externen Speicher EM vorsehen.
  • Gemäß der obigen Ausführungsform können die 8-Bit verarbeiteten Pixeldaten in dem externen Speicher EM oder dem ersten Bereich des externen Speichers EM in demselben Format als allgemeines 8-Bit Bild gespeichert werden. Demzufolge kann, da die 8-Bit verarbeiteten Pixeldaten, welche in dem ersten Bereich des externen Speichers EM gespeichert sind, für den Bildprozessor vorgesehen bzw. bereitgestellt werden können, verhindert werden, dass unnötige Informationen gespeichert und gelesen werden, und die Breite des Datenbusses, welcher Pixeldaten überträgt, kann verringert werden. Ebenso kann, da die Teile bzw. Stücke von 8-Bit verarbeiteten Pixeldaten, welche in der Anzeigevorrichtung verwendet werden, geditherte Daten sind, die Bildqualität eines angezeigten Bildschirms verbessert werden, auch wenn die Übertragungsmenge von Pixeldaten verringert wird.
  • Die 10-Bit-Pixeldaten, welche getrennt in dem externen Speicher EM gespeichert sind (beispielsweise die 8-Bit verarbeiteten Pixeldaten und die 2-Bit anfänglichen Pixeldaten) können für das Codec-Modul 200 vorgesehen sein, und das Codec-Modul 200 kann ein Referenzbild erzeugen, welches dem Originalbildsignal entspricht, durch ein Verwenden der empfangenen 10-Bit-Pixeldaten (beispielsweise ein Durchführen eines inversen Ditherns auf den empfangenen 8-Bit verarbeiteten Pixeldaten und ein Anhängen der empfangenen 2-Bit anfänglichen Pixeldaten). Das erzeugte wiederhergestellte Referenzbild kann durch das Codec-Modul 200 zu einem vorbestimmten Zeitpunkt verwendet werden und kann für eine Bewegungsabschätzung und -Kompensation in einer Dekodieroperation auf einem nächsten Bildsignal (beispielsweise nächstem Frame) verwendet werden, welcher für das Codec-Modul 200 (beispielsweise von dem CIS) vorgesehen ist.
  • Die Invers-Dither-Einheit 230 kann Pixeldaten, welche den anfänglichen Pixeldaten entsprechen, vor der Dither-Verarbeitung durch ein Durchführen eines Invers-Ditherns auf den geditherten 8-Bit verarbeiteten Pixeldaten wiederherstellen. Der Referenzbilderzeuger 240 kann ein Referenzbild erzeugen, welches dem Originalbild entspricht, durch ein Kombinieren der 8-Bit wiederhergestellten anfänglichen Pixeldaten, welche von der Invers-Dither-Einheit 230 empfangen werden und der 2-Bit anfänglichen Pixeldaten, welche von dem zweiten Bereich des externen Speichers EM gelesen werden.
  • Das Anzeigesteuermodul (Anzeigecontroller) 300 kann auf die ersten und zweiten Bereiche des externen Speichers EM oder nur den ersten Bereich des externen Speichers zugreifen, was von dem Modus oder Typ von Anzeige, welche das Anzeigesteuermodul 300 steuert, abhängen kann. Das Anzeigesteuermodul 300 kann Informationen aufweisen bezogen auf die Anzahl von Bits pro Pixel für die Farbtiefe/Grauskala-Implementation als Informationen bezogen auf die Anzeigevorrichtung. Wenn die Anzeigevorrichtung eine Farbtiefe/Grauskala von 8 Bit pro Pixel implementiert, kann das Anzeigesteuermodul 300 selektiv auf den ersten Bereich des externen Speichers EM zugreifen und Daten, welche 8 Bit pro Pixel entsprechen, für die Anzeigevorrichtung bereitstellen bzw. vorsehen. Wenn die Anzeigevorrichtung eine Farbtiefe/Grauskala durch 10 Bit pro Pixel implementiert, kann das Anzeigesteuermodul 300 selektiv auf den ersten Bereich des externen Speichers EM und den zweiten Bereich des externen Speichers EM zugreifen, um dann Daten, welche 10 Bit pro Pixel entsprechen, für die Anzeigevorrichtung vorzusehen bzw. bereitzustellen.
  • Datenzugriffe auf und von dem externen Speicher EM können durch den Speichercontroller oder das Codec-Modul 200 ermöglicht bzw. erlaubt werden. Der Speichercontroller oder das Codec-Modul 200 können Datenzugriffe unter Verwendung von Adressen erleichtern. Eine Mehrzahl von ersten Adressen kann Speicherorten des 8-Bit Bereichs entsprechen, und eine Mehrzahl von zweiten Adressen kann Speicherorten des 2-Bit Bereichs entsprechen. Jeder Speicherort kann einer minimal zugänglichen Einheit bzw. einer minimal zugreifbaren Einheit (8-Bit, einem Mehrfachen von 8 Bits etc.) entsprechen, und eine einzelne erste oder einzelne zweite Adresse können verwendet werden, um zu jedem Speicherort zu schreiben oder davon zu lesen. Ein Speicherort, welcher die 2 Bit jedes Pixels enthält, kann eine Mehrzahl von Pixeln (beispielsweise 4 Pixel in einer 8-Bit minimal zugänglichen Einheit des Speichers) enthalten.
  • Die 8-Bit und 2-Bit-Bereiche können durch Spaltenadressen unterschieden werden und demnach können Pixel, welche den 8-Bit-Abschnitt und den 2-Bit-Abschnitt aufweisen, in derselben Zeile (beispielsweise einer Wortleitung oder Seite) gespeichert werden. In anderen Ausführungsformen können die 8-Bit- und 2-Bit-Bereiche durch Zeilen unterschieden werden (beispielsweise Wortleitungen). Die Bereiche können in den abwechselnden Zeilen gespeichert werden oder ganze Blöcke des Speichers können verwendet werden, um die 8-Bit- und 2-Bit-Bereiche zu unterscheiden und zu trennen. Die ersten und die zweiten Adressen können diese Bereiche und Speicherorte dementsprechend identifizieren.
  • Datenzugriffe der 8-Bit- und 2-Bit-Bereiche können gleichzeitig oder nacheinanderfolgend sein. Beispielsweise kann eine Datenbusbreite, welche durch ein Codec-Modul oder einen Speichercontroller verwendet wird, Mehrfache der minimal zugänglichen Einheit (beispielsweise 64 Bit, 128 Bit) sein. Auf mehrfache 8-Bit-Abschnitte von Pixeln kann gleichzeitig in einem Datenzugriff zugegriffen werden. Ebenso kann auf mehrere minimale zugängliche Einheiten, welche 2-Bit-Abschnitte der Pixel enthalten, gleichzeitig zugegriffen werden. In anderen Ausführungsformen kann auf 8-Bit- und 2-Bit-Abschnitte von Pixeln gleichzeitig in einem Datenzugriff zugegriffen werden.
  • Die 7A und 7B sind Blockschaltbilder eines Beispiels zum Speichern von Pixeldaten in einem Speicher. Der Speicher der 7A und 7B kann ein externer Speicher sein, welcher außerhalb eines SoC gemäß einer Ausführungsform des erfinderischen Konzepts angeordnet ist oder ein eingebetteter Speicher des SoC. Ebenso veranschaulichen die 7A und 7B ein Beispiel, in welchem eine Speicherzugriffseinheit 8 Bit ist und 8-Bit-Pixeldaten gespeichert und ausgegeben werden, die einer Adresse entsprechen. Adressen, welche in den 7A, 7B, 8A und 8B gezeigt sind (beispielsweise „add_0”) sind Spaltenadressen. Pixeldaten (beispielsweise „p-0”) repräsentieren Pixeldaten (entweder 8-Bit oder 2-Bit), welche mit einer entsprechenden Spaltenadresse verknüpft bzw. dieser zugeordnet sind. Pixeldaten, welche in einer Zeile angeordnet sind (beispielsweise von links nach rects in den 7A und 7B) sind gleich in einer Zeile des Speichers in diesen Beispielen gespeichert (beispielsweise einer Wortleitung eines DRAM, SRAM oder einer Seite eines NAND-Flashspeichers). Zeilenadressen, welche eine Zeile von Speicher identfizieren, sind nicht gezeigt.
  • Wie in den 7A und 7B veranschaulicht ist, kann, da eine Speicherdatenzugriffseinheit 8 Bit ist, eine Datenprozesseinheit eines Systems, welches einen Datenbus aufweist, ein Mehrfaches von 8 Bit sein. Als ein Beispiel kann der Datenbus eine Busbreite von 64 Bit oder 128 Bit haben, eine Datenspeicherposition (beispielsweise Speicherkarte (memory map)) des Speichers kann in Einheiten von 8 Bit konstruiert sein, und eine Pixeldatenverarbeitungslogik kann Pixeldaten in Einheiten eines Mehrfachen von 8 Bit empfangen und verarbeiten. Ebenso wird gemäß einer Ausführungsform des erfinderischen Konzepts auch, wenn die Anzahl von Bit pro Pixel eines Bildsignals, welches zu verarbeiten ist, 10 Bit oder eine unterschiedliche Anzahl von Bits ist, eine Signalverarbeitung, welche für das System geeignet ist, basierend auf Einheiten von 8-Bit (oder Mehrfachen von 8-Bit) auf dem Bildsignal durchgeführt.
  • Wenn die Pixeldaten 10 Bit haben, können Teile der 10-Bit-Pixeldaten getrennt in einem ersten Bereich und einem zweiten Bereich gespeichert werden, wie in den 7A und 7B veranschaulicht ist. Wie in der obigen Ausführungsform können die mehr signifikanten 8-Bit-Pixeldaten unter den 10-Bit-Pixeldaten in dem ersten Bereich des Speichers gespeichert werden und die anderen, weniger signifikanten 2-Bit-Pixeldaten können in dem zweiten Bereich des Speichers gespeichert werden. Wenn der Bildprozessor, welcher auf den Speicher zugreift, einem Codec-Modul entspricht, können 8-Bit verarbeitete Pixeldaten nach der Signalverarbeitung, wie beispielsweise einem Dithern, in dem ersten Bereich des Speichers gespeichert werden, und 2-Bit anfängliche Pixeldaten eines Originalbildsignals können in dem zweiten Bereich des Speichers gespeichert werden. Die 8-Bit anfänglichen Pixeldaten, 7A veranschaulicht ein Beispiel, in welchem Teile von 8-Bit-Pixeldaten in dem ersten Bereich des Speichers gespeichert werden. Beispielsweise können 8-Bit-Pixeldaten eines ersten Pixels p_0 an einer Position einer Adresse 0 (add_0) gespeichert werden, und dann können 8-Bit-Pixeldaten eines zweiten Pixels p_1 an einer Position einer Adresse 1 (add_1) gespeichert werden. Gemäß diesem Modus können 8-Bit-Pixeldaten in einer Mehrzahl von Pixeln gespeichert werden. Wenn der Datenbus eine Busbreite von 64 Bit hat, können Pixeldaten von 8 Pixel p_0 bis p_7 gleichzeitig für den Speicher durch den Datenbus vorgesehen bzw. bereitgestellt werden. Die Adressen, welche in 7A gezeigt sind, können dieselbe Zeilenadresse haben, und die Pixeldaten, welche gezeigt sind, können gleichzeitig von der Zeile, welche durch die Zeilenadresse identifiziert wird, abgetastet und gelatcht werden. Die Pixel, welche in 7A veranschaulicht sind, können alle in derselben Zeile (beispielsweise Wortleitung oder Seite) gespeichert werden, und Abschnitte der Daten auf der Zeile können mittels einer Spaltenadresse identifiziert werden und auf diese zugegriffen werden. Beim Durchführen einer Leseoperation kann eine Zeilenadresse dekodiert werden, um eine Wortleitung zu identifizieren und zu aktivieren. Daten auf der Wortleitung können abgetastet und gelatcht werden durch eine Anordnung bzw. ein Array von Leseverstärkern (beispielsweise wo der Speicher DRAM ist) oder durch einen Seitenpuffer (beispielsweise wenn der Speicher ein NAND-Flashspeicher ist). Eine Spaltenadresse kann dekodiert werden, um zu identifizieren und zuzugreifen auf einen Abschnitt dieser abgetasteten und gelatchten Zeilendaten. Die Adresse der Pixeldaten (einschließlich der Zeilenadresse und Spaltenadresse) identifiziert eine minimal adressierbare Einheit des Speichers und in diesem Beispiel identifiziert sie 8 Bit des Speichers, auf welche nur zusammen von dem Speicher zugegriffen werden kann (d. h. auf diese kann aus dem Speicher nicht getrennt zugegriffen werden).
  • Wie in 7B veranschaulicht ist, können 2-Bit-Pixeldaten jedes Pixels in dem zweiten Bereich des Speichers gespeichert werden. Da 8 Stücke bzw. Teile von Pixeldaten gespeichert und gelesen werden, welche einer Adresse entsprechen, können Pixeldaten von vier Pixeln bei einer minimal adressierbaren Einheit von Speicher, welche einer Adresse des zweiten Bereichs entspricht, gespeichert werden. Als ein Beispiel können, um 2-Bit-Pixeldaten in dem zweiten Bereich des Speichers zu speichern, Pixeldaten eines ersten bis vierten Pixels p_0 bis p_3 an einer Position einer Adresse 0 (add_0) gespeichert werden, und Pixeldaten eines fünften bis achten Pixels p_4 bis p_7 können dann an einer Position einer Adresse 1 (add_1) gespeichert werden. Entsprechend einer Adresse können 2-Bit-Pixeldaten einer Mehrzahl von Pixeln (beispielsweise vier Pixeln) gleichzeitig für die minimal adressierbare Einheit des Speichers vorgesehen sein. Gemäß diesem Speichermodus können 2-Bit-Pixeldaten, welche in allen Pixeln enthalten sind, welche in einem Rahmenbild enthalten sind, in dem zweiten Bereich des Speichers gespeichert werden. Wie bei 7A können die Adressen, welche in 7B gezeigt sind, eine Zeilenadresse gemeinsam verwenden, und die Pixeldaten, welche gezeigt sind, können gleichzeitig aus der Zeile, welche durch die Zeilenadresse identifiziert wird, abgetastet und gelatcht werden. Abschnitte der Zeilendaten können identifiziert werden und es kann auf diese zugegriffen werden über eine Spaltenadresse, was in einem Vorsehen von 2-Bit-Daten mehrerer Pixel resultiert.
  • Gemäß dem Beispiel der 7A und 7B können Daten aller Pixel, welche in einem Framebild enthalten sind, in dem Speicher gespeichert werden. Ebenso können, da die Position des Pixels und die Position der Adresse abgestimmt sind, Daten der Pixel eines Zugriffsziels leicht durch die Adresse angezeigt werden. Ebenso können 2-Bit-Pixeldaten jedes von vier Pixeln (8-Bit-Daten insgesamt) als eine Gruppe definiert werden, und Pixeldaten können in Einheiten der definierten Gruppe gemäß der Adresse gelesen werden und über einen 8-Bit (oder Mehrfach-8-Bit-)Datenbus übertragen werden. Demnach ist es möglich, die unnötige Besetzung des Datenbusses zu verhindern, welche aufgrund einer Differenz zwischen der Dateneinheit der Pixel und der Breite des Datenbusses einschließlich beliebiger Vielfacher davon auftreten könnte.
  • Die 8A und 8B sind Blockschaltbilder eines anderen Beispiels zum Speichern von Pixeldaten in dem Speicher. Die 8A und 8B veranschaulichen ein Beispiel zum Unterteilen von 10-Bit-Pixeldaten in 8-Bit verarbeitete Pixeldaten und 2-Bit anfängliche Pixeldaten und ein Speichern der 8-Bit verarbeiteten Pixeldaten und der 2-Bit anfänglichen Pixeldaten in dem Speicher, wobei die anfänglichen Pixeldaten und die verarbeiteten Pixeldaten unter gleichmäßigen Abständen ohne eine Unterteilung des Bereichs des Speichers gespeichert werden. Beispielsweise können die anfänglichen Pixeldaten und verarbeiteten Pixeldaten in denselben Zeilen (beispielsweise Wortleitungen, Seiten) gespeichert werden, wohingegen in anderen Ausführungsformen die anfänglichen Pixeldaten und die verarbeiteten Pixeldaten in unterschiedlichen Zeilen gespeichert werden können, wie in den 7A und 7B veranschaulicht ist. Wenn sie in derselben Zeile gespeichert werden, können die anfänglichen Pixeldaten und verarbeiteten Pixeldaten durch unterschiedliche Sätze von Spaltenadressen identifiziert werden, jedoch dieselbe Zeilenadresse gemeinsam verwenden.
  • Für ein Framebild können verarbeitete Pixeldaten, welche 8 Bit jedes einer Mehrzahl von Pixeln entsprechen, zuerst gespeichert werden. Beispielsweise können 8-Bit-Pixeldaten eines ersten Pixels p_0 an einer Position einer Adresse 0 (add_0) gespeichert werden, und dann können 8-Bit-Pixeldaten eines zweiten Pixels p_1 an einer Position einer Adresse 1 (add_1) gespeichert werden. Gemäß diesem Modus können 8-Bit-Pixeldaten jedes der Mehrzahl von Pixeln in Einheiten von 8 Bit gespeichert werden. Danach können Pixeldaten, welche 2 Bit jedes der Mehrzahl von Pixeln entsprechen, nacheinanderfolgend gespeichert werden. 2-Bit-Pixeldaten jedes von vier Pixeln können als eine Gruppe definiert und gespeichert werden, entsprechend einer Adresse. Beispielsweise können 2-Bit-Pixeldaten von ersten bis vierten Pixeln p_0 bis p_3 an einer Position einer Adresse 80 (add_80) gespeichert werden, und dann können 2-Bit-Pixeldaten von fünf bis acht Pixeln p_4 bis p_7 an einer Position einer Adresse 81 (add_81) gespeichert werden. Nachdem die Teile von 2-Bit-Pixeldaten wie obenstehend beschrieben gespeichert sind, können 8-Bit-Pixeldaten nacheinanderfolgend in dem Speicher wiederum gespeichert werden.
  • Gemäß einer Ausführungsform, welche in 8A veranschaulicht ist, können, wenn Teile von Daten in Einheiten von 10-Bit-Pixeldaten verarbeitetet werden, 10-Bit-Pixelbilder gleichzeitig aus einer Zeile gelesen werden. Wenn auf Teile von Daten in Einheiten von 10-Bit-Pixeldaten zugegriffen werden muss, kann auf 10-Bit-Pixeldaten zugegriffen werden durch ein Abtasten und latchen von Daten aus einer Zeile des Speichers, ein Zugreifen aus den abgetasteten und gelatchten Zeilendaten auf 8-Bit-Pixeldaten eines relevanten Pixels mit einer ersten Spaltenadresse und ein Zugreifen von den abgetasteten und gelatchten Zeilendaten auf 2-Bit-Pixeldaten des relevanten Pixels (zusammen mit anderen 2-Bit-Pixeldaten von anderen Pixeln) mit einer zweiten Spaltenadresse. Demnach kann auf 10-Bit-Pixeldaten eines einzelnen Pixels (in einigen Beispielen 8-Bit verarbeitete Pixeldaten und 2-Bit anfängliche Pixeldaten) ohne eine Notwendigkeit eines Zugriffs von unterschiedlichen Zeilen zugegriffen werden. Wenn auf Teile von Daten in Einheiten von 8-Bit-Pixeldaten zugegriffen werden muss, kann auf die Pixeldaten in Einheiten von 8 Bit zugegriffen werden durch ein Bezeichnen einer Adresse, welche 8-Bit-Pixeldaten eines relevanten Pixels entspricht.
  • Wie in 8B veranschaulicht ist, können 8-Bit-Pixeldaten in einem Einseiten-(z. B. linken)Bereich einer Leitung (oder einer Zeile) des Speichers gespeichert werden, und 2-Bit-Pixeldaten können in einem anderseitigen (rechten) Bereich davon gespeichert werden. Auf 8-Bit-Pixeldaten und 2-Bit-Pixeldaten kann durch dieselbe Zeilenadresse zugegriffen werden. Beispielsweise kann der Bildprozessor auf die 8-Bit-Pixeldaten durch ein Vorsehen bzw. Bereitstellen einer ersten Spaltenadresse zugreifen, welche einer Position entspricht, an welcher die Teile von 8-Bit-Pixeldaten gespeichert worden sind, und kann auf die 2-Bit-Pixeldaten durch ein Vorsehen bzw. Bereitstellen einer zweiten Spaltenadresse zugreifen, welche einer Position entspricht, an welcher die Teile von 2-Bit-Pixeldaten gespeichert worden sind.
  • Obwohl die 8A und 8B ein Beispiel veranschaulichen, in welchem Teile von 10-Bit-Pixeldaten in demselben Bereich des Speichers gespeichert werden, sind Ausführungsformen des erfinderischen Konzepts nicht darauf beschränkt. Beispielsweise können, da Teile der 10-Bit-Pixeldaten in 8-Bit-Pixeldaten und 2-Bit-Pixeldaten unterteilt sind, und die 8-Bit-Pixeldaten und die 2-Bit-Pixeldaten in dem Speicher unter gleichmäßigen Abständen gespeichert sind, die 8-Bit-Pixeldaten und die 2-Bit-Pixeldaten als in unterschiedlichen Bereichen des Speichers gespeichert betrachtet werden.
  • Daten müssen nicht gleichzeitig gespeichert werden/gelesen werden in/aus unterschiedlichen Bereichen des Speichers in dem Beispiel der 7A und 7B, wohingegen Daten gleichzeitig gespeichert/gelesen werden müssen in/aus unterschiedlichen Bereichen des Speichers in dem Beispiel der 8A und 8B. Beispielsweise kann in einer Ausführungsform, welche durch die 7A und 7B veranschaulicht ist, ein erster 64-Bit-Datentransfer zwischen dem externen Speicher zu dem Codec auf einem Datenbus die Schreib- oder Leseoperation von acht Stück der 8-Bit-Pixeldaten (beispielsweise für Pixel p_0 bis p_7) erreichen, und ein zweiter 64-Bit-Datenzugriff kann die Schreib- oder Leseoperation von 32 Stück von 2-Bit-Pixeldaten (beispielsweise für Pixel p_0 bis p_1f) erreichen. Die 8-Bit-Pixeldaten und 2-Bit-Pixeldaten des ersten und zweiten 64-Bit-Datenzugriffes können in unterschiedlichen Zeilen (beispielsweise Wortleitungen, Seiten) gespeichert sein. In einer Ausführungsform, welche durch die 8A und 8B veranschaulicht wird, kann ein einzelner 64-Bit-Datenzugriff sechs Stück von 8-Bit-Pixeldaten (beispielsweise für Pixel p_0 bis p_5) und acht Stück von 2-Bit-Pixeldaten (beispielsweise für Pixel p_0 bis p_7) übertragen. Die 8-Bit-Pixeldaten und 2-Bit-Pixeldaten des einzelnen 64-Bit-Datenzugriffs können gleichzeitig gespeichert werden in und gelesen werden aus derselben Zeile, welche durch unterschiedliche Spaltenadressen differenziert ist.
  • Die 9A und 9B veranschaulichen ein Beispiel der Dither- und Invers-Dither-Operation, welche unter Bezugnahme auf 6 beschrieben sind.
  • Wie in der obigen Ausführungsform wird ein Bildsignal, welches 10-Bit-Pixeldate pro Pixel hat, verarbeitet. Wenn die Anzeigevorrichtung eine Farbtiefe/Grauskala durch 8-Bit-Pixeldaten pro Pixel implementiert, kann die Bildqualität verschlechtert werden. Demzufolge kann das Codec-Modul ein Dithern auf den 10-Bit-Pixeldaten (beispielsweise anfängliche Pixeldaten „10b” – vier gezeigt) eines Bildsignals durchführen, und die geditherten 8-Bit-Pixeldaten (beispielsweise verarbeitete Pixeldaten „8b” – vier gezeigt) können für die Anzeigevorrichtung vorgesehen bzw. bereitgestellt werden.
  • 8-Bit verarbeitete Pixeldaten können durch ein Durchführen von Dithern auf den anfänglichen Pixeldaten, welche in jedem Pixel enthalten sind, erzeugt werden. Wie in 9A veranschaulicht ist, kann jeder der Pixel des Originalbildsignals 10-Bit (10b) anfängliche Pixeldaten aufweisen, und geditherte verarbeitete Pixeldaten können erzeugt werden durch ein Durchführen einer vorbestimmten Operation (beispielsweise Hinzufügungsoperation) auf den 10-Bit anfänglichen Pixeldaten durch ein Verwenden einer Maske eines vorbestimmten Formats. 10-Bit verarbeitete Pixeldaten können erzeugt werden durch ein Durchführen einer Operation zwischen den 10-Bit anfänglichen Pixeldaten und Koeffizienten einer Maske, und verbleibende 8-Bit verarbeitete Pixeldaten 8b' können erzeugt werden durch ein Entfernen unterer zwei Bits (beispielsweise durch 2-Bit-Verschiebung) der 10-Bit verarbeiteten Pixeldaten.
  • Gemäß der obigen Ausführungsform können 10-Bit-Pixeldaten jedes Pixels getrennt in unterschiedlichen Bereichen des Speichers gespeichert werden. Beispielsweise können die 8-Bit verarbeiteten Pixeldaten 8b' in dem ersten Bereich des Speichers gespeichert werden, und untere bzw. niedrigere 2-Bit anfängliche Pixeldaten „2b” unter den 10-Bit anfänglichen Pixeldaten können in dem zweiten Bereich des Speichers gespeichert werden.
  • Ebenso können, um eine Invers-Dither-Operation durchzuführen, 8-Bit anfängliche Pixeldaten 8b durch ein Durchführen einer vorbestimmten Operation (beispielsweise Substraktionsoperation) auf den 8-Bit verarbeiteten Pixeldaten 8b', welche aus dem Speicher gelesen werden, wiederhergestellt werden durch ein Verwenden einer vorbestimmten Maske, wie in 9B veranschaulicht ist. 10-Bit-Pixeldaten 10b eines Referenzbildes können erzeugt werden durch ein Verwenden der wiederhergestellten 8-Bit anfänglichen Pixeldaten 8b und der niedrigeren 2-Bit anfänglichen Pixeldaten 2b, welche in dem zweiten Bereich des Speichers gespeichert sind.
  • Obwohl eine Maske eines 2 × 2-Formats in dem Beispiel der 9A und 9B veranschaulicht ist, sind Ausführungsformen des erfinderischen Konzepts nicht darauf beschränkt. Beispielsweise kann, wenn die Einheit von anfänglichen Pixeldaten eine größere Anzahl von Bits als 10 Bit hat und 8-Bit verarbeitete Pixeldaten durch ein Durchführen einer Dither-Operation darauf zu erzeugen sind, eine Maske eines Formats, welche eine größere Größe als die Maske des 2 × 2-Formats hat, für die Dither-Operation verwendet werden.
  • 10 ist ein Blockschaltbild eines Beispiels des Übertragens von Daten zwischen dem Speicher und Logikeinheiten (beispielsweise funktionalen Blöcken), welche eine Signalverarbeitung auf Pixeldaten durchfüren. Ein Bildprozessor, welcher Pixeldaten verarbeitet, kann eine Mehrzahl von Logikeinheiten für eine Signalverarbeitung auf einer Mehrzahl von Pixeln aufweisen. 10 veranschaulicht ein Beispiel, in welchem jede Logikeinheit 10-Bit-Pixeldaten verarbeitet und Stücke bzw. Teile von Pixeldaten in dem Speicher in Einheiten von 8 Bit gespeichert werden.
  • Eine Logikeinheit kann eine Signalverarbeitung auf Daten jedes Pixels durchführen. Demzufolge müssen, wenn die Logikeinheit 10-Bit-Pixeldaten verarbeitet, 8-Bit-Pixeldaten und 2-Bit-Pixeldaten, welche in unterschiedlichen Bereichen des Speichers gespeichert sind, für die Logikeinheit bereitgestellt bzw. vorgesehen werden. Die Logikeinheit kann einen Pixel gemäß den empfangenen Pixeldaten konstruieren und eine Signalverarbeitung auf dem konstruierten Pixel gemäß einer relevanten Funktion durchführen.
  • Gemäß dem Beispiel der 10 können eine erste bis achte Logikeinheit L_0 bis L_7 jeweils erste bis siebte Pixel p_0 bis p_7 verarbeiten. Als ein Beispiel kann der erste Pixel p_0 10-Bit-Pixeldaten aufweisen, wobei 8-Bit-Pixeldaten unter den 10-Bit-Pixeldaten in dem ersten Bereich gespeichert werden können, und 2-Bit-Pixeldaten in dem zweiten Bereich gespeichert werden können. Die erste Logikeinheit L_0 kann 8-Bit-Pixeldaten des ersten Pixels p_0, welche in dem ersten Bereich gespeichert sind, und 2-Bit-Pixeldaten des ersten Pixels p_0, welche in dem zweiten Bereich gespeichert sind, empfangen, und die 8-Bit-Pixeldaten und die 2-Bit-Pixeldaten kombinieren, um den ersten Pixel p_0 zu konstruieren. Wenn Teile bzw. Stücke von Daten des ersten bis achten Pixels p_0 bis p_7 gleichzeitig für die erste bis achte Logikeinheit L_0 bis L_7 vorgesehen werden, können 8-Bit-Pixeldaten des ersten bis achten Pixels p_0 bis p_7, welche in dem ersten Bereich des Speichers gespeichert sind, für die Logikeinheiten vorgesehen werden, entsprechend den ersten bis achten Pixeln p_0 bis p_7. Ebenso kann auf 2-Bit-Pixeldaten des ersten bis achten Pixels p_0 bis p_7, welche in dem zweiten Bereich des Speichers gespeichert sind, in Einheiten von einer Gruppe, welche Daten von vier Pixeln aufweist, zugegriffen werden, und 2-Bit-Pixeldaten des ersten bis vierten Pixels p_0 bis p_3, welche einer Adresse entsprechen, können für die erste bis vierte Logikeinheit L_0 bis L_3 vorgesehen bzw. bereitgestellt werden.
  • Gemäß der obigen Ausführungsform kann eine Logikstruktur für eine 8-Bit-Verarbeitungsoperation und eine 10-Bit-Verarbeitungsoperation vereinfacht werden. Beispielsweise kann, wenn die Datenverarbeitungseinheit der Logikeinheit unterschiedlich von der Datenspeichereinheit des Speichers ist, ein Adressierungsvorgang zum Vorsehen von 10-Bit-Daten jedes Pixels, welcher in dem Speicher gespeichert ist, für die Logikeinheit, welche dem ersten bis achten Pixel p_0 bis p_7 entspricht, kompliziert sein. Gemäß einer Ausführungsform des erfinderischen Konzepts kann eine 10-Bit-Logikeinheit konstruiert werden durch ein 8-Bit-Register und ein 2-Bit-Register, und 8-Bit-Pixeldaten, welche in dem ersten Bereich des Speichers gespeichert sind, können für jedes von 8-Bit-Registern entlang eines Datentransferweges, welcher in 10 veranschaulicht ist, vorgesehen bzw. bereitgestellt werden. Ebenso können, um ein zusätzliches 2-Bit-Register gemäß einer 10-Bit-Verarbeitungsoperation zu betreiben, 2-Bit-Pixeldaten, welche in dem zweiten Bereich des Speichers gespeichert werden, für das 2-Bit-Register, wie in 10 veranschaulicht, vorgesehen werden. Bei der 8-Bit-Verarbeitungsoperation oder der 10-Bit-Verarbeitungsoperation können 8-Bit-Pixeldaten des ersten Bereichs für das 8-Bit-Register über denselben Weg vorgesehen werden, und 2-Bit-Pixeldaten können für das zusätzliche 2-Bit-Register in der 10-Bit-Verarbeitungsoperation vorgesehen werden. In diesem Fall kann, da die Position der Adresse und die Position des Pixels in dem Speicher abgestimmt sind, eine Adressierung vereinfacht werden. Ebenso kann, da eine getrennte Leistung zu der zusätzlichen 2-Bit-Logik durch ein Takt-Ausblenden oder ein Leistungs-Ausblenden blockiert werden kann, die Leistungseffizienz erhöht werden.
  • 11 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer Ausführungsform des erfinderischen Konzepts. 11 veranschaulicht ein Beispiel, in welchem ein Bildsignal eine Mehrzahl von Pixeln aufweist, und jeder Pixel (M + N)-Pixeldaten aufweist. Ebenso ist ein Beispiel des Codec-Moduls, welches umgewandelte Pixeldaten durch ein Durchführen einer Dither-Operation erzeugt, als ein Bildprozessor beschrieben.
  • Das Bildverarbeitungssystem empfangt (M + N)-Bit-Pixeldaten (S11) und auf die Pixeldaten kann Bezug genommen werden als (M + N)-Bit anfängliche Pixeldaten, welche einem Signal vor der Signalverarbeitung durch das Bildverarbeitungssystem entsprechen. Das Bildverarbeitungssystem führt eine Bildverarbeitung auf den (M + N)-Bit anfänglichen Pixeldaten durch und kann beispielsweise M-Bit verarbeitete Pixeldaten durch eine Datenumwandlung (S12) erzeugen.
  • Das Bildverarbeitungssystem kann auf den Speicher zugreifen, um Pixeldaten in/aus dem Speicher zu speichern/zu lesen. Als ein Beispiel kann das Bildverarbeitungssystem innerhalb eines SoC vorgesehen sein und kann auf einen eingebetteten Speicher des SoC zugreifen. Ebenso kann das Bildverarbeitungssystem auf einen externen Speicher des SoC zugreifen. Gemäß der Ausführungsform der 11 kann das Bildverarbeitungssystem Pixeldaten in dem eingebetteten Speicher über einen Datenbus, welcher innerhalb des SoC platziert ist, speichern. Ebenso kann das Bildverarbeitungssystem Pixeldaten in dem externen Speicher durch ein Vorsehen der Pixeldaten für das Speichersteuermodul über einen Datenbus, welcher innerhalb des SoC platziert ist, speichern.
  • Wenn das Bildverarbeitungssystem auf den Speicher zugreift, können Pixeldaten in Einheiten von M-Bits und N-Bits gemäß der obigen Ausführungsform unterteilt und gespeichert werden. Beispielsweise können M-Bit verarbeitete Pixeldaten, welche durch die Signalverarbeitungsoperation erzeugt werden, in dem ersten Bereich des Speichers gespeichert werden (S13). Ebenso können N-Bit anfängliche Pixeldaten eines Originalbildsignals in dem zweiten Bereich des Speichers gespeichert werden (S14). Danach kann, in dem Fall, dass andere Datenprozessoren Pixeldaten, welche in dem Speicher gespeichert sind, verwenden, eine Funktion basierend auf einer M-Bit-Verarbeitungsoperation durchgeführt werden, oder eine Funktion basierend auf einer (M + N)-Verarbeitungsoperation kann durchgeführt werden. Ein System basierend auf einer M-Bit-Verarbeitungsoperation kann Pixeldaten durch ein Zugreifen auf den ersten Bereich des Speichers empfangen, und ein System basierend auf einer (M + N)-Bit-Verarbeitungsoperation kann Pixeldaten durch ein Zugreifen auf den ersten Bereich und den zweiten Bereich des Speichers empfangen.
  • 12 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts. 12 veranschaulicht ein Beispiel, in welchem ein Bildsignal eine Mehrzahl von Pixeln aufweist, und jeder Pixel (M + N)-Bit-Pixeldaten aufweist. Ebenso veranschaulicht 12 ein Beispiel eines (M + N)-Bit-Codec-Moduls und einer M-Bit-Anzeigevorrichtung als ein Beispiel, in welchem Teile bzw. Stücke von Pixeldaten, welche in dem Speicher gespeichert sind, für Bildprozessoren vorgesehen werden, welche Daten in Einheiten von unterschiedlichen Anzahlen von Bits verarbeiten.
  • Als erstes werden gemäß der obigen Ausführungsform Stücke von M-Bit-Pixeldaten, welche einem Pixel entsprechen, in dem ersten Bereich des Speichers gespeichert (S21) und Stücke von N-Bit-Pixeldaten, welche dem Pixel entsprechen, werden in dem zweiten Bereich des Speichers gespeichert (S22). Danach können die Pixeldaten, welche in dem Speicher gespeichert werden, für verschiedene Bildprozessoren vorgesehen bzw. bereitgestellt werden.
  • Beispielsweise können, wenn die Anzeigevorrichtung eine Farbtiefe/Grauskala von M Bit gemäß M-Bit-Pixeldaten jedes Pixels implementiert, die Pixeldaten, welche in dem ersten Bereich des Speichers gespeichert sind, für die Anzeigevorrichtung über einen Datenbus vorgesehen werden, welcher eine Busbreite von M Bits (oder ein Vielfaches von M Bits) hat (S23). Die Anzeigevorrichtung kann ein Bild auf einem Bildschirm der Anzeige durch ein Verwenden der empfangenen Pixeldaten anzeigen. Beispielsweise kann die Anzeigevorrichtung einen Bildschirm mit einer Farbtiefe/Grauskala von M Bit gemäß M-Bit-Pixeldaten pro Pixel anzeigen.
  • Ebenso kann für eine Bildverarbeitungsoperation ein Rahmenbild, welches in dem Speicher gespeichert ist, als ein Referenzbild verwendet werden. Was dies betrifft, können (M + N)-Bit-Pixeldaten, welche in dem ersten und zweiten Bereich des Speichers gespeichert sind, für das Codec-Modul vorgesehen werden (S24). Gemäß der obigen Ausführungsform können die Pixeldaten, welche in dem ersten Bereich des Speichers gespeichert sind, für das Codec-Modul in Einheiten von M-Bits oder in Einheiten eines Mehrfachen von M-Bits vorgesehen werden, und die Pixeldaten, welche in dem zweiten Bereich des Speichers gespeichert sind, können für das Codec-Modul in Einheiten einer Gruppe vorgesehen werden. Beispielsweise kann eine Gruppe N-Bit-Pixeldaten jedes von vier Pixeln aufweisen, und die Anzahl von Bits der Pixeldaten einer Gruppe kann M Bit entsprechen. Eine gleichzeitige Übertragung der (M + N)-Bit-Pixeldaten für mehrere Pixel aus dem Speicher zu dem Codec-Modul kann auf einem Datenbus durchgeführt werden, welcher eine Breite gleich einem ganzzahligen Mehrfachen von M hat (beispielsweise einem 64-Bit-Datenbus, wenn M = 8).
  • Das Codec-Modul kann ein Referenzbild durch ein Verwenden der empfangenen (M + N)-Bit-Pixeldaten erzeugen. Beispielsweise kann das Codec-Modul die M-Bit-Pixeldaten, welche von dem ersten Bereich des Speichers gelesen werden, umwandeln (S25) und kann ein Referenzbild durch ein Kombinieren der umgewandelten Pixeldaten und der N-Bit-Pixeldaten, welche aus dem zweiten Bereich des Speichers gelesen werden, erzeugen (S26). Das Referenzbild, welches erzeugt wird, kann durch einen Referenzbilderzeuger erzeugt werden, welcher durch einen Prozessor oder ein Codec-Modul implementiert ist. Die erzeugte Mehrzahl von Pixelwerten, welche das Referenzbild aufweisen, kann im Wesentlichen dieselbe sein wie entsprechende Pixel des Bildes, welche als ein Teil der Schritte S21 und S22 jedoch vor jeglicher Signalverarbeitung auf dem Bild (beispielsweise vor einem Dither- und/oder Dekodier-Schritt) gespeichert werden.
  • Die 13A und 13B sind Blockschaltbilder eines anderen Beispiels eines Systems, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist. Als ein Beispiel kann das System der 13A eine mobile Vorrichtung 400 sein, und ein Bildprozessor, welcher Pixeldaten eines Bildsignals verarbeitet, ist als ein funktionaler Block innerhalb der mobilen Vorrichtung 400 veranschaulicht. Auf den Bildprozessor kann Bezug genommen werden als ein Verarbeitungsblock.
  • Wie in 13A veranschaulicht ist, kann die mobile Vorrichtung 400 einen Anwendungsprozessor 410, einen ersten CIS 421, einen zweiten CIS 422, einen ersten Verarbeitungsblock 431, einen zweiten Verarbeitungsblock 432, einen Speicher 440 und eine Anzeigevorrichtung 450 aufweisen. Ebenso kann der Anwendungsprozessor 410 ein Codec-Modul 411, ein Anzeigesteuermodul 412 und einen Bildsignalprozessor 413 aufweisen. Der Anwendungsprozessor 410 kann jeweilige zugeordnete bzw. dedizierte Schnittstellen aufweisen, welche mit jeweiligen externen Kommunikationsbussen verbunden sind, um mit jedem des ersten CIS 421, des zweiten CIS 422, des ersten Verarbeitungsblocks 431, des zweiten Verarbeitungsblocks 432, des Speichers 440 und der Anzeigevorrichtung 450 (beispielsweise entsprechend zu den Pfeilen) zu kommunizieren. Alternativ können solche Schnittstellen nicht zugeordnet sein und können mit anderen Vorrichtungen extern zu dem Anwendungsprozessor 410 gemeinsam verwendet werden, wie beispielsweise diejenigen, welche in 13A gezeigt sind, oder anderen Vorrichtungen, welche in 13A nicht gezeigt sind. Schnittstellen können elektrische Anschlüsse (beispielsweise Chip-Pads eines Halbleiterchips) und Eingabe-/Ausgabe-Puffer des Anwendungsprozessors 510 aufweisen, welche Treiber und/oder Latches haben, welche mit einem jeweiligem elektrischen Anschluss verbunden sind, um jeweils Signale (Daten, Adress- und Befehlssignale) zu treiben, welche von dem Anwendungsprozessor 510 ausgegeben werden, und um Signale (Daten, Adress- und Befehlssignale) zu latchen, welche von Quellen extern zu dem Anwendungsprozessor 510 zugeführt werden. Verschiedene funktionale Blöcke, welche in der mobilen Vorrichtung 400 enthalten sind, können mit dem Anwendungsprozessor 410 kommunizieren, und Komponenten in dem Anwendungsprozessor 410 können Signale miteinander über einen Systembus austauschen. Ein Modus-Register (nicht gezeigt) des Anwendungsprozessors kann programmiert und eingestellt werden (oder der Anwendungsprozessor kann anderweitig programmiert werden), um den Anwendungsprozessor 410 über die Anzahl von Bits, welche mit CIS 421, CIS 422, Verarbeitungsblock 1 431, Verarbeitungsblock 2 432 und Anzeige 450 auszutauschen sind – demnach können M und N variabel sein und angepasst werden, abhängig von dem System, in welchem der Anwendungsprozessor eingesetzt wird.
  • Der Anwendungsprozessor 410 kann als ein SoC implementiert sein, welcher eine Mehrzahl von IP-Kernen aufweist. Ebenso können die funktionalen Blöcke, welche in 13A veranschaulicht sind, Pixeldaten, welche eine unterschiedliche Anzahl von Bits haben, übertragen/empfangen. Beispielsweise kann der zweite CIS 422 Pixeldaten von (M + N) Bit pro Pixel erzeugen, und der zweite Verarbeitungsblock 432 kann eine Verarbeitungsoperation von (M + N) Bit pro Pixel durchführen, und der Anwendungsprozessor 410 kann Pixeldaten von (M + N) Bit pro Pixel mit dem zweiten CIS 422 und dem zweiten Verarbeitungsblock 432 austauschen (übertragen/empfangen). Beispielsweise kann M gleich 8 sein, und N kann gleich 2,4 oder 8 sein.
  • Ebenso kann der erste CIS 421 Pixeldaten von M Bit pro Pixel erzeugen, und der erste Verarbeitungsblock 431 und die Anzeigevorrichtung 450 können eine Verarbeitungsoperation durch M Bit pro Pixel durchführen. Der Anwendungsprozessor 410 kann Daten von M Bit pro Pixel mit dem ersten CIS 421, dem ersten Verarbeitungsblock 431 und der Anzeigevorrichtung 450 austauschen. Der Anwendungsprozessor 410 kann einen Zugriff auf den ersten Bereich und den zweiten Bereich des Speichers 440 gemäß dem Datenverarbeitungsmerkmal jedes der funktionalen Blöcke steuern.
  • Als ein Beispiel können der erste CIS 421 und der zweite CIS 422 Bildsignale erzeugen, welche eine unterschiedliche Farbtiefe/Grauskala haben, und der Bildsignalprozessor 413 kann Pixeldaten erzeugen, welche eine unterschiedliche Anzahl von Bit pro Pixel haben. Beispielsweise kann der Bildsignalprozessor 413 Pixeldaten von M Bit pro Pixel hinsichtlich des Bildsignals, welches von dem ersten CIS 421 empfangen wird, erzeugen. Ebenso kann der Bildsignalprozessor 413 Pixeldaten von (M + N) Bit pro Pixel hinsichtlich dem Bildsignal, welches von dem zweiten CIS 422 empfangen wird, erzeugen. Wie in der obigen Ausführungsform können die (M + N)-Bit-Pixeldaten in M-Bit-Pixeldaten und N-Bit-Pixeldaten unterteilt werden, und jede der unterteilten Pixeldaten können für den Speicher 440 durch den M-Bit (Mehrfach-M-Bit)-Datenbus vorgesehen werden.
  • Die (M + N)-Bit-Pixeldaten können in M-Bit-Pixeldaten und N-Bit-Pixeldaten unterteilt werden, und die M-Bit-Pixeldaten und die N-Bit-Pixeldaten können in unterschiedlichen Bereichen des Speichers 440 gespeichert werden. Beispielsweise können M-Bit-Pixeldaten für den Speicher 440 über den M-Bit (oder Mehrfach-M-Bit)-Datenbus vorgesehen werden, N-Bit-Pixeldaten einer Mehrzahl von Pixeln können als eine Gruppe definiert werden, und die Pixeldaten der Gruppe können für den Speicher 440 über den M-Bit (oder Mehrfach-M-Bit-)Datenbus vorgesehen werden. Nachdem Stücke von M-Bit-Pixeldaten (beispielsweise obere M-Bit-Pixeldaten) jedes Pixels für den Speicher 440 vorgesehen sind, können N-Bit-Pixeldaten (beispielsweise niedrigere bzw. untere N-Bit-Pixeldaten) jedes Pixels nacheinanderfolgend für den Speicher 440 vorgesehen werden.
  • Der erste Verarbeitungsblock 431 und der zweite Verarbeitungsblock 432 können auf den Speicher 440 gemäß Datenverarbeitungseinheiten zugreifen, welche jeweils für den ersten Verarbeitungsblock 432 und den zweiten Verarbeitungsblock 432 definiert sind. Ebenso kann die Anzeigevorrichtung 450 M-Bit-Pixeldaten empfangen und die M-Bit-Pixeldaten auf einem Bildschirm durch ein Implementieren einer Farbtiefe/Grauskala gemäß den empfangenen M-Bit-Pixeldaten anzeigen.
  • 13B veranschaulicht ein Beispiel, in welchem das System der 13A auf einen Speicher zugreift. Der Speicher, welcher in 13B veranschaulicht ist, kann der Speicher 440 der 13A sein oder der eingebettete Speicher, welcher innerhalb des SoC vorgesehen ist (beispielsweise der Anwendungsprozessor 410 der 13A).
  • Der zweite CIS 422 kann eine Abtasteinheit (nicht veranschaulicht) aufweisen, welche für jeden Pixelsensor der Abtasteinheit ein elektrisches Signal erzeugt, welches eine Größe bzw. Größenordnung hat (beispielsweise entsprechend der Intensität von Licht), welche durch den Pixelsensor empfangen wird, und wandelt dasselbe in einen entsprechenden digitalen Wert um, um ein Bildsignal für den Bildsignalprozessor (ISP = Image Signal Processor = Bildsignalprozessor) 422 vorzusehen, welcher ein verarbeitetes Bild für den Anwendungsprozessor 510 vorsieht. Das Bild kann ein stillstehendes Bild, welches eine Mehrzahl von Pixelwerten für jeden der Pixel aufweist und/oder ein Videobild, welches eine Mehrzahl von stillstehenden Bildern (Frames bzw. Rahmen) aufweist. In einigen Ausführungsformen kann ein separater ISP 422 nicht verwendet werden und eine beliebige erwünschte Bildverarbeitung, um ein anfängliches Bild zu erhalten, kann durch den Anwendungsprozessor 510 durchgeführt werden. Der zweite CIS 422 kann 10-Bit-Pixeldaten erzeugen und die 10-Bit-Pixeldaten für den Speicher vorsehen, so dass die Stücke von 10-Bit-Pixeldaten in 8-Bit-Pixeldaten und 2-Bit-Pixeldaten unterteilt werden, und die 8-Bit-Pixeldaten und die 2-Bit-Pixeldaten getrennt in dem Speicher EM gespeichert werden. Der Anwendungsprozessor 510 kann ein abgetastetes Bild von dem ersten oder zweiten CIS 421 oder 422 von getrennten jeweiligen Schnittstellen des Anwendungsprozessors 510 oder einer gemeinsam verwendeten Schnittstelle des Anwendungsprozessors 510 empfangen.
  • 8-Bit-Pixeldaten jedes der Pixel können in dem ersten Bereich (8-Bit-Bereich) des Speichers EM gespeichert werden, und 2-Bit-Pixeldaten jedes der Pixel können in dem zweiten Bereich (2-Bit-Bereich) des Speichers EM gespeichert werden. Die Pixeldaten, welche in dem Speicher gespeichert werden, können durch andere Bildprozessoren verwendet werden.
  • Beispielsweise können die 8-Bit-Pixeldaten, welche in dem ersten Bereich (8-Bit-Bereich) des Speichers EM gespeichert sind, für die Anzeigevorrichtung vorgesehen werden, um ein Bild anzuzeigen. Das Anzeigesteuermodul 412 kann auf jeden eines ersten Bereichs (8-Bit-Bereich) und eines zweiten Bereichs (2-Bit-Bereich) des Speichers EM zugreifen. Wenn die Anzeigevorrichtung 405 eine Farbtiefe/Grauskala von 8 Bit pro Pixel implementiert, kann das Anzeigesteuermodul 412 selektiv auf den ersten Bereich (8-Bit-Bereich) des Speichers EM zugreifen, um Pixeldaten für die Anzeigevorrichtung 450 vorzusehen.
  • Das Codec-Modul 411 kann eine Kodieroperation auf den Pixeldaten (beispielsweise dekodierte Pixeldaten), welche in dem Speicher EM gespeichert sind, durchführen. Demnach kann das Codec-Modul 411 eine Kodiereinheit (nicht gezeigt) aufweisen. Die Kodieroperation kann durchgeführt werden auf einer Dateneinheit von 10 Bit pro Pixel. Demnach können die Pixeldaten, welche in dem ersten Bereich (8-Bit-Bereich) und dem zweiten Bereich (2-Bit-Bereich) des Speichers gespeichert sind, für die Kodiereinheit vorgesehen sein. Die Kodiereinheit kann einen Bitstrom durch eine Kodieroperation erzeugen, und der erzeugte Bitstrom kann in dem System gespeichert werden oder kann zu anderen Systemen übertragen werden.
  • 14 ist ein Blockschaltbild eines anderen Beispiels eines Systems, welches einen Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts aufweist. Als ein Beispiel weist das System von 14 eine Anzeigevorrichtung auf, welche eine Farbtiefe/Grauskala durch wenigstens zwei unterschiedliche Anzahlen von Pixeldaten (beispielsweise durch Display_A oder Display_B) implementiert. Ein Modus-Register (nicht gezeigt) des Anwendungsprozessors kann eingestellt sein (oder der Anwendungsprozessor kann anderweitig programmiert sein), um den Anwendungsprozessor 510 von der Farbtiefe/Grauskala der Anzeige zu informieren und demnach die Anzahl von Bits zum Übertragen zu der Anzeige 540. Demnach kann die Farbtiefe/Grauskala variabel sein und abhängig von der Anzeige, mit welcher der Anwendungsprozessor 510 verbunden ist, angepasst werden. Zusätzlich kann M auf die Farbtiefe/Grauskala (die Anzahl von Bits der Farbtiefe/Grauskala) der Anzeige eingestellt werden und demnach können M und N programmierbar und variabel sein.
  • Jeder funktionale Block, welcher in 14 veranschaulicht ist, kann einem Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts entsprechen. Ebenso können ein oder mehrere funktionale Blöcke, welche in 14 veranschaulicht sind, ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts bilden. Ebenso kann ein SoC gemäß einer Ausführungsform des erfinderischen Konzepts ein oder mehrere Bildprozessoren aufweisen, welche eine Bildverarbeitung gemäß einer Ausführungsform des erfinderischen Konzepts durchführen. Beispielsweise können der Anwendungsprozessor der 13A und 14A und der Anwendungsprozessor 510 der 14 ein SoC gemäß einer Ausführungsform des erfinderischen Konzepts sein (beispielsweise SoC 100 der 3). Ebenso können die Systeme der 13A, 13B und 14 in einer mobilen Vorrichtung 500 wie beispielsweise einem Smartphone implementiert sein.
  • Wie in 14 veranschaulicht ist, kann die mobile Vorrichtung 500 einen Anwendungsprozessor 510, einen CIS 520, einen Speicher 530 und eine Anzeigevorrichtung 540A aufweisen. Ebenso kann der Anwendungsprozessor 510 ein Codec-Modul 511 und ein Anzeigesteuermodul 512 aufweisen. Ebenso kann die Anzeigevorrichtung 514 ein Display_A sein, welches eine Farbtiefe/Grauskala jedes Pixels durch (M + N)-Bit-Pixeldaten implementiert. Ebenso kann die Anzeigevorrichtung 540 eine Anzeigevorrichtung Display_B sein, welche eine Farbtiefe/Grauskala jedes Pixels durch M-Bit-Pixeldaten implementiert. Ein Datenbus für eine Übertragung/Empfang von Pixeldaten in dem Anwendungsprozessor 510 hat eine Busbreite von M Bit (oder ein ganzzahliges Vielfaches von M Bit).
  • Gemäß der Ausführungsform, welche in 14 veranschaulicht ist, kann der Anwendungsprozessor 510 die (M + N)-Bit-Pixeldaten in dem Speicher 530 ohne einen getrennten Vorgang zum Verringern der Anzahl von Bits der (M + N)-Bit-Pixeldaten speichern. Da die Anzeigevorrichtung Display_A eine Farbtiefe/Grauskala jedes Pixels durch ein Verwenden von (M + N)-Bit-Pixeldaten implementiert, kann eine Dither-Operation auf den anfänglichen Pixeldaten nicht in einem Umwandeln der Anzahl von Bits wie in den anderen Ausführungsformen resultieren. Wie in anderen Ausführungsformen, können (M + N)-Bit-Pixeldaten für den Speicher 530 durch einen M-Bit(oder ein ganzzahliges Mehrfaches von M-Bit)-Datenbus vorgesehen werden. Als ein Beispiel können, nachdem M-Bit-Pixeldaten jedes Pixels für den Speicher 530 vorgesehen sind, M-Bit-Pixeldaten einer Mehrzahl von Pixeln identifiziert werden, und auf diese als eine Gruppe zugegriffen werden, und Pixeldaten der Gruppe können für den Speicher 530 vorgesehen werden. Ebenso können die M-Bit-Pixeldaten und die N-Bit-Pixeldaten in unterschiedlichen Bereichen des Speichers 530 gespeichert werden.
  • Der CIS 520 kann ein Bildsignal erzeugen, welches (M + N)-Bit-Pixeldaten pro Pixel hat oder ein Bildsignal, welches M-Bit-Pixeldaten pro Pixel hat. Der Anwendungsprozessor 510 kann mit einem Wert programmiert werden, um die Größe der Pixeldaten, welche durch den CIS 520 (beispielsweise mit einem Modus-Register) zu erzeugen sind, anzuzeigen. Wenn Stücke bzw. Teile von Pixeldaten von M Bit pro Pixel erzeugt werden, können die Pixeldaten in dem ersten Bereich des Speichers 530 gespeichert werden. Ebenso können, wenn Pixeldaten von (M + N) Bit pro Pixel erzeugt werden, die Pixeldaten getrennt in dem ersten Bereich und dem zweiten Bereich des Speichers 530 gespeichert werden. Ebenso kann unter der Steuerung des Anzeigesteuermoduls 512 die Anzeigevorrichtung Display_A (M + N)-Bit-Pixeldaten pro Pixel von dem Speicher 530 empfangen und eine Farbtiefe/Grauskala von (M + N) Bit implementieren.
  • 14 veranschaulicht ein Beispiel, in welchem eine Anzeigevorrichtung Display_B eine Farbtiefe/Grauskala durch ein Verwenden von M-Bit-Pixeldaten implementiert. In diesem Fall kann gemäß der obigen Ausführungsform das Codec-Modul 512 geditherte M-Pixeldaten durch ein Durchführen von Dithern wie an anderer Stelle hierin beschrieben erzeugen. Die M-Bit-Pixeldaten können in dem ersten Bereich des Speichers 530 gespeichert werden. Unter der Steuerung des Anzeigesteuermoduls 512 kann die Anzeigevorrichtung Display_B nur M-Bit-Pixeldaten (beispielsweise geditherte Pixeldaten) von dem Speicher 530 empfangen.
  • In dem Fall der Kommunikation zwischen dem Anwendungsprozessor 510 und der Anzeigevorrichtung 540 können Ausführungsformen des erfinderischen Konzepts selektiv gemäß der Konfiguration des Systems angewandt werden. Beispielsweise können, wenn die Anzeigevorrichtung Display_A, welche eine Farbtiefe/Grauskala durch (M + N)-Bit-Pixeldaten implementiert, verwendet wird, und der Anwendungsprozessor 510 und die Anzeigevorrichtung Display_A über (M + N)-Datenleitungen (oder Datenbus) kommunizieren (M + N)-Bit-Pixeldaten, welche von dem ersten Bereich und dem zweiten Bereich des Speichers 530 gelesen werden, parallel in einem ersten Betriebsmodus des Anwendungsprozessors vorgesehen bzw. bereitgestellt werden. Alternativ können, wenn der Anwendungsprozessor 510 und die Anzeigevorrichtung Display_A über M Datenleitungen kommunizieren, M-Bit-Daten des ersten Bereichs des Speichers 530 vorgesehen werden, und dann können N-Bit-Daten des zweiten Bereichs des Speichers 530 in einem zweiten Betriebsmodus des Anwendungsprozessors vorgesehen werden. Die unterschiedlichen Betriebsmodi des Anwendungsprozessors können durch ein Programmieren des Anwendungsprozessors ausgewählt werden (beispielsweise über ein Modus-Register des Anwendungsprozessors).
  • 15 ist ein Blockschaltbild eines Beispiels eines Codec-Moduls 550 als einem Bildprozessor gemäß einer Ausführungsform des erfinderischen Konzepts. In 15 sind ein Speicher, ein Anzeigesteuermodul und eine Anzeige weiter zusätzlich zu dem Codec-Modul 550 veranschaulicht. Ebenso kann der Speicher der 15 ein externer Speicher EM sein, welcher außerhalb eines SoC angeordnet ist, oder ein eingebetteter Speicher des SoC. Hierin nachstehend wird angenommen, dass der Speicher der 15 ein externer Speicher EM ist. Ebenso ist in 15 ein Beispiel von (M + N)-Bit-Pixeldaten vorgesehen, entsprechend 10 Bit, wobei M-Bit-Pixeldaten 8 Bit entsprechen und N-Bit-Pixeldaten 2 Bit entsprechen.
  • Das Codec-Modul 550 kann eine Datenbereitstellungseinheit vorsehen, welche Pixeldaten für den externen Speicher EM bereitstellt bzw. vorsieht, und eine Datenempfangseinheit, welche Pixeldaten von dem externen Speicher EM empfängt. Die Datenbereitstellungseinheit kann eine Dekodiereinheit 560 aufweisen, welche ein kodiertes Bildsignal dekodiert, und eine Dither-Einheit 570, welche ein Dithern auf einem dekodierten Bildsignal (beispielsweise Originalbildsignal) durchführt, welches durch die Dekodiereinheit 560 erzeugt wird. Ebenso kann die Datenbereitstellungseinheit weiterhin eine erste Weg- bzw. Pfadsteuereinheit 551 aufweisen, welche einen Übertragungsweg bzw. Übertragungspfad von Pixeldaten steuert.
  • Die Datenempfangseinheit kann eine Invers-Dither-Einheit 580 vorsehen, welche Pixeldaten durch ein Durchfführen eines Invers-Ditherns auf den Pixeldaten wiederherstellt, welche von dem externen Speicher EM empfangen werden, und einen Referenzbilderzeuger 590, welcher ein Referenzbild erzeugt, welches dem Originalbildsignal entspricht, durch ein Verwenden der wiederhergestellten Pixeldaten und der Pixeldaten, welche von dem externen Speicher EM empfangen werden. Ebenso kann die Datenempfangseinheit weiter eine zweite Wegsteuereinheit 552 aufweisen, welche einen Transferweg bzw. Übertragungspfad der Pixeldaten steuert welche von dem externen Speicher EM empfangen werden.
  • Wie in der Ausführungsform der 14 beschrieben ist, können verschiedene Anzeigevorrichtungen in einem System wie beispielsweise einer mobilen Vorrichtung, welche ein SoC gemäß einer Ausführungsform des erfinderischen Konzepts verwendet, vorgesehen sein. Als ein Beispiel kann das Codec-Modul 550 eine Dither-Operation gemäß dem Bildschirmanzeigemerkmal (beispielsweise der Anzahl von Bits pro Pixel für die Implementierung einer Farbtiefe/Grauskala) der Anzeigevorrichtung, welche in dem System verwendet wird, durchführen oder auslassen. Wenn die Anzeigevorrichtung, welche in dem System verwendet wird, eine Farbtiefe/Grauskala gemäß 10-Bit-Pixeldaten pro Pixel implementiert, kann die erste Wegsteuereinheit 551 Pixeldaten eines Originalbilds für den externen Speicher EM vorsehen. Beispielsweise kann die erste Wegsteuereinheit 551 eine Steuerung derart durchführen, dass die mehr signifikanten 8 Bit der 10-Bit-Pixeldaten in dem ersten Bereich des externen Speichers EM gespeichert werden, und die weniger signifikanten 2 Bit der 10-Bit-Pixeldaten in dem zweiten Bereich des externen Speichers EM gespeichert werden.
  • Der Speichercontroller oder das Codec-Modul kann die 10-Bit-Pixeldaten in 8-Bit-Segmente und Gruppen von 2-Bit-Segmenten unterteilen und jedes bei vorbestimmten Adressen in dem externen Speicher EM in dem Vorgang des Übertragens der 10-Bit-Pixel-Daten auf einem Datenbus zu dem externen Speicher EM speichern. Beispielsweise kann eine Mehrzahl von 8-Bit-Segmenten von Pixeln die gesamte Breite des Datenbusses besetzen, und Gruppierungen von 2-Bit-Segmenten von Pixeln können in gleichmäßigen Abständen in nachfolgenden Datenübertragungen folgen. In anderen beispielhaften Ausführungsformen kann der Datenbus eine Datenbreite (beispielsweise 16-Bit, 32-Bit, 64-Bit, 128-Bit etc.) haben derart, dass 8-Bit-Segmente und Gruppen von 2-Bit-Segmenten in demselben Zugriff übertragen werden. Entsprechende Spaltenadressen können verwendet werden, um Speicherorte der 8-Bit-Segmente und Gruppierungen von den 2-Bit-Segmenten zu identifizieren. Der Anzeigecontroller kann die 8-Bit- und 2-Bit-Segmente in die Original-10-Bit-Pixeldaten für Farbtiefe/Grauskalen-Implementierungen an der Anzeige neu verpacken.
  • Wenn die Anzeigevorrichtung, welche in dem System verwendet wird, eine Farbtiefe/Grauskala gemäß 8-Bit-Pixeldaten pro Pixel implementiert, kann eine Dither-Operation auf 10-Bit-Pixeldaten jedes Pixels des Originalbildes durchgeführt werden und ein Bildschirm kann mit 8-Bit-Pixeldaten als einem Ergebnis der Dither-Operation angezeigt werden. Was dies betrifft, kann die erste Wegsteuereinheit 551 Pixeldaten des Originalbildes für die Dither-Einheit 570 vorsehen. In einer Ausführungsform kann die erste Wegsteuereinheit 551 niedrigere 2-Bit-Pixeldaten von 10-Bit-Pixeldaten für den externen Speicher EM vorsehen derart, dass die niedrigeren 2-Bit-Pixeldaten in dem zweiten Bereich des externen Speichers EM gespeichert werden können. Ebenso kann die erste Wegsteuereinheit 551 10-Bit-Pixeldaten für die Dither-Einheit 570 vorsehen, und geditherte 8-Bit-Pixeldaten von der Dither-Einheit 570 können in dem ersten Bereich des externen Speichers EM gespeichert werden.
  • Die Pixeldaten, welche in dem externen Speicher EM gespeichert sind, können gelesen werden und für die zweite Wegsteuereinheit 552 vorgesehen werden. Wenn die Stücke bzw. Teile von Pixeldaten, welche in dem externen Speicher EM gespeichert sind, dem Originalbild entsprechen, welches nicht gedithert ist, kann die zweite Wegsteuereinheit 552 die 10-Bit-Pixeldaten, welche in dem externen Speicher EM gespeichert sind, für den Referenzbilderzeuger 590 vorsehen. Wenn die Teile bzw. Stücke von Pixeldaten, welche in dem externen Speicher EM gespeichert sind, geditherten Daten entsprechen, kann die zweite Wegsteuereinheit 552 die 2-Bit-Pixeldaten, welche von dem zweiten Bereich des externen Speichers EM gelesen werden, für den Referenzbilderzeuger 590 vorsehen, und die zweite Wegsteuereinheit 552 kann die 8-Bit-Pixeldaten, welche von dem ersten Bereich des externen Speichers EM gelesen werden, für die Invers-Dither-Einheit 580 vorsehen, und die 8-Bit-Pixeldaten, welche von der Inveres-Dither-Einheit 580 wiederhergestellt werden, können für den Referenzbilderzeuger 590 vorgesehen werden.
  • Ebenso kann das Anzeigesteuermodul einen Zugriff auf den ersten Bereich und den zweiten Bereich des externen Speichers EM gemäß den Charakteristiken der Anzeigevorrichtung durchführen. Abhängig von den Charakteristiken der Anzeigevorrichtung (welche in dem Codec gespeichert sein können), können 8-Bit-Pixeldaten für die Anzeigevorrichtung vorgesehen sein, oder 10-Bit-Pixeldaten können für die Anzeigevorrichtung vorgesehen sein.
  • Gemäß der Ausführungsform der 15 kann ein SoC unter Verwendung des Codec-Moduls 550 gemäß einer Ausführungsform des erfinderischen Konzepts Daten adaptiv gemäß dem Merkmal der Anzeigevorrichtung verarbeiten, welche durch das SoC getrieben bzw. betrieben sein kann. Ebenso kann, da die Teile von Pixeldaten unterteilt sind und gemäß der obigen Ausführungsform verwaltet werden, der Datenbus effizient verwendet werden. Ebenso kann, da ein Dithern selektiv gemäß der verwendeten Anzeigevorrichtung durchgeführt wird, eine Bildqualitätsverschlechterung verhindert werden.
  • Obwohl eine Datenbildverarbeitung, ein Speicher, ein Zugriff und eine Anzeige in 15 unter Verwendung von 10-Bit-Pixeln veranschaulicht sind, welche in 8-Bit mehr signifikante Bits und 2-Bit weniger signifikante Bits unterteilt sind, ist eine Ausführungsform des erfinderischen Konzepts, welche darin veranschaulicht ist, nicht so beschränkt. Die Pixeltiefe ist konfigurierbar abhängig von der Anzeigevorrichtung oder einem anderen funktionalen Block innerhalb des Bildverarbeitungssystems. Beispielsweise können die 10-Bit-Pixel tatsächlich ein beliebiger positiver ganzzahliger Wert größer als 1 sein und demnach aus zwei positiven, ganzzahligen Variablen M und N bestehen, wobei M + N die Pixeltiefe in Bit ist. Die Addition von M und N (d. h. M + N) kann beispielsweise 10, 12 etc. sein und in solchen Beispielen kann M 8 und N kann 2, 4 etc. sein. In 15 können die veranschaulichten 8-Bit-Werte demnach durch die Variable M ersetzt werden, die 2-Bit-Werte können durch N ersetzt werden und die 10-Bit-Werte können durch M + N ersetzt werden. Diese Variablenersetzung kann ähnlich durch Ausführungsformen, welche durch 6 veranschaulicht sind, durchgeführt werden.
  • 16 ist ein Blockschaltbild eines Bildverarbeitungssystems 600 gemäß einer anderen Ausführungsform des erfinderischen Konzepts. Das Bildverarbeitungssystem 600, welches in 16 veranschaulicht ist, kann in einem SoC implementiert sein, und ein Beispiel eines Codec-Moduls unter IP-Kernen, welche in dem SoC vorgesehen sind, ist veranschaulicht. Obwohl in 16 nicht veranschaulicht, kann eine Ausführungsform des erfinderischen Konzepts ebenso auf andere funktionale Blöcke angewandt werden, welche in dem SoC vorgesehen sind, um Pixeldaten zu übertragen/zu empfangen.
  • Wie in 16 veranschaulicht ist, kann das Bildverarbeitungssystem 600 eine Mehrzahl von IP-Kernen aufweisen, welche miteinander über einen Systembus kommunizieren. Beispielsweise kann das Bildverarbeitungssystem 600 ein Codec-Modul 610, eine CPU 620, ein Leistungssteuermodul 630 und ein Takterzeugungsmodul 640 aufweisen. Ebenso kann das Codec-Modul 610 eine oder mehrere Logikeinheiten 611 zum Verarbeiten von Pixeldaten aufweisen. Beispielsweise kann jede der Logikeinheiten 611 eine (M + N)-Bit-Logikeinheit sein, welche (M + N)-Bit-Pixeldaten verarbeitet. Ebenso kann die Logikeinheit 611 eine M-Bit-Logik aufweisen, welche M-Bit-Pixeldaten verarbeitet, und eine N-Bit-Logik, welche N-Bit-Pixeldaten verarbeitet. Ebenso kann das Codec-Modul 610 weiterhin eine Leistungs-Ausblend-Einheit bzw. Leistungs-Gating-Einheit 612 für ein Ausblenden von Leistung, welche einer oder mehreren Logikeinheiten 611 zur Verfügung gestellt wird, und eine Takt-Ausblend-Einheit bzw. Takt-Gating-Einheit 613 zum Ausblenden eines Taktsignals aufweisen.
  • Die M-Bit-Logik und die N-Bit-Logik, welche in der Logikeinheit 611 des Codec-Moduls 610 enthalten sind, können getrennt arbeiten. Beispielsweise muss, wenn ein Bildsignal, welches für das Codec-Modul 610 vorgesehen ist, oder ein Bildsignal, welches von dem Codec-Modul 610 ausgegeben wird, M-Bit-Pixeldaten pro Pixel aufweist, die N-Bit-Logik des CODE-Moduls 610 nicht verwendet werden. In diesem Fall kann die Leistungs-Ausblend-Einheit 612 eine Steuerung durchführen derart, dass Leistung der M-Bit-Logik jeder Logikeinheit 611 zugeführt wird, und Leistung der N-Bit-Logik davon nicht zugeführt wird. Ebenso kann die Takt-Ausblend-Einheit 613 eine Steuerung derart durchführen, dass ein Taktsignal für die M-Bit-Logik jeder Logikeinheit 611 vorgesehen wird, und ein Taktsignal für die N-Bit-Logik davon nicht vorgesehen ist.
  • Wenn ein Bildsignal, welches für das Codec-Modul 610 vorgesehen ist, oder ein Bildsignal, welches von dem Codec-Modul 610 ausgegeben wird, (M + N)-Bit-Pixeldaten pro Pixel aufweist, können eine Leistung und ein Taktsignal sowohl für die M-Bit- als auch die N-Bit-Logik gemäß dem Betrieb der Leistungs-Ausblend-Einheit 612 und der Takt-Ausblend-Einheit 613 vorgesehen werden.
  • 17 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts. 17 veranschaulicht ein Beispiel einer Bildsignalverarbeitung, welches für eine Anzeigevorrichtung adaptiv bzw. anpassungsfähig bzw. anwendbar ist.
  • Wie in 17 veranschaulicht ist, kann ein Anzeigemodus gemäß dem Merkmal einer Anzeigevorrichtung eingestellt werden, welche einen Bildschirm gemäß Pixeldaten, welche durch das Bildverarbeitungssystem vorgesehen sind, anzeigt (S31). Beispielsweise kann die Anzeigevorrichtung eine Farbtiefe/Grauskala, welche gemäß Daten einer vorbestimmten und fixierten Anzahl von Bits implementiert wird, unterstützen. Die Anzahl von Bits pro Pixeldaten zum Implementieren einer Farbtiefe/Grauskala eines Pixels kann von einer Anzeigevorrichtung zu einer anderen variieren.
  • Wenn das Bildverarbeitungssystem auf den Speicher mit (M + N)-Bit Pixeldaten pro Pixel zugreift, empfangt das Bildverarbeitungssystem Pixeldaten eines kodierten Bildsignals (S32) und führt eine Signalverarbeitung auf den Pixeldaten des kodierten Bildsignals gemäß einem vorbestimmten Modus durch. Beispielsweise kann, wenn eine Anzeigevorrichtung, welche eine Farbtiefe/Grauskala von (M + N)-Bits implementiert, verwendet wird, der Betriebsmodus des Bildverarbeitungssystems auf einen ersten Modus eingestellt sein. Wenn eine Anzeigevorrichtung, welche eine Farbtiefe/Grauskala durch ein Verwenden von M-Bit-Pixeldaten implementiert, verwendet wird, kann der Betriebsmodus des Bildverarbeitungssystems auf einen zweiten Modus eingestellt sein. Ob der Betriebsmodus des Bildverarbeitungssystems auf den ersten Modus eingestellt ist, wird bestimmt (S33) (beispielsweise in Antwort auf Informationen, welche von der Anzeigevorrichtung empfangen werden, oder in Antwort auf eine Programmieroperation). Wenn der Betriebsmodus des Bildverarbeitungssystems auf den ersten Modus eingestellt ist, werden die empfangenen Teile bzw. Stücke von kodierten Pixeldaten dekodiert und die dekodierten Teile von (M + N)-Bit-Pixeldaten werden in dem Speicher gespeichert (S34). Die (M + N)-Bit-Pixeldaten können in dem Speicher ohne einen separaten Vorgang zum Umwandeln der Bits der dekodierten (M + N)-Bit-Pixeldaten gespeichert werden (beispielsweise ohne einen separaten Dither-Vorgang), und in wie in der obigen Ausführungsform können die (M + N)-Bit-Pixeldaten in M-Bit-Pixeldaten und N-Bit-Pixeldaten unterteilt werden, und die M-Bit-Pixeldaten und die N-Bit-Pixeldaten können in unterschiedlichen Bereichen des Speichers gespeichert werden. Danach werden die (M + N)-Bit-Pixeldaten, welche in dem Speicher gespeichert sind, für die Anzeigevorrichtung vorgesehen, und die Anzeigevorrichtung führt eine Anzeigeoperation durch ein Implementieren einer Farbtiefe/Grauskala von (M + N)-Bit für jeden Pixel durch (S35).
  • Wenn der Betriebsmodus des Bildverarbeitungssystems auf den zweiten Modus eingestellt ist, werden die kodierten Stücke von Pixeldaten dekodiert (S36) und die dekodierten Stücke von (M + N)-Bit-Pixeldaten werden umgewandelt (S37). Als ein Beispiel werden umgewandelte Stücke bzw. Teile von M-Pixeldaten durch ein Dithern der (M + N)-Bit-Pixeldaten erzeugt. Die umgewandelten M-Bit-Pixeldaten und die N-Bit-Pixeldaten (beispielsweise Pixeldaten eines Originalbildsignals) können in unterschiedlichen Bereichen des Speichers gespeichert werden (S38). Danach werden die Stücke bzw. Teile von M-Bit-Pixeldaten, welche in dem ersten Bereich des Speichers gespeichert sind, selektiv gelesen und für die Anzeigevorrichtung vorgesehen, und die Anzeigevorrichtung führt eine Anzeigeoperation durch ein Implementieren einer Farbtiefe/Grauskala durch ein Verwenden von M-Bit-Pixeldaten jedes Pixels durch (S39).
  • 18 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines Bildverarbeitungssystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts. 18 veranschaulicht ein Beispiel eines Ausblenden (Gating) von Leistung und wenigstens einem Taktsignal gemäß einer Prozesseinheit eines Bildsignals.
  • Das Bildverarbeitungssystem empfängt eine Datenverarbeitungsanfrage bzw. Datenverarbeitungsanforderung (S41). In Antwort auf die Datenverarbeitungsanforderung können Daten durch einen Bildprozessor, welcher in dem Bildverarbeitungssystem vorgesehen ist, verarbeitet werden. Beispielsweise kann, wenn der Bildprozessor eine Verarbeitungsoperation in Einheiten von (M + N)-Bit-Daten durchführt, der Bildprozessor ein oder mehrere Logikeinheiten zum Verarbeiten von (M + N)-Bit-Pixeldaten aufweisen, und jede Logikeinheit kann eine M-Bit-Logik und eine N-Bit-Logik aufweisen.
  • Die Logikeinheit kann (M + N)-Bit-Pixeldaten oder M-Bit-Pixeldaten gemäß einer Datenverarbeitungsoperation verarbeiten. Das Bildverarbeitungssystem bestimmt, ob die Datenverarbeitungsanforderung eine (M + N)-Bit-Datenverarbeitungsanforderung ist (S42). Wenn die Datenverarbeitungsanforderung eine (M + N)-Bit-Datenverarbeitungsanforderung ist, führt das Bildverarbeitungssystem eine Steuerung durch, um sowohl die M-Bit-Logik als auch die N-Bit-Logik zu betreiben bzw. zu treiben. Demzufolge führt die (M + N)-Bit-Logikeinheit eine Verarbeitungsoperation auf den (M + N)-Bit-Pixeldaten durch (S43). Die verarbeiteten (M + N)-Bit-Pixeldaten können in dem Speicher gespeichert werden. Beispielsweise können die M-Bit-Pixeldaten in dem ersten Bereich des Speichers gespeichert werden, und die N-Bit-Pixeldaten können in dem zweiten Bereich des Speichers gespeichert werden (S44).
  • Wenn die Datenverarbeitungsanforderung eine M-Bit-Datenverarbeitungsanforderung ist, kann das Bildverarbeitungssystem die Zufuhr von Leistung und/oder das Vorsehen wenigstens eines Taktsignals für die N-Bit-Logik basierend auf Leistungs-Ausblendung und/oder Takt-Ausblendung blockieren (S45). Demzufolge kann die M-Bit-Logik ausgewählt werden, um M-Bit-Pixeldaten zu verarbeiten (S46). Die verarbeiteten M-Bit-Pixeldaten können in dem ersten Bereich des Speichers gespeichert werden (S47).
  • 19 ist ein Blockschaltbild einer Anzeigetreiberschaltung 700, welche ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts einsetzt. Als ein Beispiel kann die Anzeigetreiberschaltung eine mobile Anzeigetreiberschaltung (DDI) sein, welche in einer mobilen Vorrichtung installiert ist.
  • Das Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts kann verschiedentlich implementiert sein. Beispielsweise kann das Bildverarbeitungssystem als ein SoC wie obenstehend beschrieben implementiert sein. Die Anzeigetreiberschaltung 700 der 19 kann einen Einstellungscontroller bzw. Timingcontroller 710, einen Gatetreiber 720, einen Sourcetreiber 730, ein Codec-Modul 740 und einen Speicher 750 als verschiedene funktionale Blöcke haben. Verschiedene funktionale Blöcke in der Anzeigetreiberschaltung 700, welche das Codec-Modul 740 aufweist, können als ein SoC definiert sein, welches auf einem Halbleiterchip integriert ist. Ebenso kann der Speicher 750 in dem SoC enthalten sein. In diesem Fall kann auf den Speicher 750 Bezug genommen werden als ein eingebetteter Speicher. Ebenso kann der Speicher 750 außerhalb des SoC angeordnet sein. In diesem Fall kann auf den Speicher Bezug genommen werden als ein externer Speicher.
  • Der Timingcontroller 710 kann das Timing von verschiedenen Signalen bezogen auf eine Anzeigeoperation steuern. Der Timingcontroller 710 kann verschiedene Steuersignale für eine Timingsteuerung erzeugen und die verschiedenen Steuersignale für andere funktionale Blöcke vorsehen. Der Gatetreiber 720 kann eine Gateleitung eines Anzeigepanels unter der Steuerung des Timingcontrollers 710 treiben, und der Sourcetreiber 730 kann eine Datenleitung des Anzeigepanels unter der Steuerung des Timingcontrollers 710 treiben. Ebenso kann das Codec-Modul 740 auf den Speicher 750 wie in der obigen Ausführungsform zugreifen. In einer Ausführungsform kann das Codec-Modul 740 ein Bildsignal, welches (M + N)-Bit-Pixeldaten pro Pixel aufweist, empfangen, M-Bit-Pixeldaten in dem ersten Bereich des Speichers 750 speichern und N-Bit-Pixeldaten in dem zweiten Bereich des Speichers 750 speichern. Wenn das Anzeigepanel eine Farbtiefe/Grauskala von M-Bit für jeden Pixel implementiert, kann auf die Pixeldaten, welche in dem ersten Bereich des Speichers 750 gespeichert sind, zugegriffen werden, und diese für das Anzeigepanel vorgesehen werden. Wenn das Anzeigepanel eine Farbtiefe/Grauskala von (M + N)-Bit für jeden Pixel implementiert, kann auf die Pixeldaten, welche in dem ersten und zweiten Bereich des Speichers 750 gespeichert sind, zugegriffen werden und diese können für das Anzeigepanel vorgesehen werden.
  • 20 veranschaulicht eine Gesamtstruktur eines Inhaltsbereitstellungssystems 800, welches eine mobile Vorrichtung aufweist, welche ein Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts einsetzt. Der Inhalt können verschiedene Bildsignale, welche zu verarbeiten sind, sein. Ein Servicebereich bzw. ein Servicegebiet eines Kommunikationssystems, welches eine Inhaltsübertragung durchführt, kann in Zellen einer vorbestimmten Größe unterteilt sein, und Funkbasisstationen 851 bis 854 können jeweils in den Zellen installiert sein.
  • Das Inhaltsbereitstellungssystem 800 kann eine Mehrzahl von unabhängigen Vorrichtungen aufweisen. Beispielsweise können unabhängige Vorrichtungen wie beispielsweise ein Computer 861, ein persönlicher digitaler Assistent (PDA = Personal Digital Assistant = persönlicher digitaler Assistent) 862, eine Videokamera 863 und ein mobiles Telefon 864 mit dem Internet 810 über einen Internetserviceprovider 820, ein Kommunikationsnetzwerk 840 und die Funkbasisstationen 851 bis 854 verbunden sein. Das Inhaltsbereitstellungssystem 800 ist nicht auf die Struktur, welche in 20 veranschaulicht ist beschränkt, und Vorrichtungen können selektiv dazu verbunden werden. Die unabhängigen Vorrichtungen können direkt mit dem Kommunikationsnetzwerk 840 verbunden sein, ohne durch die Funkbasisstationen 851 bis 854 verbunden zu sein.
  • Die Videokamera 863 ist eine Bildaufnahmevorrichtung wie beispielsweise eine digitale Videokamera, welche ein Videobild aufnehmen kann. Das mobile Telefon 864 kann wenigstens ein Kommunikationsschema unter verschiedenen Protokollen wie beispielsweise ein Personal Digital Communications PDC(PDC)-Schema, ein Code Division Multiple Access(CDMA)-Schema, ein Wideband Code Division Multiple Access(W-CDMA)-Schema, ein Global System for Mobile Communications(GSM)-Schema und ein Personal Handyphone System(PHS)-Schema verwenden.
  • Inhalt, welcher von den Vorrichtungen wie beispielsweise dem PDA 862, der Videokamera 863 und dem mobilen Telefon 864 erzeugt wird, kann zu einem Streaming-Server 830 über die Funkbasisstationen 852, 853 und 854 und das Kommunikationsnetzwerk 840 übertragen werden. Ebenso kann Inhalt, welcher in dem Computer 861 gespeichert ist, zu dem Streaming-Server 830 über die Funkbasisstation 851 und das Kommunikationsnetzwerk 840 übertragen werden. Der Streaming-Server 830 kann Inhalt, welcher durch einen Verwender durch Echtzeit-Übertragung übertragen wird, streamen/übertragen.
  • In dem Inhaltsbereitstellungssystem 800 gemäß einer Ausführungsform kann Inhalt, welcher durch das PDA 862, die Videokamera 863, das mobile Telefon 864 oder andere Vorrichtungen aufgezeichnet wird, in einer relevanten Vorrichtung kodiert werden, und der kodierte Inhalt kann zu dem Streaming-Server 830 übertragen werden. Der Streaming-Server 830 kann Inhalt zu anderen Vorrichtungen, welche den Inhalt anfordern, streamen/übertragen. Die Vorrichtungen, welche kodierten Inhalt empfangen, können den empfangenen Inhalt dekodieren und den dekodierten Inhalt abspielen oder den dekodierten Inhalt für außerhalb vorsehen.
  • Das Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts (beispielsweise SoCs, Anwendungsprozessoren, Codecs oder die Bildverarbeitungssysteme, welche hierin offenbart sind) können in dem Computer 861, dem PDA 862, der Videokamera 863, dem Mobiltelefon 864 und dergleichen vorgesehen sein. Als ein Beispiel kann das Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts in der Form eines SoC implementiert sein, und das SoC kann in dem Computer 861, dem PDA 862, der Videokamera 863, dem mobilen Telefon 864 und dergleichen installiert sein. Ebenso kann die Funktion des Bildverarbeitungssystems gemäß einer Ausführungsform des erfinderischen Konzepts in einem Anwendungsprozessor enthalten sein, und der Anwendungsprozessor kann als ein Hauptprozessor in dem Computer 861, dem PDA 862, der Videokamera 863, dem Mobiltelefon 864 und dergleichen installiert sein.
  • 21 veranschaulicht ein Beispiel eines mobilen Datenendgeräts 900, welches mit einem Bildverarbeitungssystem gemäß einer Ausführungsform des erfinderischen Konzepts ausgestattet ist (beispielsweise SoCs, Anwendungsprozessoren, Codecs oder dem Bildverarbeitungssystem, welches hierin anderswo offenbart ist). Das mobile Datenendgerät 900 der 21 kann dem Mobiltelefon 864 entsprechen, welches in 20 veranschaulicht ist. Das mobile Datenendgerät 900 kann mit dem Bildverarbeitungssystem als einem SoC oder einem Anwendungsprozessor (beispielsweise SoC 100) ausgestattet sein. Die Funktionen des mobilen Datenendgeräts 900 sind nicht beschränkt und das mobile Datenendgerät 900 kann ein Tablet oder ein Smartphone sein, welches die Funktionen durch ein Anwendungsprogramm signifikant ändern oder erweitern kann. Das mobile Datenendgerät 900 weist eine Antenne 910 und eine Anzeigevorrichtung 920, wie beispielsweise eine Flüssigkristallanzeige (LCD = Liquid Crystal Display = Flüssigkristallanzeige) oder eine organische Leuchtdioden(OLED = Organic Light-Emitting Diode = Organische Leuchtdiode)-Anzeige zum Anzeigen von Bildern auf, welche durch eine Kamera 930 aufgenommen werden oder Bilder, welche über die Antenne 910 empfangen werden. Das mobile Datenendgerät 900 kann ein Bedien-Panel 940, welches ein Touchpanel und einen Steuerknopf aufweist, aufweisen. Ebenso kann, wenn die Anzeigevorrichtung 920 einen Touchscreen aufweist, das Bedien-Panel 940 weiterhin ein berührungsempfindliches Panel der Anzeigevorrichtung 920 aufweisen. Das mobile Datenendgerät 900 weist einen Lautsprecher 980 oder andere Typen von Geräuschausgabeeinheiten zum Ausgeben einer Stimme und eines Geräusches auf, und ein Mikrofon 950 oder andere Typen von Geräuscheingabeeinheiten zum Zuführen bzw. Eingeben von Stimme und Geräusch. Das mobile Datenendgerät 900 weist weiterhin die Kamera 930, wie beispielsweise eine CCD oder ein CIS zum Aufnehmen eines Videobilds und eines stehenden Bildes auf. Ebenso kann das mobile Datenendgerät 900 ein Speichermedium 970 zum Speichern von kodierten oder dekodierten Daten wie beispielsweise Videobildern oder stehenden Bildern aufweisen, welche durch die Kamera 130 aufgenommen werden oder durch eine E-Mail empfangen werden, und einen Schlitz 960 zum Anbringen des Speichermediums 970 an dem mobilen Datenendgerät 900. Das Speichermedium 970 kann eine SD-Karte oder andere Typen von Flashspeichern wie beispielsweise elektrisch löschbare und programmierbare Lesespeicher (EEPROM = Electrically Erasable Programmable Read Only Memory = Elektrisch löschbarer und programmierbarer Lesespeicher), sein, welcher in einem Plastikgehäuse eingebettet ist.
  • Während das erfinderische Konzept insbesondere unter Bezugnahme auf beispielhafte Ausführungsformen davon gezeigt und beschrieben wurde, wird es verstanden werden, dass verschiedene Änderungen in Form und den Details darin getätigt werden können, ohne von dem Gedanken und Umfang der folgenden Ansprüche abzuweichen. Der Wortlaut der Ansprüche sollte beim Bestimmen der Notwendigkeiten der Erfindung referenziert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2014-0109_39 [0001]

Claims (20)

  1. Ein-Chip-Bildverarbeitungssystem, das Folgendes aufweist: einen Anwendungsprozessor (100, 410, 510), aufweisend ein Codec-Modul (13, 120, 200, 411, 550, 610, 740) und einen Speichercontroller (130), wobei das Codec-Modul (13, 120, 200, 411, 550, 610, 740) konfiguriert ist, um ein kodiertes Bild zu empfangen und zu dekodieren, wobei das dekodierte Bild als eine Mehrzahl von Pixeln repräsentiert wird, wobei jeder Pixel einen Pixelwert hat, welcher aus einer Mehrzahl von Bits, aufweisend erste Bits und zweite Bits, besteht, wobei der Speichercontroller (130) konfiguriert ist, um aus einem Speicher (14, 150, 200, 440, 530, 750, EM) nur auf die ersten Bits von Pixeldaten der Mehrzahl von Pixeln in einer ersten Operation zuzugreifen und konfiguriert ist, um aus dem Speicher (14, 150, 200, 440, 530, 750, EM) auf die ersten Bits und die zweiten Bits der Mehrzahl von Pixeln in einer zweiten Operation zuzugreifen.
  2. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, wobei der Speichercontroller (130) konfiguriert ist, um die ersten Bits in dem Speicher (14, 150, 200, 440, 530, 750, EM) an Orten zu speichern, welche durch erste Adressen identifiziert werden, und um die zweiten Bits in dem Speicher (14, 150, 200, 440, 530, 750, EM) an Orten zu speichern, welche durch zweite Adressen identifiziert werden.
  3. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, wobei die ersten Bits die mehr signifikanten Bits des entsprechenden Pixelwerts sind, und die zweiten Bits die weniger signifikanten Bits des entsprechenden Pixelwerts sind.
  4. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, weiterhin aufweisend eine Schnittstelle, welche konfiguriert ist, um mit einer Anzeige (450, 540, 920) zu kommunizieren, und wobei die erste Operation eine Anzeigeoperation ist.
  5. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, wobei das Codec-Modul (13, 120, 200, 411, 550, 610, 740) weiterhin konfiguriert ist, um eine Dither-Operation auf dem dekodierten Bild unter Verwendung der ersten und zweiten Bits jedes Pixelwerts des dekodierten Bildes durchzuführen.
  6. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, weiterhin aufweisend eine Schnittstelle, welche konfiguriert ist, um ein abgetastetes Bild von einem Bildsensor (12) zu empfangen, wobei das abgetastete Bild als eine Mehrzahl von Pixeln repräsentiert wird, welche Pixelwerte haben, welche durch den Bildsensor (12) vorgesehen sind.
  7. Ein-Chip-Bildverarbeitungssystem nach Anspruch 1, weiterhin aufweisend: einen ersten Bus, welcher konfiguriert ist, um die ersten Bits zu empfangen, wobei die Anzahl von ersten Bits M ist, und die erste Busbreite K×M ist, wobei M eine positive ganze Zahl ist und K eine positive ganze Zahl ist.
  8. Ein-Chip-Bildverarbeitungssystem, das Folgendes aufweist: einen Anwendungsprozessor (100, 410, 510), aufweisend ein Codec-Modul (13, 120, 200, 411, 550, 610, 740), welches konfiguriert ist, um ein kodiertes Bild zu empfangen und zu dekodieren, wobei das dekodierte Bild als eine Mehrzahl von Pixeln repräsentiert wird, wobei jeder Pixel einen Pixelwert hat, welcher aus einer Mehrzahl von Bits, aufweisend erste Bits und zweite Bits, besteht, wobei das Codec-Modul (13, 120, 200, 411, 550, 610, 740) eine Dither-Einheit aufweist, welche konfiguriert ist, um eine Dither-Operation auf dem dekodierten Bild durchzuführen; einen Speichercontroller (130), welcher konfiguriert ist, um aus einem Speicher (14, 150, 200, 440, 530, 750, EM) nur auf die ersten Bits des Pixelwerts der Mehrzahl von Pixeln in einer ersten Operation zuzugreifen und konfiguriert ist, um aus dem Speicher (14, 150, 200, 440, 530, 750, EM) auf die ersten Bits und die zweiten Bits des Pixelwerts der Mehrzahl von Pixeln in einer zweiten Operation zuzugreifen; eine Anzeigeschnittstelle, welche konfiguriert ist, um mit einer Anzeige (450, 540, 920) zu kommunizieren; und einen Anzeigecontroller (140, 300), welcher konfiguriert ist, um mit der Anzeige (450, 540, 920) über die Anzeigeschnittstelle zu kommunizieren, wobei der Anzeigecontroller (140, 300) konfiguriert ist, um zu der Anzeigeschnittstelle in einem ersten Modus die ersten Bits des Pixelwerts jeder der Mehrzahl von Pixeln zu übertragen, und um zu der Anzeigeschnittstelle in einem zweiten Modus die ersten Bits und die zweiten Bits des Pixelwerts jedes der Mehrzahl von Pixeln zu übertragen.
  9. Verfahren zum Verarbeiten von Bilddaten, das Folgendes aufweist: ein Empfangen eines Rahmens von ersten Bilddaten, welche eine Mehrzahl von Pixeln aufweisen, wovon jeder einen ersten Pixelwert hat, welcher M erste Bits und N zweite Bits aufweist, wobei die M ersten Bits die mehr signifikanten Bits des ersten Pixelwerts sind und die N zweiten Bits die weniger signifikanten Bits des ersten Pixelwerts sind, verglichen mit den M ersten Bits; ein Durchführen eines Ditherns auf dem Rahmen der ersten Bilddaten unter Verwendung der M ersten Bits und der N zweiten Bits jedes der Pixelwerte, um einen Rahmen von geditherten Bilddaten zu erhalten, wobei der Rahmen von geditherten Bilddaten eine Mehrzahl von Pixeln aufweist, von welchen jeder einen zweiten Pixelwert hat, welcher wenigstens M erste Bits aufweist; und ein Vorsehen nur der M ersten Bits der Pixel der geditherten Bilddaten für eine Anzeige.
  10. Verfahren nach Anspruch 9, wobei die Pixelwerte der Mehrzahl von Pixeln des Rahmens von geditherten Bilddaten jeweils M erste Bits und N zweite Bits aufweist.
  11. Verfahren nach Anspruch 10, weiterhin aufweisend ein Übertragen der M ersten Bits und der N zweiten Bits der Pixelwerte der Pixel des Rahmens von geditherten Bilddaten zu einem Prozessor.
  12. Verfahren nach Anspruch 11, wobei der Prozessor ein Codec (13, 120, 200, 411, 550, 610, 740) ist.
  13. Verfahren nach Anspruch 12, wobei der Codec (13, 120, 200, 411, 550, 610, 740) ein Invers-Dithern auf den geditherten Bilddaten durchführt.
  14. Verfahren nach Anspruch 10, weiterhin aufweisend: ein Speichern der M ersten Bits der Pixelwerte des Rahmens von geditherten Bilddaten in ersten Orten eines Speichers; ein Speichern der N zweiten Bits der Pixelwerte des Rahmens von geditherten Bilddaten in zweiten Orten eines Speichers, wobei die ersten Orte des Speichers durch erste Adressen identifiziert werden und die zweiten Orte des Speichers durch zweite Adressen identifiziert werden.
  15. Verfahren nach Anspruch 14, wobei jeder der ersten Orte nur M erste Bits von nur einem Pixelwert des Rahmens von geditherten Bilddaten speichert.
  16. Verfahren nach Anspruch 15, wobei jeder der zweiten Orte mehrere Sätze von N Bits von entsprechenden N Pixelwerten des Rahmens von geditherten Bilddaten speichert.
  17. Verfahren nach Anspruch 16, wobei jede der ersten Adressen und zweiten Adressen eine minimal zugängliche Speichereinheit des Speichers identifiziert.
  18. Verfahren nach Anspruch 14, weiterhin aufweisend ein Zugreifen auf den Speicher (14, 150, 200, 440, 530, 750, EM) über einen K×M Bit Bus, wobei K eine positive ganze Zahl ist.
  19. Verfahren nach Anspruch 18, wobei K eine ganze Zahl gleich oder größer als 2 ist und das Verfahren weiterhin ein Übertragen parallel von K Sätzen von M Bits von entsprechenden M Pixelwerten des Rahmens der ersten Bilddaten aufweist.
  20. Verfahren nach Anspruch 9, wobei wenigstens einige der Pixelwerte des Rahmens von erste Bilddaten und entsprechende eine der Pixelwerte des Rahmens von geditherten Bilddaten dieselben sind.
DE102015113704.6A 2014-08-21 2015-08-19 Bildprozessor, Bildverarbeitungssystem mit Bildprozessor, Ein-Chip-System mit Bildverarbeitungssystem und Verfahren zum Betreiben des Bildverarbeitungssystems Pending DE102015113704A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020140109039A KR102264161B1 (ko) 2014-08-21 2014-08-21 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩
KR10-2014-0109039 2014-08-21
US14/820,566 2015-08-07
US14/820,566 US10015502B2 (en) 2014-08-21 2015-08-07 Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system

Publications (1)

Publication Number Publication Date
DE102015113704A1 true DE102015113704A1 (de) 2016-02-25

Family

ID=54258845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015113704.6A Pending DE102015113704A1 (de) 2014-08-21 2015-08-19 Bildprozessor, Bildverarbeitungssystem mit Bildprozessor, Ein-Chip-System mit Bildverarbeitungssystem und Verfahren zum Betreiben des Bildverarbeitungssystems

Country Status (3)

Country Link
US (1) US20220417542A1 (de)
DE (1) DE102015113704A1 (de)
GB (1) GB2530898A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024037251A1 (zh) * 2022-08-15 2024-02-22 万有引力(宁波)电子科技有限公司 数据传输方法、装置、系统、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8212828B2 (en) * 2006-01-04 2012-07-03 Lsi Corporation Hybrid multiple bit-depth video processing architecture
US7471218B2 (en) * 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024037251A1 (zh) * 2022-08-15 2024-02-22 万有引力(宁波)电子科技有限公司 数据传输方法、装置、系统、设备及存储介质

Also Published As

Publication number Publication date
US20220417542A1 (en) 2022-12-29
GB2530898A (en) 2016-04-06
GB201514742D0 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
US11470337B2 (en) Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system
DE102004063847B4 (de) Schaltungsanordnung zur DMA-Bilddatenverarbeitung und Kameraschnittstelle
DE102016201686A1 (de) Bildsignalprozessor und vorrichtungen, die diesen umfassen
DE112014000938B4 (de) Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten
CN106056530B (zh) 应用中图片内容的显示方法及装置
DE112016006734T5 (de) Integriertes Android- und Windows-Gerät
CN104704810A (zh) 图像捕获加速器
DE112009004344T5 (de) Parallele Implementierung einer Rechenmaschine nach dem Pipelineverfahren auf einerintegrierten Schaltung
DE102018118362A1 (de) Systeme und verfahren zur effizienten und verlustfreien komprimierung von erfassten rohbilddaten
DE112014004432T5 (de) Parallele Hardware- und Software-Blockverarbeitungspipelines
CN113709489B (zh) 一种视频压缩方法、装置、设备及可读存储介质
WO2021249290A1 (zh) 环路滤波方法和装置
US20220417542A1 (en) Image processing device, image processing system including image processing device, system-on-chip including image processing system, and method of operating image processing system
DE112016006046T5 (de) SoC-Fabric-Erweiterungen für konfigurierbare Speicherabblider durch Speicherbereichs-Screens und auswählbare Adressenabflachung
DE112011102167T5 (de) Stereobilderfassung mit einer Pipeline
CN111052742A (zh) 图像处理
US20080240593A1 (en) Method for accessing image data and method for accessing yuv420 image data
CN101459839A (zh) 去块效应滤波方法及实现该方法的装置
US7496235B2 (en) Scan line to block re-ordering buffer for image compression
CN114554171A (zh) 图像格式转换方法、装置、显示屏控制设备和存储介质
CN108124195B (zh) 一种多层图像复合处理方法、装置及显示系统
JP2005055825A (ja) 画像表示装置、画像表示方法及び画像表示プログラム
DE102015113930A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungssystem und Verfahren zur Bildverarbeitung
CN113256763B (zh) 电子设备及其图像处理方法、片上系统和介质
CN112185312B (zh) 图像数据的处理方法及装置

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication