This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UH948-Q1: White Balance - LUT

Part Number: DS90UH948-Q1

I will use this LUT to calibration the display white point value to (0.318,0.318) for every panel.

for example  Panel # 1 white point  (0.320,0.319)  , Panel # 2 white point ( 0.321,0.321)  Panel # 3 .... , we need to find the LUT value and fill into 948 LUT then  all panel white point shift to (0.318,0.318)

but I don't know how to get the R G B LUT value, would you please suggest me tools or API for me to calculate the LUT value ? 

Thank you very much !

  • Hi Alex,
    UH948 is one de-serializer, NOT processor, which converts the serial data into OpenLDI I/F. So for the LUT, UH948 can't manage it.

    regards,
    Steven
  • Hi Steven,
    thank you very much for your reply and I'm Sorry I don't understand what means UH948 can't manage it due to 948 SPEC showed white balance function in chapter 8.5.1 , i attached as below.
    ************************************************************************************************************************
    8.5 Image Enhancement Features
    Several image enhancement features are provided. The White Balance LUTs allow the user to define and map the color profile of the display. Adaptive Hi-FRC Dithering enables the presentation of 'true color' images on an 18-bit display.
    8.5.1 White Balance
    The White Balance feature enables similar display appearance when using LCD’s from different vendors. It compensates for native color temperature of the display, and adjusts relative intensities of R, G, and B to maintain specified color temperature. Programmable control registers are used to define the contents of three LUTs (8-bit color value for Red, Green and Blue) for the White Balance Feature. The LUTs map input RGB values to new output RGB values. There are three LUTs, one LUT for each color. Each LUT contains 256 entries, 8-bits per entry with a total size of 6144 bits (3 x 256 x 8). All entries are readable and writable. Calibrated values are loaded into registers through the I2C interface (deserializer is a slave device). This feature may also be applied to lower color depth applications such as 18–bit (666) and 16–bit (565). White balance is enabled and configured via serial control bus register.
    ************************************************************************************************************************
    Base on above, that's why I want to use 948 white balance function to do the white point calculation for every panel. Would you please suggest solution if we need white point calibration and also use 948 ?
  • Alex,
    UB948 can't define the white point and the LUT value automatically. You should must define and load the contents of the LUT for each color (R,G,B), and provide contents for 3 complete LUTs - 256 colors x 8 bits x 3 tables, which is mentioned in table.

    The sequence for initial loading of LUTs is as described below:
    Power-on (reload = disable by default)
    Enable WB (0x2A)
    Set page Register RED (0x2A = 0x70) // please see reg. 0x2A description.
    Initial RED LUT load (all 256 bytes) (write RED LUT values into 256 registers)
    Set page Register GREEN (0x2A = 0xB0)
    Initial GREEN LUT load (all 256 bytes)
    Set page Register BLUE (0x2A = 0xF0)
    Initial BLUE LUT load (all 256 bytes)
    Once all LUTs are loaded, ‘948 will enable the WB output


    best regards,
    Steven
  • # Example 948 White Balance RGB LUT loading
    board.devAddr = 0x58

    board.WriteReg(0x2A, 0x70) # Red LUT
    # time.sleep(0.01) ;

    board.WriteReg(0x00, 0x00)
    # time.sleep(0.01) ;
    board.WriteReg(0x01, 0x01)
    # time.sleep(0.01) ;
    board.WriteReg(0x02, 0x02)
    # time.sleep(0.01) ;
    board.WriteReg(0x03, 0x03)
    # time.sleep(0.01) ;
    board.WriteReg(0x04, 0x04)
    # time.sleep(0.01) ;
    board.WriteReg(0x05, 0x05)
    # time.sleep(0.01) ;
    board.WriteReg(0x06, 0x06)
    # time.sleep(0.01) ;
    ....
    ......
    ........
    ........
    .........



    regards,
    Steven
  • Dear Steve
    Thanks for your reply, I got this register setting before and also success to change the white point, but I don't know how to get the R G B LUT value, would you please suggest me tools or API for me to calculate the LUT value ?
    I know this request is not TI's responsibility, if you have similar experience , let me know please.
  • Alex,
    unfortunately, TI has no refer. algorithm on the compensation of white balance. it is dependent on display panel. can you check with panel vendor?


    best rgds,
    Steven